[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [REBASE] xen: patches (against Linux kernel) for supporting efi
On Thu, May 23, 2013 at 6:19 AM, Jan Beulich <JBeulich@xxxxxxxx> wrote: >>>> On 23.05.13 at 12:04, Eric Shelton <eshelton@xxxxxxxxx> wrote: >> 1) The attached code only works on 64-bit systems, due to setting the >> EFI_64BIT in xen_efi_probe(). It looks like a new hypercall is needed >> or an existing hypercall needs to be added to check whether the EFI >> BIOS is 32- or 64-bit (see comment in code). > > This is bogus: For one, Xen only works on 64-bit UEFI. And then, > with the actual runtime calls being done by Xen (after translating > arguments as necessary), a 32-bit kernel can call them as much as > a 64-bit one. An obvious benefit of the intermediate hypercall layer. > > Jan > This does not appear to be entirely correct, although it appears you are describing the intended design. For one, if you look at efi_config_init() in efi.c, a hypercall is used to obtain the address of the config table. However, the table entries have different sizes (see efi_config_table_64_t and efi_config_table_32_t). This affects (1) how much memory is mapped for the config table, and (2) accessing the table entries at the correct addresses. Thus, dom0 has to know whether EFI is 32 or 64 bit for at least this aspect, at least under how XEN_FW_EFI_CONFIG_TABLE is presently implemented. However, as currently implemented, it appears there is a "bogus" hypervisor interface that overlooks this "obvious" issue. This might be corrected by having the hypervisor mediate access to the config table rather than depending on dom0 to directly map and access the config table. Eric _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |