Load BIOS via toolstack instead of been embedded in hvmloader.
Hi all,
I've start to look at loading the BIOS and the ACPI tables via the
toolstack instead of having them embedded in the hvmloader binary. After
this patch series, hvmloader compilation would be indenpendant from SeaBIOS
and OVMF compilation.
Compare to the V1, this is now done via the struct hvm_start_info from
Roger's patch series "Introduce HVM without dm and new boot ABI".
Here is a general view of the few step to load the BIOS:
- libxl load the BIOS blob into it's memory and add it to struct
xc_hvm_build_args.bios_module
- libxc load the blob into the guest memory and fill the struct
hvm_start_info, with a cmdline which would contain the order in which the
modules (bios, acpi_table) are loaded into the modlist.
- hvmloader read the addresses from the hvm_start_info, find out which
module are which by reading the cmdline and copy the blob to the right
place.
Right now, this patch series would only work for SeaBIOS and OVMF. I have
not look into what to do about qemu-xen-traditionnal and rombios.
A git tree can be found here:
git://xenbits.xen.org/people/aperard/xen-unstable.git
tag: hvmloader-with-separated-bios-v2