On Thu, 6 Nov 2014 12:44:04 +0000
Peter Maydell <peter.mayd...@linaro.org> wrote:

> On 5 November 2014 09:58, Claudio Fontana <claudio.font...@huawei.com> wrote:
> > Please correct me if I am wrong, my understanding at the moment is that
> > for X86 there is an ACPI implementation in hw/acpi, with the table 
> > generation
> > happening in hw/i386/acpi-build.c .
> > Couldn't there be some unification where part of the infrastructure for
> > ACPI is reused, with arch-specific code specializing for X86 and ARM?
> > Why are ACPI tables created for X86, but cannot be created likewise for ARM?
> 
> Because then for ARM boards we'd be creating a description of the
> hardware twice, once in device tree and once in ACPI, which seems
> like unnecessary duplication.
> 
> > We need ACPI guest support in QEMU for AArch64 over here, with all features
> > (including the ability to run ACPI code and add specific tables), for
> > ACPI-based guests.
> 
> The plan for providing ACPI to guests is that we run a UEFI BIOS
> blob which is what is responsible for providing ACPI and UEFI
> runtime services to guests which need them. (The UEFI blob finds
> out about its hardware by looking at a device tree that QEMU
> passes it, but that's a detail between QEMU and its bios blob).
> This pretty much looks like what x86 QEMU used to do with ACPI
> for a very long time, so we know it's a feasible approach.
ACPI in BIOS had also led to necessity to
 1. update BIOS and QEMU in lockstep if fix/feature is must to have
 2. adding compatibility hooks so it it would work with mismatched
versions.
 3. never ending expansion of PV QEMU-BIOS interface

That's the reasons why ACPI tables are build by QEMU now, and we
probably should learn on x86 experience instead of going through
the same issues second time.

> 
> thanks
> -- PMM
> 


Reply via email to