From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ross Philipson Subject: Re: HVM firmware passthrough - helper library Date: Tue, 2 Apr 2013 17:15:28 -0400 Message-ID: <515B4A70.7020603@citrix.com> References: <831D55AF5A11D64C9B4B43F59EEBF720A31FBE1BC0@FTLPMAILBOX02.citrite.net> <1363806237.80975.YahooMailNeo@web161405.mail.bf1.yahoo.com> <514A172D.8050605@citrix.com> <1363894935.85161.YahooMailNeo@web161402.mail.bf1.yahoo.com> <514F6BAC.4010709@citrix.com> <1364359855.76582.YahooMailNeo@web161404.mail.bf1.yahoo.com> <515A0480.5000407@citrix.com> <1364872770.40081.YahooMailNeo@web161406.mail.bf1.yahoo.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1364872770.40081.YahooMailNeo@web161406.mail.bf1.yahoo.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Art Napor Cc: "xen-devel@lists.xensource.com" List-Id: xen-devel@lists.xenproject.org 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 > *To:* Art Napor > *Cc:* "xen-devel@lists.xensource.com" > *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 > > > *To:* Art Napor >; > "xen-devel@lists.xensource.com " > > > > > *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 > > > 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 > > >> > > > *To:* xen-devel@lists.xensource.com > > > > > > > *Cc:* Art Napor > >> > > > *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 > > > > > > >>> > > > > *To:* "xen-devel@lists.xensource.com > > > > > > > > > >>" > > > > > > > > >>> > > > > *Cc:* "Art Napor (artnapor@yahoo.com > > > > > >>)" > > > > > > > > >>> > > > > *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@citrix.com > > > > > >> > > > > > > > >>> > > > > > > > > > > > > > > > > > > > > > > > > > > > >