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

Re: [Xen-devel] HVM firmware passthrough - helper library


  • To: Ross Philipson <ross.philipson@xxxxxxxxxx>
  • From: Art Napor <artnapor@xxxxxxxxx>
  • Date: Tue, 23 Apr 2013 15:06:49 -0700 (PDT)
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Wed, 24 Apr 2013 07:56:02 +0000
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:X-Rocket-MIMEInfo:X-Mailer:References:Message-ID:Date:From:Reply-To:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type; b=IfUlX6YshQD+4B+JvbZw1aB81HW2utMzM5LdULbTGfs7g/WwFwsHjD+61EPSj6anMuQQ6/uG+KfmWns0BmaXWbomxCncWdRyYxKitVjw4BGJAVNDtRGUuVrm/DPVetFJa4/c2fssys3dtyENFwJvSsDQsbI3gt9DfkPdT7Nn/PY=;
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>

Could the biospt utility generate the ACPI table file even on systems without OEM/branding tables - /SLIC? I have a kludgy work around to mount overtop of /sys/firmware/acpi/tables/SLIC before running the utility for systems without, but was wondering if the utility could skip over SLIC for systems that don't have this table.




From: Ross Philipson <ross.philipson@xxxxxxxxxx>
To: Art Napor <artnapor@xxxxxxxxx>
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Sent: Tuesday, April 2, 2013 5:15 PM
Subject: Re: HVM firmware passthrough - helper library

On 04/01/2013 11:19 PM, Art Napor wrote:
> Looks like they're where they're supposed to be, but no SLIC.

Right well there is nothing that mandates it be there. It is an OEM
platform license.

