[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH v4 00/14] Load BIOS via toolstack instead of been embedded in hvmloader.

Hi all,

Few changes in V4:
  I leave the ACPI alone and only load the BIOS via libxl now.

  Detail of changes in each patches.

I've look at loading the BIOS 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
- 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:
tag: hvmloader-with-separated-bios-v4

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>


Anthony PERARD (14):
  libxc: Rework extra module initialisation
  libxc: Prepare a start info structure for hvmloader
  configure: #define SEABIOS_PATH and OVMF_PATH
  firmware/makefile: install BIOS blob ...
  libxl: Load guest BIOS from file
  xen: Move the hvm_start_info C representation from libxc to
  hvmloader: Grab the hvm_start_info pointer
  hvmloader: Locate the BIOS blob
  hvmloader: Check modules whereabouts in perform_tests
  hvmloader: Load SeaBIOS from hvm_start_info modules
  hvmloader: Load OVMF from modules
  hvmloader: Specific bios_load function required
  hvmloader: Always build-in SeaBIOS and OVMF loader
  configure: do not depend on SEABIOS_PATH or OVMF_PATH ...

 docs/man/xl.cfg.pod.5                |   9 +++
 tools/configure.ac                   |  12 +++-
 tools/firmware/Makefile              |  13 ++--
 tools/firmware/hvmloader/Makefile    |  39 +---------
 tools/firmware/hvmloader/config.h    |   2 +-
 tools/firmware/hvmloader/hvmloader.c |  63 ++++++++++++++---
 tools/firmware/hvmloader/ovmf.c      |  33 ++++-----
 tools/firmware/hvmloader/rombios.c   |   3 +-
 tools/firmware/hvmloader/seabios.c   |  24 ++++---
 tools/firmware/hvmloader/tests.c     |  20 ++++++
 tools/firmware/hvmloader/util.h      |   5 ++
 tools/libxc/include/xc_dom.h         |  34 +--------
 tools/libxc/xc_dom_hvmloader.c       | 133 +++++++++++------------------------
 tools/libxc/xc_dom_x86.c             | 132 +++++++++++++++++++++++-----------
 tools/libxl/libxl.h                  |   8 +++
 tools/libxl/libxl_dom.c              |  57 +++++++++++++++
 tools/libxl/libxl_internal.h         |   2 +
 tools/libxl/libxl_paths.c            |  10 +++
 tools/libxl/libxl_types.idl          |   1 +
 tools/libxl/xl_cmdimpl.c             |  11 ++-
 xen/include/public/xen.h             |  33 ++++++++-
 21 files changed, 391 insertions(+), 253 deletions(-)

Anthony PERARD

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.