[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 0/4] acpi: move common parts of the SSDT to the
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH 0/4] acpi: move common parts of the SSDT to the DSDT (and preview of things to come) |
Date: |
Wed, 24 Dec 2014 14:17:32 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 |
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
- [Qemu-devel] [PATCH 0/4] acpi: move common parts of the SSDT to the DSDT (and preview of things to come), Paolo Bonzini, 2014/12/24
- [Qemu-devel] [PATCH 3/4] pc: move common parts of the DSDT to dsdt-common, Paolo Bonzini, 2014/12/24
- [Qemu-devel] [PATCH 1/4] pc: append ssdt-misc.dsl to the DSDT, Paolo Bonzini, 2014/12/24
- [Qemu-devel] [PATCH 4/4] pc: merge DSDT common parts into acpi-dsdt-common.dsl, Paolo Bonzini, 2014/12/24
- [Qemu-devel] [PATCH 5/4] pc: introduce new ACPI table sizing algorithm, Paolo Bonzini, 2014/12/24
- [Qemu-devel] [PATCH 2/4] pc: rename ssdt-misc to dsdt-common, Paolo Bonzini, 2014/12/24
- [Qemu-devel] [PATCH 6/4] pc: clean up pre-2.1 compatibility code, Paolo Bonzini, 2014/12/24
- [Qemu-devel] [PATCH 7/4] pc: go back to smaller ACPI tables, Paolo Bonzini, 2014/12/24
- Re: [Qemu-devel] [PATCH 0/4] acpi: move common parts of the SSDT to the DSDT (and preview of things to come),
Paolo Bonzini <=
- Re: [Qemu-devel] [PATCH 0/4] acpi: move common parts of the SSDT to the DSDT (and preview of things to come), Michael S. Tsirkin, 2014/12/24