From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51855) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y3lor-0004Io-R6 for qemu-devel@nongnu.org; Wed, 24 Dec 2014 08:17:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y3lom-0004fs-O8 for qemu-devel@nongnu.org; Wed, 24 Dec 2014 08:17:41 -0500 Received: from mail-wi0-x232.google.com ([2a00:1450:400c:c05::232]:53820) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y3lom-0004fk-B3 for qemu-devel@nongnu.org; Wed, 24 Dec 2014 08:17:36 -0500 Received: by mail-wi0-f178.google.com with SMTP id em10so13506257wid.11 for ; Wed, 24 Dec 2014 05:17:35 -0800 (PST) Sender: Paolo Bonzini Message-ID: <549ABCEC.6040608@redhat.com> Date: Wed, 24 Dec 2014 14:17:32 +0100 From: Paolo Bonzini MIME-Version: 1.0 References: <1419426766-1593-1-git-send-email-pbonzini@redhat.com> In-Reply-To: <1419426766-1593-1-git-send-email-pbonzini@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 0/4] acpi: move common parts of the SSDT to the DSDT (and preview of things to come) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, Igor Mammedov , "Dr. David Alan Gilbert" , "Michael S. Tsirkin" On 24/12/2014 14:12, Paolo Bonzini wrote: > Right now, the SSDT/DSDT is split in three parts: > > - code that doesn't need patching goes in the DSDT. Furthermore, > code in this category that is shared between PIIX4 and Q35 is > handled via #include. There was one exception, the SMC._STA > method is patched and is in the DSDT. > > - shared code that needs patching goes in the SSDT > > - template-based code that comes from command line arguments > goes in the SSDT as well > > This series changes things to: > > - code that is chipset-specific goes in the DSDT first. > Right now none of this needs patching > > - code that is not chipset-specific, some of which needs > patching, goes in the DSDT second > > - template-based code that comes from command line arguments > goes in the SSDT > > Patch 1 moves ssdt-misc ("common code that needs patching") > to the DSDT. Patches 2-4 stop using the C preprocessor > in the DSDTs. > > Patches 5-7 show why this could be useful. They add padding > in fw_cfg after the DSDT, and in exchange stop padding the ACPI > tables to 128K. This fixes migration problems (ROM sizes, RSDP) > because the ACPI tables are split in two: > > 1) fixed tables and the DSDT can be changed freely; > > 2) tables that vary depending on the command-line arguments (SSDT, > MADT, ...) are versioned and, given a machine type, they have to be > byte-equivalent across QEMU versions >= 2.3. > > Patches 5 and 6 introduce a new sizing algorithm. Patch 7 use it > to fix the migration problems. > > Only the first 4 or 6 patches are meant for inclusion. Patch 7 should > only be committed after Igor's series that rewrites the templating > mechanism in C. That makes it much simpler to track changes to the ACPI > tables, and removes dependencies on the IASL version that could cause > some head-scratching. > > The conflicts with Igor's series are nontrivial but overall > not complicated to solve. Igor rewrote ssdt-misc in C, but those > parts can be easily removed from his series. He has plans to > build the DSDT from C, and if that materializes it can apply to > acpi-dsdt-common.dsl too. Oops, this does not update the bios-tables-test. v2 next week or after New Year. Paolo