[libvirt] [RFC PATCH 1/2] qemu: Advertise ACPI support for aarch64 guests
Laszlo Ersek
lersek at redhat.com
Wed Mar 8 17:57:39 UTC 2017
On 03/08/17 18:12, Daniel P. Berrange wrote:
> On Wed, Mar 08, 2017 at 06:05:02PM +0100, Andrea Bolognani wrote:
>> On Wed, 2017-03-08 at 16:00 +0000, Daniel P. Berrange wrote:
>>>> So far, libvirt has assumed that only x86 supports ACPI,
>>>> but that's inaccurate since aarch64 supports it too.
>>>
>>> IIUC, it only supports ACPI if using the AAVMF firmware, right ?
>>
>> My current understanding is that ACPI on aarch64 requires
>> UEFI, not necessarily AAVMF. I'll admit I haven't really
>> considered other QEMU-compatible UEFI implementations,
>> though, assuming they exist.
>>
>> Laszlo? :)
>>
>>> I know that is the preferred firmware for aarch64, but IIUC it is
>>> not a hard requirement by QEMU. So even if we advertize it in the
>>> capabilities, we might need to still validate during CLI building
>>> that we're actually using AAVMF firmware.
>>
>> We currently require that ACPI is available when using UEFI,
>> even though as mentioned above I believe it should really
>> be the other way around.
>>
>> In any case, how would we validate that the pflash file
>> we're passing to QEMU does indeed contain AAVMF?
>
> I don't think we can, at least not right now.
>
> For the secure boot problem, we previously discussed create a standardized
> metadata file to accompany firmware images, which would declare what QEMU
> features the firmware supported. ACPI could fit into that world.
>
> It is probably time we got serious about actually doing this....
>
> Meanwhile, we can just assume it supports ACPI.
>
> The scenario I was actually thinking of was direct kernel boot,
> rather than non-AAVMF impls of UEFI.
>
> IOW, where you just pass -kernel/-initrd/-dtb to QEMU and no firmware
> file. In that case, we should report an error if <acpi/> is requested
> in the XML IIUC.
Direct kernel boot without UEFI firmware should indeed conflict with
<acpi/>, yes; there's no firmware to install the tables for the kernel.
Direct kernel boot with UEFI firmware should permit <acpi/>. The
firmware starts, does its thing (including installation of ACPI tables),
then grabs the kernel from fw_cfg, and launches it. The kernel will see
the tables.
Thanks
Laszlo
More information about the libvir-list
mailing list