xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 00/04] HVM firmware passthrough
@ 2012-12-20 18:55 Ross Philipson
  2012-12-21 19:45 ` Konrad Rzeszutek Wilk
  2013-01-08 23:26 ` Ross Philipson
  0 siblings, 2 replies; 15+ messages in thread
From: Ross Philipson @ 2012-12-20 18:55 UTC (permalink / raw)
  To: xen-devel@lists.xensource.com

This patch series introduces support of loading external blocks of firmware
into a guest. These blocks can currently contain SMBIOS and/or ACPI firmware
information that is used by HVMLOADER to modify a guests virtual firmware at
startup. These modules are only used by HVMLOADER and are effectively discarded after HVMLOADER has completed.

The domain building code in libxenguest is passed these firmware blocks
in the xc_hvm_build_args structure and loads them into the new guest,
returning the load address. The loading is done in what will become the guests
low RAM area just behind to load location for HVMLOADER. After their use by
HVMLOADER they are effectively discarded. It is the caller's job to load the
base address and length values in xenstore using the paths defined in the new
hvm_defs.h header so HVMLOADER can located the blocks.

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 (for
predefined set of structure types) any passed in structures. If a match is
found the passed in table will be used overriding the default values. In
addition, the SMBIOS code will also enumerate and load any vendor defined
strutures (in the range of types 128 - 255) that as are passed in. See the
hvm_defs.h header for information on the format of this block.
2. ACPI: Static and secondary descriptor 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. See the hvm_defs.h
header for information on the format of this block.

There are 4 patches in the series:
01 - Add HVM definitions header for firmware passthrough support.
02 - Xen control tools support for loading the firmware blocks.
03 - Passthrough support for SMBIOS.
04 - Passthrough support for ACPI.

Note this is version 3 of this patch set. Some of the differences:
 - Generic module support removed, overall functionality was simplified.
 - Use of xenstore to supply firmware passthrough information to HVMLOADER.
 - Fixed issues pointed out in the SMBIOS processing code.
 - Created defines for the SMBIOS handles in use and switched to using
   the xenstore values in the new hvm_defs.h file.

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

(Based on xen-4.3 staging/unstable cs 26317)

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2013-02-12 21:30 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-20 18:55 [PATCH v4 00/04] HVM firmware passthrough Ross Philipson
2012-12-21 19:45 ` Konrad Rzeszutek Wilk
2012-12-21 23:31   ` Ross Philipson
2012-12-22  2:12     ` Konrad Rzeszutek Wilk
2012-12-22 23:46       ` Ross Philipson
2013-01-02 13:25         ` Ian Campbell
2013-01-02 17:26           ` Ross Philipson
2013-01-03 15:35         ` David Vrabel
2013-01-08 23:26 ` Ross Philipson
2013-01-09  0:00   ` Konrad Rzeszutek Will
2013-01-09  0:14     ` Ross Philipson
2013-01-09 14:55       ` Konrad Rzeszutek Wilk
2013-01-09 18:04         ` Ross Philipson
2013-02-12 15:47           ` Ian Jackson
2013-02-12 21:30             ` Ross Philipson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).