Mailing List Archive

[PATCH v3 00/04] HVM firmware passthrough
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.

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
structures (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>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
Re: [PATCH v3 00/04] HVM firmware passthrough [ In reply to ]
I haven't seen any activity on this feature. Is it still planned to be included in Xen 4.3?

- Charles

On Wed, 2012-05-23 at 14:37 +0000, Ross Philipson wrote:
> 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.
>
> 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
> structures (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@xxxxxxxxxx>
>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
Re: [PATCH v3 00/04] HVM firmware passthrough [ In reply to ]
Yea I guess I should follow up on this. I did not manage to get it into 4.2 but I thought it had clearance for 4.3. Do I need to resubmit the patch set?

Thanks
Ross

> -----Original Message-----
> From: Charles Arnold [mailto:carnold@suse.com]
> Sent: Monday, December 10, 2012 12:15 PM
> To: xen-devel
> Cc: Ross Philipson
> Subject: Re: [Xen-devel] [PATCH v3 00/04] HVM firmware passthrough
>
> I haven't seen any activity on this feature. Is it still planned to be
> included in Xen 4.3?
>
> - Charles
>
> On Wed, 2012-05-23 at 14:37 +0000, Ross Philipson wrote:
> > 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.
> >
> > 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 structures (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@xxxxxxxxxx>
> >
>


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
Re: [PATCH v3 00/04] HVM firmware passthrough [ In reply to ]
Yes, you need to re-submit against current xen-unstable tip (which should be
easy since this code doesn't churn very much).

On 11/12/2012 14:11, "Ross Philipson" <Ross.Philipson@citrix.com> wrote:

> Yea I guess I should follow up on this. I did not manage to get it into 4.2
> but I thought it had clearance for 4.3. Do I need to resubmit the patch set?
>
> Thanks
> Ross
>
>> -----Original Message-----
>> From: Charles Arnold [mailto:carnold@suse.com]
>> Sent: Monday, December 10, 2012 12:15 PM
>> To: xen-devel
>> Cc: Ross Philipson
>> Subject: Re: [Xen-devel] [PATCH v3 00/04] HVM firmware passthrough
>>
>> I haven't seen any activity on this feature. Is it still planned to be
>> included in Xen 4.3?
>>
>> - Charles
>>
>> On Wed, 2012-05-23 at 14:37 +0000, Ross Philipson wrote:
>>> 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.
>>>
>>> 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 structures (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@xxxxxxxxxx>
>>>
>>
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
Re: [PATCH v3 00/04] HVM firmware passthrough [ In reply to ]
>>> On 12/11/2012 at 07:11 AM, in message
<831D55AF5A11D64C9B4B43F59EEBF720A31E33E56D@FTLPMAILBOX02.citrite.net>, Ross
Philipson <Ross.Philipson@citrix.com> wrote:
> Yea I guess I should follow up on this. I did not manage to get it into 4.2
> but I thought it had clearance for 4.3. Do I need to resubmit the patch set?

It has been several months since you last submitted.
You probably should resubmit the patches based on the current unstable code base.

- Charles



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
Re: [PATCH v3 00/04] HVM firmware passthrough [ In reply to ]
On Tue, Dec 11, 2012 at 2:11 PM, Ross Philipson
<Ross.Philipson@citrix.com>wrote:

> Yea I guess I should follow up on this. I did not manage to get it into
> 4.2 but I thought it had clearance for 4.3. Do I need to resubmit the patch
> set?
>

In open-source, the standard is for the person doing the submitting to keep
track of if their patch has been applied and remind the list / maintainers
when it seems to have been forgotten. This has the effect of
"distributing" the work of keeping track of patches, so that a little bit
of work is done by each developer, rather than all the work being done by
the maintainers. Much more scalable. :-)

-George


>
> Thanks
> Ross
>
> > -----Original Message-----
> > From: Charles Arnold [mailto:carnold@suse.com]
> > Sent: Monday, December 10, 2012 12:15 PM
> > To: xen-devel
> > Cc: Ross Philipson
> > Subject: Re: [Xen-devel] [PATCH v3 00/04] HVM firmware passthrough
> >
> > I haven't seen any activity on this feature. Is it still planned to be
> > included in Xen 4.3?
> >
> > - Charles
> >
> > On Wed, 2012-05-23 at 14:37 +0000, Ross Philipson wrote:
> > > 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.
> > >
> > > 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 structures (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@xxxxxxxxxx>
> > >
> >
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
>
Re: [PATCH v3 00/04] HVM firmware passthrough [ In reply to ]
> -----Original Message-----
> From: xen-devel-bounces@lists.xen.org [mailto:xen-devel-
> bounces@lists.xen.org] On Behalf Of Charles Arnold
> Sent: Tuesday, December 11, 2012 10:18 AM
> To: Ross Philipson; xen-devel
> Subject: Re: [Xen-devel] [PATCH v3 00/04] HVM firmware passthrough
>
> >>> On 12/11/2012 at 07:11 AM, in message
> <831D55AF5A11D64C9B4B43F59EEBF720A31E33E56D@FTLPMAILBOX02.citrite.net>,
> Ross Philipson <Ross.Philipson@citrix.com> wrote:
> > Yea I guess I should follow up on this. I did not manage to get it
> > into 4.2 but I thought it had clearance for 4.3. Do I need to resubmit
> the patch set?
>
> It has been several months since you last submitted.
> You probably should resubmit the patches based on the current unstable
> code base.

Yea, I will try to get that done ASAP. Also someone was interested in some sample code for fetching SMBIOS/ACPI data for pass-through (Art Napor IIRC). I will send that along.

Thanks
Ross

>
> - Charles
>
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel