On Wed, Jul 2, 2014 at 5:31 AM, Ian Campbell Ian.Campbell@citrix.com wrote:
On Wed, 2014-07-02 at 12:52 +0100, Ian Campbell wrote:
On Sat, 2014-06-28 at 02:25 +0100, Roy Franz wrote:
- Is it valid to start XEN with a device tree that only contains
multi-boot and EFI info? (As would be the case if the stub doesn't get a device tree as input.)
This would be the case when running on an ACPI system I guess? In which case everything which would be in the DT would instead be in the ACPI tables, which is something Naresh is working on I think.
Currently this isn't supported, some libfdt functions are missing, so I'm checking if this is desired before I add that.
Unless this==booting with ACPI I'm not sure what it is and if its ACPI I'm not sure what needs to be done in the stub, could you explain please?
(I have a feeling I'm missing something obvious)
Ah, I think this is from the final patch:
- if ( fdtfile->ptr )
fdt_size = fdt_totalsize(fdtfile->ptr);
- else
- {
/* RFRANZ_TODO - missing fdt_create_empty_tree() in libfdt. */
return NULL;
- }
I don't think we currently support booting with no FDT at all, and even in the ACPI world we would get one. So I think this would be an error. IOW no need to worry about it.
I think that for the ACPI-only case, the EFI stub will be the one responsible for creating the FDT for passing the UEFI/ACPI to the XEN kernel. (I had overlooked the ACPI-only case when considering the no-FDT case - for Linux we support this since a kernel could be configured such that it needs nothing from the FDT other than UEFI stuff, so we need to support it.) So I think we will need this, but only for the ACPI-only case. I'll look at adding the required libfdt file that provides fdt_create_empty_tree() - when I took a quick look it seemed that was in a file by itself. Matching the version of this new file with the existing libfdt may add some complication, but I'll look into it.
Thanks, Roy