[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] HVM firmware passthrough - helper library
On Sep 13, 2013, at 9:28 AM, Ross Philipson <ross.philipson@xxxxxxxxxx> wrote: > On 09/12/2013 03:29 PM, Art Napor wrote: >> Ross, >> >> Did this make it into 4.3? I was going to try it on the 4.2.3 with the >> latest patches. > > No, I don't believe the patches made it into 4.3. > > Ross Hello Art, Ross, The patch[es] mentioned here are to facilitate exposing BIOS SLICs to an HVM, right? I was curious about doing this some time back but never got far enough along to try it. Being able to expose a SLIC through a config file option would be a very slick way to shim Xen in between Windows and system firmware on a VT-d capable laptop, among other things. Just adding in my two cents to show some desire for the feature! Cheers, Andrew Bobulsky >> >> >> ------------------------------------------------------------------------ >> *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 >> <mailto:ross.philipson@xxxxxxxxxx>> >> > *To:* Art Napor <artnapor@xxxxxxxxx <mailto:artnapor@xxxxxxxxx>> >> > *Cc:* "xen-devel@xxxxxxxxxxxxxxxxxxx >> <mailto:xen-devel@xxxxxxxxxxxxxxxxxxx>" <xen-devel@xxxxxxxxxxxxxxxxxxx >> <mailto: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> >> > <mailto:ross.philipson@xxxxxxxxxx <mailto:ross.philipson@xxxxxxxxxx>>> >> > > *To:* Art Napor <artnapor@xxxxxxxxx <mailto:artnapor@xxxxxxxxx> >> <mailto:artnapor@xxxxxxxxx <mailto:artnapor@xxxxxxxxx>>>; >> > "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>>> >> > > *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 <mailto: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>> >> > > <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>>> >> > > > *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>>>> >> > > > *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>>> >> > > > <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>>>>> >> > > > > *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>>> >> > > > <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 >> <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>>> >> > > > <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 >> <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>>> >> > > <mailto: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>>> >> > > <mailto: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>>>> >> > > > <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 <mailto:ross.philipson@xxxxxxxxxx>>>>> >> > > > > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > >> > > >> > > >> > >> > >> > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxx > http://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |