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

[Xen-devel] [PATCH 00/07] HVM firmware passthrough

This patch series introduces support of loading HVMLOADER extension modules
into a guest. These modules can contain firmware information that is used
by HVMLOADER to modify a guests virtual firmware at startup. These modules
are only used by HVMLOADER.

The HVM module framework is generic allowing it to load any number of 
modules irrespective of the contents. The domain building code in libxenguest
reads the modules and loads them into the new guest. The loading is done in
what will become the guests low RAM area just behind to load location for
HVMLOADER. A header structure is constructed which locates the module set
and this header's base GPA is passed to the HVMLOADER in the ECX:EDX 
registers. The early entry code in HVMLOADER fetches these values and
initializes module support.

Currently two types of firmware information are recognized and processed
in the HVMLOADER though this could be extended.
1. SMBIOS: The SMBIOS table building code will attempt to retrieve a
predefined set of tables it allows to be overridden by passed through
tables. If a match is found the passed in table will be used. In addition
the SMBIOS code will also enumerate and process as many vendor defined
tables (in the range of types 128 - 255) as are passed in.
2. ACPI: Static and code (SSDTs) tables can be added to the set of ACPI
table built by HVMLOADER. The ACPI builder code will enumerate passed in
tables and add them at the end of the secondary table list.

There are 7 patches in the series:
01 - Add public HVM definitions header for firmware module passthrough support.
02 - Add module processing support in HVMLOADER.
03 - Fetch module set base address and initialize module support.
04 - Pass through support for SMBIOS.
05 - Pass through support for ACPI.
06 - Module file reading utility.
07 - Xen control tools support for loading the firmware modules.

Signed-off-by: Ross Philipson <ross.philipson@xxxxxxxxxx>

Xen-devel mailing list



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