[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v3 00/16] Load BIOS via toolstack instead of been embedded in hvmloader.
Hi all, Many changes in V3: no more cmdline, but use each modules' cmdline to provide a name for it. in libxc: - use xc_dom_alloc_segment() to load modules. see patch #1. - avoid duplication of code between PVHv2 and hvmloader for the initialisation of hvm_start_info. in xl/libxl: - only one new option, bios_firmware. acpi_firmware is reused, see patch #6. in hvmloader: - handle rombios as separate case. more detail in each patches. I've 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. 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 and store a name for each module into the module cmdline. - hvmloader read the addresses from the hvm_start_info, find out which module to load and copy the blob to the right place. A git tree can be found here: git://xenbits.xen.org/people/aperard/xen-unstable.git tag: hvmloader-with-separated-bios-v3 Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Cc: Wei Liu <wei.liu2@xxxxxxxxxx> Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Cc: Jan Beulich <jbeulich@xxxxxxxx> Regards, Anthony PERARD (16): libxc: Rework extra module initialisation 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 hvm_start_info pointer hvmloader: Locate the BIOS blob hvmloader: Check modules whereabouts hvmloader: Load SeaBIOS from hvm_start_info modules hvmloader: Load OVMF from modules hvmloader: Specific bios_load function required hvmloader: Load ACPI tables from hvm_start_info module hvmloader: Compile out the qemu-xen ACPI tables hvmloader: Always build-in SeaBIOS and OVMF loader hvmloader: do not depend on SEABIOS_PATH or OVMF_PATH ... .gitignore | 1 + tools/configure.ac | 12 ++- tools/firmware/Makefile | 15 +++- tools/firmware/hvmloader/Makefile | 39 +-------- tools/firmware/hvmloader/acpi/Makefile | 9 ++- tools/firmware/hvmloader/config.h | 4 +- tools/firmware/hvmloader/hvm_start_info.h | 32 ++++++++ tools/firmware/hvmloader/hvmloader.c | 85 ++++++++++++++++--- tools/firmware/hvmloader/ovmf.c | 39 ++++----- tools/firmware/hvmloader/rombios.c | 6 +- tools/firmware/hvmloader/seabios.c | 33 ++++---- tools/firmware/hvmloader/util.h | 2 + tools/libxc/include/xc_dom.h | 4 + tools/libxc/xc_dom_hvmloader.c | 128 ++++++++--------------------- tools/libxc/xc_dom_x86.c | 130 ++++++++++++++++++++---------- tools/libxl/libxl.h | 8 ++ tools/libxl/libxl_dom.c | 83 +++++++++++++++++++ tools/libxl/libxl_internal.h | 2 + tools/libxl/libxl_paths.c | 10 +++ tools/libxl/libxl_types.idl | 1 + tools/libxl/xl_cmdimpl.c | 11 ++- 21 files changed, 415 insertions(+), 239 deletions(-) create mode 100644 tools/firmware/hvmloader/hvm_start_info.h -- Anthony PERARD _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |