Re: [Xen-devel] HVMLite / PVHv2 - using x86 EFI boot entry
From: George Dunlap
Date: Fri Apr 08 2016 - 10:17:20 EST
On 07/04/16 19:51, Luis R. Rodriguez wrote:
> While Andrew's position is right in that perhaps only Xen tools have to deal
> with the HVMLite specific entry, it would also still mean diverging from ARM's
> own EFI entry only position, which I'd like to clarify that ARM has no custom
> Xen entry, we should strive to match that. Anything far from that to me really
> deserves an explanation, specially if we are going to argue that HVMLite is
> the best that x86 Xen can do.
>
> Ultimately unifying entry approaches for Xen in a streamlined fashion seems
> like a sensible thing to strive for. Anything we push in the other direction,
> as small as it can be, should deserve at least a 'hey, wait a minute'...
Quick factual correction here.
"Since ARM guests only use the EFI entry point, x86 guests should also
only use the EFI entry point" is certainly a reasonable argument to make.
However, dom0 on ARM does not use the EFI entry point. When starting
dom0, Xen uses the native entry point (the one that UBoot uses) and
hands dom0 a device-tree node. The reason this is possible on ARM is
that there are no assumptions made about what hardware is or is not
present on the system -- everything that needs to be communicated about
what is or is not present can be passed in DT.
So it is incorrect to say that ARM has an "EFI entry only" position.
(On ACPI systems, it does apparently generate some UEFI informational
tables, which it passes to the dom0 kernel via DT; and the kernel
unpacks and puts in the right place. Normal Xen ARM guests can use EFI,
but that's because we start OVMF in the guest context to provide the EFI
services. These may be where the idea that ARM guests use only the UEFI
entry point came from.)
Obviously it would be nice if we could use the native entry point on x86
as well, but there's decades of legacy hardware and backwards
compatibility to deal with there.
(Julien is a Xen ARM maintainer, he can correct me if I've said
something incorrect.)
-George