From owner-freebsd-acpi@FreeBSD.ORG Thu May 26 19:43:52 2011 Return-Path: Delivered-To: acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1C3A2106564A for ; Thu, 26 May 2011 19:43:52 +0000 (UTC) (envelope-from nate@root.org) Received: from mail.rootlabs.com (rootlabs.com [208.72.84.106]) by mx1.freebsd.org (Postfix) with ESMTP id EFBE18FC18 for ; Thu, 26 May 2011 19:43:51 +0000 (UTC) Received: (Postfix invoked from local network); Thu, 26 May 2011 12:25:20 -0700 (PDT) Message-ID: <4DDEA91F.8080008@root.org> Date: Thu, 26 May 2011 12:25:19 -0700 From: Nate Lawson User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.17) Gecko/20110414 Thunderbird/3.1.10 MIME-Version: 1.0 To: acpi@freebsd.org X-Enigmail-Version: 1.1.1 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: Subject: paper on reverse-engineering drivers X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 May 2011 19:43:52 -0000 This might be a useful source for making ACPI compatible with Windows. http://dslab.epfl.ch/pubs/revnic I had thought of a project like this before. My idea was to take QEMU and map PCI config space and allow direct access to the bare hardware for only one device. The developer would install Windows in this QEMU image on a system with the target device, identify it by its PCI id, and then run Windows normally. The VM would log the driver's accesses to config space as well as use CoW semantics for DMA accesses to memory and IO ports. Now that Intel/AMD support hardware virtualization and DMA isolation, it would be better to do this with a modified Xen hypervisor. -- Nate