From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JDRP2-0003UZ-TK for qemu-devel@nongnu.org; Fri, 11 Jan 2008 16:27:00 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JDRP1-0003UN-G1 for qemu-devel@nongnu.org; Fri, 11 Jan 2008 16:26:59 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JDRP1-0003UK-B0 for qemu-devel@nongnu.org; Fri, 11 Jan 2008 16:26:59 -0500 Received: from kanga.kvack.org ([66.96.29.28]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JDRP0-0002Eg-WE for qemu-devel@nongnu.org; Fri, 11 Jan 2008 16:26:59 -0500 Date: Fri, 11 Jan 2008 19:26:55 -0200 From: Marcelo Tosatti Message-ID: <20080111212655.GA28753@dmt> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Subject: [Qemu-devel] [PATCH] report revision 3 of the ACPI/SMBus PIIX4 controller Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: kvm-devel Cc: qemu-devel@nongnu.org The PIIX4 ACPI controller prior to revision 0x3 contains a bug where reading of the timer port is unreliable, so the kernel reads it three times for consistency check. QEMU does not suffer from that problem :) The datasheet for PIIX4, PIIX4E, and PIIX4M is the same. I failed to find any indication that the revision increase could affect anything other than the PMTimer port read. This reduces idle guest CPU consumption from 14% to 8% on 4-way KVM guest. --- kvm-userspace.orig/qemu/hw/acpi.c +++ kvm-userspace/qemu/hw/acpi.c @@ -486,7 +486,7 @@ i2c_bus *piix4_pm_init(PCIBus *bus, int pci_conf[0x03] = 0x71; pci_conf[0x06] = 0x80; pci_conf[0x07] = 0x02; - pci_conf[0x08] = 0x00; // revision number + pci_conf[0x08] = 0x03; // revision number pci_conf[0x09] = 0x00; pci_conf[0x0a] = 0x80; // other bridge device pci_conf[0x0b] = 0x06; // bridge device