>
> ls /sys/firmware/acpi/tables/
> APIC ASF! DSDT dynamic FACP FACS HPET MCFG SSDT1 SSDT2 XMAR
>
> hexdump -C < /sys/firmware/acpi/tables/XMAR
> 00000000 58 4d 41 52 e8 00 00 00 01 f9 49 4e 54 45 4c 20 |XMAR......INTEL |
> 00000010 53 4e 42 20 00 00 00 00 01 00 00 00 49 4e 54 4c |SNB ........INTL|
> 00000020 01 00 00 00 23 01 00 00 00 00 00 00 00 00 00 00 |....#...........|
> 00000030 00 00 18 00 00 00 00 00 00 00 d9 fe 00 00 00 00 |................|
> 00000040 01 08 00 00 00 00 02 00 00 00 58 00 01 00 00 00 |..........X.....|
> 00000050 00 10 d9 fe 00 00 00 00 03 08 00 00 02 f0 1f 00 |................|
> 00000060 04 08 00 00 00 f0 0f 00 04 08 00 00 00 f0 0f 01 |................|
> 00000070 04 08 00 00 00 f0 0f 02 04 08 00 00 00 f0 0f 03 |................|
> 00000080 04 08 00 00 00 f0 0f 04 04 08 00 00 00 f0 0f 05 |................|
> 00000090 04 08 00 00 00 f0 0f 06 04 08 00 00 00 f0 0f 07 |................|
> 000000a0 01 00 28 00 00 00 00 00 00 30 d4 da 00 00 00 00 |..(......0......|
> 000000b0 ff 1f d5 da 00 00 00 00 01 08 00 00 00 00 1d 00 |................|
> 000000c0 01 08 00 00 00 00 1a 00 01 00 20 00 00 00 00 00 |.......... .....|
> 000000d0 00 00 80 db 00 00 00 00 ff ff 9f df 00 00 00 00 |................|
> 000000e0 01 08 00 00 00 00 02 00 |........|
> 000000e8
>
> ------------------------------------------------------------------------
> *From:* Ross Philipson <ross.philipson@xxxxxxxxxx>
> *To:* Art Napor <artnapor@xxxxxxxxx>
> *Cc:* "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
> *Sent:* Monday, April 1, 2013 6:04 PM
> *Subject:* Re: HVM firmware passthrough - helper library
>
> On 03/27/2013 12:50 AM, Art Napor wrote:
>  > Works great with the updated libxl commits - thanks.
>  >
>  > > ./biospt 6
>  > > Make SMBIOS file from FW.
>  > > Fail(1), errno: 2
>  >
>  > Looks like this does require the sysfs-dmi kmod to expose the dmi
>  > structure for the utility to write out the smbios_fw.bin.
>  >
>  > # ./biospt 6
>  > Make SMBIOS file from FW.
>  > Make SMBIOS Xen vendor struct.
>  > Wrote SMBIOS structures file: smbios_fw.bin count: 8
>  > Make ACPI SLIC file from FW.
>  > Fail(3), errno: 2
>  >
>  > Do the ACPI tables require the same exposure via sysfs? Not sure if this
>  > changes from 2.6 to 3.x kernels. The biospt utility can dump the ACPI
>  > tables using the MMAP option, but not via sysfs on a 3.4.32 system.
>
> They are in the same place on my wheezy with 3.2.x kernel. I would be
> pretty surprised if they moved. Can you go in to
> /sys/firmware/acpi/tables and see what's there? Maybe try a hexdump -C <
> SLIC ...
>
>  >
>  >
>  > Thanks,
>  > Art
>  >
>  >
>  > ------------------------------------------------------------------------
>  > *From:* Ross Philipson <ross.philipson@xxxxxxxxxx
> <mailto:ross.philipson@xxxxxxxxxx>>
>  > *To:* Art Napor <artnapor@xxxxxxxxx <mailto:artnapor@xxxxxxxxx>>;
> "xen-devel@xxxxxxxxxxxxxxxxxxx <mailto:xen-devel@xxxxxxxxxxxxxxxxxxx>"
>  > <xen-devel@xxxxxxxxxxxxxxxxxxx <mailto:xen-devel@xxxxxxxxxxxxxxxxxxx>>
>  > *Sent:* Sunday, March 24, 2013 5:10 PM
>  > *Subject:* Re: HVM firmware passthrough - helper library
>  >
>  > On 03/21/2013 03:42 PM, Art Napor wrote:
>  > > Ross,
>  > >
>  > > I rebuilt Xen 4.2.1 with the V5 patch series and the updated helper
>  > > library. The biospt utility built cleanly and runs on Dom0 with the
>  > > aformentioned libraries in place. However, I'm not seeing the SMBIOS
>  > > strings passed through to the DomU (A Centos 5 VM). Options 1 and 3
>  > > using the biostpt utility appear to dump the SMBIOS and ACPI
> tables, but
>  > > I'm not sure how to pass the tables in to the VM?
>  >
>  > Look at the related commits to libxl. After the firmware chunks are
>  > given to libxc to load into the new domain, the addresses are returned
>  > to libxl which writes them to xenstore.
>  >
>  > >
>  > > [root@localhost biospt]# ./biospt
>  > > Usage:
>  > > $ biospt <n>
>  > > 1 - Write some SMBIOS tables using MMAP
>  > > 2 - Write some SMBIOS tables using SYSFS
>  > > 3 - Write some ACPI tables using MMAP
>  > > 4 - Write some ACPI using SYSFS
>  > > 5 - Read and trace DMI files
>  > > 6 - Write out some test files
>  > >
>  > > ./biospt 6
>  > > Make SMBIOS file from FW.
>  > > Fail(1), errno: 2
>  >
>  > This is a rather rough test app for using the library. You should look
>  > closely at the code in it and figure out what it is doing. It does not
>  > have very robust error handling etc.
>  >
>  > Thanks
>  > Ross
>  >
>  > >
>  > >
>  > > -
>  > > Art
>  > >
>  > >
> ------------------------------------------------------------------------
>  > > *From:* Ross Philipson <ross.philipson@xxxxxxxxxx
> <mailto:ross.philipson@xxxxxxxxxx>
>  > <mailto:ross.philipson@xxxxxxxxxx <mailto:ross.philipson@xxxxxxxxxx>>>
>  > > *To:* xen-devel@xxxxxxxxxxxxxxxxxxx
> <mailto:xen-devel@xxxxxxxxxxxxxxxxxxx>
>  > <mailto:xen-devel@xxxxxxxxxxxxxxxxxxx
> <mailto:xen-devel@xxxxxxxxxxxxxxxxxxx>>
>  > > *Cc:* Art Napor <artnapor@xxxxxxxxx <mailto:artnapor@xxxxxxxxx>
> <mailto:artnapor@xxxxxxxxx <mailto:artnapor@xxxxxxxxx>>>
>  > > *Sent:* Wednesday, March 20, 2013 4:08 PM
>  > > *Subject:* Re: HVM firmware passthrough - helper library
>  > >
>  > >
>  > > > Ross,
>  > > >
>  > > > Finally got back to this project to test out the helper lib using
>  > the v3
>  > > > hvm-firmware passthrough patches with Xen 4.2.1. When building from
>  > > > tools/firmware the build failed with the following output:
>  > > >
>  > > > make
>  > > > gcc -Wl,-soname -Wl,libxenhvm.so.1.0 -shared -o libxenhvm.so.1.0.0
>  > > > xenhvm.opic smbios_module.opic acpi_module.opic xh_internal.opic
>  > > >
>  > >
>  >
> /home/ajn131/rpmbuild/SOURCES/xen-4.2.1/tools/firmware/libhvm/../../../tools/xenstore/libxenstore.so
>  > > >
>  > > > xenhvm.opic: could not read symbols: File in wrong format
>  > > > collect2: ld returned 1 exit status
>  > > > make: *** [libxenhvm.so.1.0.0] Error 1
>  > > >
>  > > > I was hoping to integrate the build into the RPM. Any thoughts?
>  > Should I
>  > > > try it with the latest 4.3?
>  > > >
>  > > >
>  > > > Thanks Again,
>  > > >
>  > > > -
>  > > > Art
>  > >
>  > > Art,
>  > >
>  > > Can you try the attached tarball. A colleague found and fixed a couple
>  > > of issues in my sample including the face that it was including in the
>  > > wrong Rules.mk.
>  > >
>  > > Thanks
>  > > Ross
>  > >
>  > > >
>  > ------------------------------------------------------------------------
>  > > > *From:* Ross Philipson <Ross.Philipson@xxxxxxxxxx
> <mailto:Ross.Philipson@xxxxxxxxxx>
>  > <mailto:Ross.Philipson@xxxxxxxxxx <mailto:Ross.Philipson@xxxxxxxxxx>>
>  > > <mailto:Ross.Philipson@xxxxxxxxxx
> <mailto:Ross.Philipson@xxxxxxxxxx> <mailto:Ross.Philipson@xxxxxxxxxx
> <mailto:Ross.Philipson@xxxxxxxxxx>>>>
>  > > > *To:* "xen-devel@xxxxxxxxxxxxxxxxxxx
> <mailto:xen-devel@xxxxxxxxxxxxxxxxxxx>
>  > <mailto:xen-devel@xxxxxxxxxxxxxxxxxxx
> <mailto:xen-devel@xxxxxxxxxxxxxxxxxxx>>
>  > > <mailto:xen-devel@xxxxxxxxxxxxxxxxxxx
> <mailto:xen-devel@xxxxxxxxxxxxxxxxxxx>
>  > <mailto:xen-devel@xxxxxxxxxxxxxxxxxxx
> <mailto:xen-devel@xxxxxxxxxxxxxxxxxxx>>>" <xen-devel@xxxxxxxxxxxxxxxxxxx
> <mailto:xen-devel@xxxxxxxxxxxxxxxxxxx>
>  > <mailto:xen-devel@xxxxxxxxxxxxxxxxxxx
> <mailto:xen-devel@xxxxxxxxxxxxxxxxxxx>>
>  > > <mailto:xen-devel@xxxxxxxxxxxxxxxxxxx
> <mailto:xen-devel@xxxxxxxxxxxxxxxxxxx>
>  > <mailto:xen-devel@xxxxxxxxxxxxxxxxxxx
> <mailto:xen-devel@xxxxxxxxxxxxxxxxxxx>>>>
>  > > > *Cc:* "Art Napor (artnapor@xxxxxxxxx <mailto:artnapor@xxxxxxxxx>
> <mailto:artnapor@xxxxxxxxx <mailto:artnapor@xxxxxxxxx>>
>  > <mailto:artnapor@xxxxxxxxx <mailto:artnapor@xxxxxxxxx>
> <mailto:artnapor@xxxxxxxxx <mailto:artnapor@xxxxxxxxx>>>)"
>  > > <artnapor@xxxxxxxxx <mailto:artnapor@xxxxxxxxx>
> <mailto:artnapor@xxxxxxxxx <mailto:artnapor@xxxxxxxxx>>
>  > <mailto:artnapor@xxxxxxxxx <mailto:artnapor@xxxxxxxxx>
> <mailto:artnapor@xxxxxxxxx <mailto:artnapor@xxxxxxxxx>>>>
>  > > > *Sent:* Tuesday, January 8, 2013 5:04 PM
>  > > > *Subject:* HVM firmware passthrough - helper library
>  > > >
>  > > > Attached is a tarball with a helper library for reading host ACPI and
>  > > > SMBIOS firmware and creating firmware files that can be used with the
>  > > > HVM firmware passthrough patches I submitted. I used it in my
>  > testing of
>  > > > the patches and planned to use it later when we moved to a new Xen
>  > > > version. This library was requested by a few people - I hope you
>  > find it
>  > > > useful.
>  > > >
>  > > > Ross Philipson
>  > > > Senior Software Engineer
>  > > > Citrix Systems, Inc
>  > > > 14 Crosby Drive
>  > > > Bedford, MA 01730
>  > > > 781-301-7949
>  > > > ross.philipson@xxxxxxxxxx <mailto:ross.philipson@xxxxxxxxxx>
> <mailto:ross.philipson@xxxxxxxxxx <mailto:ross.philipson@xxxxxxxxxx>>
>  > <mailto:ross.philipson@xxxxxxxxxx <mailto:ross.philipson@xxxxxxxxxx>
> <mailto:ross.philipson@xxxxxxxxxx <mailto:ross.philipson@xxxxxxxxxx>>>
>  > > <mailto:ross.philipson@xxxxxxxxxx
> <mailto:ross.philipson@xxxxxxxxxx> <mailto:ross.philipson@xxxxxxxxxx
> <mailto:ross.philipson@xxxxxxxxxx>>
>  > <mailto:ross.philipson@xxxxxxxxxx <mailto:ross.philipson@xxxxxxxxxx>
> <mailto:ross.philipson@xxxxxxxxxx <mailto:ross.philipson@xxxxxxxxxx>>>>
>  > > >
>  > >
>  > >
>  > >
>  > >
>  > >
>  >
>  >
>  >
>
>
>



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

 


Rackspace

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