qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 00/14] qemu: generate acpi tables for the gue


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH v3 00/14] qemu: generate acpi tables for the guest
Date: Mon, 29 Jul 2013 10:27:12 -0500
User-agent: Notmuch/0.15.2+202~g0c4b8aa (http://notmuchmail.org) Emacs/23.3.1 (x86_64-pc-linux-gnu)

"Michael S. Tsirkin" <address@hidden> writes:

> This code can also be found here:
> git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git acpi
>
> Please review, and consider for 1.6.

This isn't ready for 1.6 so it's going to have to wait for 1.7.

Regards,

Anthony Liguori

>
> Changes from v2 repost:
> - address comment by Anthony - convert to use APIs implemented
>   using QOM
> - address comment by Anthony - avoid tricky pointer path,
>   use GArray from glib instead
> - Address lots of comments by Hu Tao and Laszlo Ersek
> - rebase to latest bits
>
> Changes from v2:
> - added missing patches to make it actually build
> Changes from v1 RFC:
> - added code to address cross version compatibility
> - rebased to latest bits
> - updated seabios code to latest bits (added pvpanic device)
>
> This patchset moves all generation of ACPI tables
> from guest BIOS to the hypervisor.
>
> Although ACPI tables come from a system BIOS on real hw,
> it makes sense that the ACPI tables are coupled with the
> virtual machine, since they have to abstract the x86 machine to
> the OS's.
>
> This is widely desired as a way to avoid the churn
> and proliferation of QEMU-specific interfaces
> associated with ACPI tables in bios code.
>
> There's a bit of code duplication where we
> already declare similar acpi structures in qemu.
>
> I think it's best to do it in this order: port
> code directly, and apply cleanups and reduce duplication
> that results, on top.
> This way it's much easier to see that we don't introduce
> regressions.
>
> In particular, I booted a guest on qemu with and without the
> change, and verified that ACPI tables are
> unchanged except for trivial pointer address changes.
>
> Such binary compatibility makes it easier to be
> confident that this change won't break things.
>
> Michael S. Tsirkin (14):
>   hw/i386/pc.c: move IO_APIC_DEFAULT_ADDRESS to include/hw/i386/apic.h
>   i386: add ACPI table files from seabios
>   acpi: add rules to compile ASL source
>   acpi: pre-compiled ASL files
>   loader: use file path size from fw_cfg.h
>   i386: add bios linker/loader
>   loader: support for unmapped ROM blobs
>   loader: allow adding ROMs in done callbacks
>   i386: define pc guest info
>   ich9: APIs for pc guest info
>   piix: APIs for pc guest info
>   pvpanic: add API to access io port
>   hpet: add API to find it
>   i386: ACPI table generation code from seabios
>
>  configure                            |    9 +-
>  hw/acpi/ich9.c                       |    6 +
>  hw/acpi/piix4.c                      |   29 +-
>  hw/core/loader.c                     |   40 +-
>  hw/i386/Makefile.objs                |   27 +
>  hw/i386/acpi-build.c                 |  907 +++++
>  hw/i386/acpi-defs.h                  |  327 ++
>  hw/i386/acpi-dsdt-cpu-hotplug.dsl    |   93 +
>  hw/i386/acpi-dsdt-dbug.dsl           |   41 +
>  hw/i386/acpi-dsdt-hpet.dsl           |   51 +
>  hw/i386/acpi-dsdt-isa.dsl            |  117 +
>  hw/i386/acpi-dsdt-pci-crs.dsl        |  105 +
>  hw/i386/acpi-dsdt.dsl                |  343 ++
>  hw/i386/acpi-dsdt.hex.generated      | 4409 ++++++++++++++++++++
>  hw/i386/bios-linker-loader.c         |  156 +
>  hw/i386/pc.c                         |   37 +-
>  hw/i386/pc_piix.c                    |    5 +
>  hw/i386/pc_q35.c                     |    3 +
>  hw/i386/q35-acpi-dsdt.dsl            |  452 +++
>  hw/i386/q35-acpi-dsdt.hex.generated  | 7346 
> ++++++++++++++++++++++++++++++++++
>  hw/i386/ssdt-misc.dsl                |  119 +
>  hw/i386/ssdt-misc.hex.generated      |  190 +
>  hw/i386/ssdt-pcihp.dsl               |   51 +
>  hw/i386/ssdt-pcihp.hex.generated     |  108 +
>  hw/i386/ssdt-proc.dsl                |   63 +
>  hw/i386/ssdt-proc.hex.generated      |  134 +
>  hw/isa/lpc_ich9.c                    |   19 +
>  hw/lm32/lm32_hwsetup.h               |    2 +-
>  hw/mips/mips_malta.c                 |    2 +-
>  hw/misc/pvpanic.c                    |   11 +
>  hw/pci-host/piix.c                   |    8 +
>  hw/pci-host/q35.c                    |   10 +
>  hw/timer/hpet.c                      |    5 +
>  include/hw/acpi/ich9.h               |    2 +
>  include/hw/i386/acpi-build.h         |    9 +
>  include/hw/i386/apic.h               |    2 +
>  include/hw/i386/bios-linker-loader.h |   26 +
>  include/hw/i386/ich9.h               |    3 +
>  include/hw/i386/pc.h                 |   34 +
>  include/hw/loader.h                  |    5 +-
>  include/hw/nvram/fw_cfg.h            |    4 +-
>  include/hw/pci-host/q35.h            |    2 +
>  include/hw/timer/hpet.h              |    2 +
>  include/qemu/typedefs.h              |    2 +
>  scripts/acpi_extract.py              |  362 ++
>  scripts/acpi_extract_preprocess.py   |   51 +
>  scripts/update-acpi.sh               |    4 +
>  vl.c                                 |    3 +
>  48 files changed, 15721 insertions(+), 15 deletions(-)
>  create mode 100644 hw/i386/acpi-build.c
>  create mode 100644 hw/i386/acpi-defs.h
>  create mode 100644 hw/i386/acpi-dsdt-cpu-hotplug.dsl
>  create mode 100644 hw/i386/acpi-dsdt-dbug.dsl
>  create mode 100644 hw/i386/acpi-dsdt-hpet.dsl
>  create mode 100644 hw/i386/acpi-dsdt-isa.dsl
>  create mode 100644 hw/i386/acpi-dsdt-pci-crs.dsl
>  create mode 100644 hw/i386/acpi-dsdt.dsl
>  create mode 100644 hw/i386/acpi-dsdt.hex.generated
>  create mode 100644 hw/i386/bios-linker-loader.c
>  create mode 100644 hw/i386/q35-acpi-dsdt.dsl
>  create mode 100644 hw/i386/q35-acpi-dsdt.hex.generated
>  create mode 100644 hw/i386/ssdt-misc.dsl
>  create mode 100644 hw/i386/ssdt-misc.hex.generated
>  create mode 100644 hw/i386/ssdt-pcihp.dsl
>  create mode 100644 hw/i386/ssdt-pcihp.hex.generated
>  create mode 100644 hw/i386/ssdt-proc.dsl
>  create mode 100644 hw/i386/ssdt-proc.hex.generated
>  create mode 100644 include/hw/i386/acpi-build.h
>  create mode 100644 include/hw/i386/bios-linker-loader.h
>  create mode 100755 scripts/acpi_extract.py
>  create mode 100755 scripts/acpi_extract_preprocess.py
>  create mode 100644 scripts/update-acpi.sh
>
> -- 
> MST



reply via email to

[Prev in Thread] Current Thread [Next in Thread]