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

[Xen-changelog] [xen-unstable] hvmloader: Allocate 3 pages for Intel GPU OpRegion passthrough.


  • To: xen-changelog@xxxxxxxxxxxxxxxxxxx
  • From: Xen patchbot-unstable <patchbot@xxxxxxx>
  • Date: Fri, 11 Jan 2013 03:33:11 +0000
  • Delivery-date: Fri, 11 Jan 2013 03:33:22 +0000
  • List-id: "Change log for Mercurial \(receive only\)" <xen-changelog.lists.xen.org>

# HG changeset patch
# User Keir Fraser <keir@xxxxxxx>
# Date 1357838784 0
# Node ID d912bf7f6d220da455831c671e89375b7e92ee64
# Parent  b9c38bea15b117552ecb51809779c7cfef82dd44
hvmloader: Allocate 3 pages for Intel GPU OpRegion passthrough.

The 8kB region may not be page aligned, hence requiring 3 pages to
be mapped through.

Signed-off-by: Keir Fraser <keir@xxxxxxx>
---


diff -r b9c38bea15b1 -r d912bf7f6d22 tools/firmware/hvmloader/config.h
--- a/tools/firmware/hvmloader/config.h Thu Jan 10 17:18:43 2013 +0000
+++ b/tools/firmware/hvmloader/config.h Thu Jan 10 17:26:24 2013 +0000
@@ -5,7 +5,9 @@
 
 enum virtual_vga { VGA_none, VGA_std, VGA_cirrus, VGA_pt };
 extern enum virtual_vga virtual_vga;
+
 extern unsigned long igd_opregion_pgbase;
+#define IGD_OPREGION_PAGES 3
 
 struct bios_config {
     const char *name;
diff -r b9c38bea15b1 -r d912bf7f6d22 tools/firmware/hvmloader/e820.c
--- a/tools/firmware/hvmloader/e820.c   Thu Jan 10 17:18:43 2013 +0000
+++ b/tools/firmware/hvmloader/e820.c   Thu Jan 10 17:26:24 2013 +0000
@@ -142,11 +142,11 @@ int build_e820_table(struct e820entry *e
         nr++;
 
         e820[nr].addr = igd_opregion_base;
-        e820[nr].size = 2 * PAGE_SIZE;
+        e820[nr].size = IGD_OPREGION_PAGES * PAGE_SIZE;
         e820[nr].type = E820_NVS;
         nr++;
 
-        e820[nr].addr = igd_opregion_base + 2 * PAGE_SIZE;
+        e820[nr].addr = igd_opregion_base + IGD_OPREGION_PAGES * PAGE_SIZE;
         e820[nr].size = (uint32_t)-e820[nr].addr;
         e820[nr].type = E820_RESERVED;
         nr++;
diff -r b9c38bea15b1 -r d912bf7f6d22 tools/firmware/hvmloader/pci.c
--- a/tools/firmware/hvmloader/pci.c    Thu Jan 10 17:18:43 2013 +0000
+++ b/tools/firmware/hvmloader/pci.c    Thu Jan 10 17:26:24 2013 +0000
@@ -104,7 +104,7 @@ void pci_setup(void)
                 virtual_vga = VGA_pt;
                 if ( vendor_id == 0x8086 )
                 {
-                    igd_opregion_pgbase = mem_hole_alloc(2);
+                    igd_opregion_pgbase = mem_hole_alloc(IGD_OPREGION_PAGES);
                     /*
                      * Write the the OpRegion offset to give the opregion
                      * address to the device model. The device model will trap 

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

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