[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [RFC PATCH v2 00/16] 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 Regards, Anthony PERARD (16): hvmloader: Fix scratch_alloc to avoid overlaps libxc: Load BIOS and ACPI table into guest memory configure: #define SEABIOS_PATH and OVMF_PATH firmware/makefile: install BIOS and ACPI blob ... libxl: Load guest BIOS from file libxl: Load guest ACPI table from file hvmloader: Grab the hvmlite info page and parse the cmdline hvmloader: Locate the BIOS blob hvmloader: Load SeaBIOS from hvm_start_info modules ... hvmloader: Load OVMF from modules hvmloader: No BIOS ROM image allowed to be compiled in hvmloader: Load ACPI tables from hvm_start_info module hvmloader/makefile: Compile out SeaBIOS and OVMF ROM blob hvmloader: Always build-in SeaBIOS and OVMF loader hvmloader: Compile out the qemu-xen ACPI tables hvmloader: do not depend on SEABIOS_PATH or OVMF_PATH ... .gitignore | 1 + tools/configure.ac | 12 +++- tools/firmware/Makefile | 15 ++-- tools/firmware/hvmloader/Makefile | 32 --------- tools/firmware/hvmloader/acpi/Makefile | 8 ++- tools/firmware/hvmloader/config.h | 11 +-- tools/firmware/hvmloader/hvmloader.c | 127 ++++++++++++++++++++++++++++----- tools/firmware/hvmloader/ovmf.c | 34 ++++----- tools/firmware/hvmloader/seabios.c | 33 ++++----- tools/firmware/hvmloader/util.c | 2 +- tools/libxc/include/xc_dom.h | 4 ++ tools/libxc/xc_dom_hvmloader.c | 44 +++++++++--- tools/libxc/xc_dom_x86.c | 90 +++++++++++++++++++++++ tools/libxl/libxl_dom.c | 83 +++++++++++++++++++++ tools/libxl/libxl_types.idl | 2 + tools/libxl/xl_cmdimpl.c | 14 +++- 16 files changed, 394 insertions(+), 118 deletions(-) -- Anthony PERARD _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |