[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v5 00/20] Generate ACPI v5.1 tables and expose t
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [PATCH v5 00/20] Generate ACPI v5.1 tables and expose them to guest over fw_cfg on ARM |
Date: |
Tue, 28 Apr 2015 08:56:20 +0200 |
On Tue, Apr 28, 2015 at 02:13:29PM +0800, Shannon Zhao wrote:
> On 2015/4/28 13:20, Michael S. Tsirkin wrote:
> > On Tue, Apr 28, 2015 at 10:49:42AM +0800, Shannon Zhao wrote:
> >> On 2015/4/15 21:24, Shannon Zhao wrote:
> >>> From: Shannon Zhao <address@hidden>
> >>>
> >>> This patch series generate seven ACPI tables for machine virt on ARM.
> >>> The set of generated tables are:
> >>> - RSDP
> >>> - RSDT
> >>> - MADT
> >>> - GTDT
> >>> - FADT
> >>> - DSDT
> >>> - MCFG (For PCIe host bridge)
> >>>
> >>> These tables are created dynamically using the function of aml-build.c,
> >>> taking into account the needed information passed from the virt machine
> >>> model.
> >>> When the generation is finalized, it use fw_cfg to expose the tables to
> >>> guest.
> >>>
> >>> You can fetch this from following repo:
> >>> http://git.linaro.org/people/shannon.zhao/qemu.git ACPI_ARM_v5
> >>>
> >>> And this patchset refers to Alexander Spyridakis's patches which are sent
> >>> to
> >>> qemu-devel mailing list before.
> >>> http://lists.gnu.org/archive/html/qemu-devel/2014-10/msg03987.html
> >>>
> >>> Thanks to Laszlo's work on UEFI (ArmVirtualizationQemu) supporting
> >>> downloading
> >>> ACPI tables over fw_cfg, we now can use ACPI in VM. I have done following
> >>> vm
> >>> startup test and attach virtio-net-pci, e1000:
> >>>
> >>> xp, windows2008, sles11 on X86
> >>> Fedora Linux kernel on ARM64
> >>>
> >>> Note:
> >>> As upstream kernel doesn't support ACPI PCI host bridge on ARM64, so I
> >>> use the
> >>> Fedora Linux kernel from following address:
> >>> https://git.fedorahosted.org/cgit/kernel-arm64.git/log/?h=devel
> >>>
> >>> changes since v4:
> >>> * use trace_* instead of DPRINTF (Igor & Alex)
> >>> * use standard QEMU style for structs (Michael)
> >>> * add "-no-acpi" option support for arm
> >>> * use extractNN for bits operation (Alex)
> >>> * use AmlReadAndWrite enum for rw flags (Igor)
> >>> * s/uint64_t/uint32_t/ (Igor)
> >>> * use enum for interrupt flag (Igor)
> >>> * simplify aml_device use in DSDT (Alex)
> >>> * share RSDT table generating code with x86 (Igor)
> >>> * remove unnecessary 1 in MCFG table generating code (Alex & Peter)
> >>> * use string for ToUUID macro (Igor)
> >>> * aml_or and aml_and use two args (Igor)
> >>> * add comments on UUID (Michael)
> >>> * change PCI MMIO region non-cacheable (Peter)
> >>> * fix wrong io map (Peter)
> >>> * add several reviewed-by's from Alex, thanks
> >>>
> >>> changes since v3:
> >>> * rebase on upstream qemu
> >>> * fix _HID of CPU (Heyi Guo)
> >>> * Add PCIe host bridge
> >>>
> >>> changes since v2:
> >>> * rebase on Igor Mammedov's new branch ASL_API_v3
> >>> * use rsdt instead of xsdt according to Igor Mammedov's suggestion
> >>>
> >>> changes since v1:
> >>> * fix bug found by Laszlo
> >>> * move common helpers into dedictated file and change generating
> >>> table order according to Igor's comments
> >>> * fix copyright and function name according to Michael's comments
> >>>
> >>> Shannon Zhao (20):
> >>> hw/i386: Move ACPI header definitions in an arch-independent location
> >>> hw/i386/acpi-build: move generic acpi building helpers into dedictated
> >>> file
> >>> hw/arm/virt-acpi-build: Basic framework for building ACPI tables on
> >>> ARM
> >>> hw/acpi/aml-build: Add aml_memory32_fixed() term
> >>> hw/acpi/aml-build: Add aml_interrupt() term
> >>> hw/arm/virt-acpi-build: Generation of DSDT table for virt devices
> >>> hw/arm/virt-acpi-build: Generate FADT table and update ACPI headers
> >>> hw/arm/virt-acpi-build: Generate MADT table
> >>> hw/arm/virt-acpi-build: Generate GTDT table
> >>> hw/arm/virt-acpi-build: Generate RSDT table
> >>> hw/arm/virt-acpi-build: Generate RSDP table
> >>> hw/arm/virt-acpi-build: Add PCIe info and generate MCFG table
> >>> hw/acpi/aml-build: Add ToUUID macro
> >>> hw/acpi/aml-build: Add aml_or() term
> >>> hw/acpi/aml-build: Add aml_not() term
> >>> hw/acpi/aml-build: Add aml_else() term
> >>> hw/acpi/aml-build: Add aml_create_dword_field() term
> >>> hw/acpi/aml-build: Add aml_dword_io() term
> >>> hw/arm/virt-acpi-build: Add PCIe controller in ACPI DSDT table
> >>> hw/arm/virt: Enable dynamic generation of ACPI v5.1 tables
> >>>
> >>> default-configs/arm-softmmu.mak | 1 +
> >>> default-configs/i386-softmmu.mak | 3 +
> >>> default-configs/mips-softmmu.mak | 3 +
> >>> default-configs/mips64-softmmu.mak | 3 +
> >>> default-configs/mips64el-softmmu.mak | 3 +
> >>> default-configs/mipsel-softmmu.mak | 3 +
> >>> default-configs/x86_64-softmmu.mak | 3 +
> >>> hw/acpi/Makefile.objs | 5 +-
> >>> hw/acpi/aml-build.c | 234 ++++++++++++-
> >>> hw/arm/Makefile.objs | 1 +
> >>> hw/arm/virt-acpi-build.c | 650
> >>> +++++++++++++++++++++++++++++++++++
> >>> hw/arm/virt.c | 78 ++++-
> >>> hw/i2c/Makefile.objs | 2 +-
> >>> hw/i386/acpi-build.c | 103 +-----
> >>> hw/i386/acpi-defs.h | 368 --------------------
> >>> include/hw/acpi/acpi-defs.h | 482 ++++++++++++++++++++++++++
> >>> include/hw/acpi/aml-build.h | 94 +++++
> >>> include/hw/arm/virt-acpi-build.h | 81 +++++
> >>> qemu-options.hx | 2 +-
> >>> tests/bios-tables-test.c | 2 +-
> >>> trace-events | 3 +
> >>> 21 files changed, 1641 insertions(+), 483 deletions(-)
> >>> create mode 100644 hw/arm/virt-acpi-build.c
> >>> delete mode 100644 hw/i386/acpi-defs.h
> >>> create mode 100644 include/hw/acpi/acpi-defs.h
> >>> create mode 100644 include/hw/arm/virt-acpi-build.h
> >>>
> >>
> >> Ping?
> >
> > I merged first 2 patches in my tree, plan to send pull request soon.
> >
>
> Michael, Thanks.
> BTW, in your opinion whoes tree could the other patches be merged through?
Peter's ARM tree.
> --
> Thanks,
> Shannon
- [Qemu-devel] [PATCH v5 17/20] hw/acpi/aml-build: Add aml_create_dword_field() term, (continued)
- [Qemu-devel] [PATCH v5 17/20] hw/acpi/aml-build: Add aml_create_dword_field() term, Shannon Zhao, 2015/04/15
- [Qemu-devel] [PATCH v5 01/20] hw/i386: Move ACPI header definitions in an arch-independent location, Shannon Zhao, 2015/04/15
- [Qemu-devel] [PATCH v5 04/20] hw/acpi/aml-build: Add aml_memory32_fixed() term, Shannon Zhao, 2015/04/15
- [Qemu-devel] [PATCH v5 03/20] hw/arm/virt-acpi-build: Basic framework for building ACPI tables on ARM, Shannon Zhao, 2015/04/15
- [Qemu-devel] [PATCH v5 05/20] hw/acpi/aml-build: Add aml_interrupt() term, Shannon Zhao, 2015/04/15
- [Qemu-devel] [PATCH v5 06/20] hw/arm/virt-acpi-build: Generation of DSDT table for virt devices, Shannon Zhao, 2015/04/15
- [Qemu-devel] [PATCH v5 02/20] hw/i386/acpi-build: move generic acpi building helpers into dedictated file, Shannon Zhao, 2015/04/15
- Re: [Qemu-devel] [PATCH v5 00/20] Generate ACPI v5.1 tables and expose them to guest over fw_cfg on ARM, Shannon Zhao, 2015/04/27