Well it is very simple :)
I will show your a example
You have to replace the required ranges in for the 4 "ranges"
1 --------> pci 0000:08:00.0: reg 10 32bit mmio: [0xf8000000-0xf8ffffff]
2 --------> pci 0000:08:00.0: reg 14 64bit mmio pref:
[0xd0000000-0xdfffffff]
3 --------> pci 0000:08:00.0: reg 1c 64bit mmio: [0xf6000000-0xf7ffffff]
4 --------> pci 0000:08:00.0: reg 30 32bit mmio pref:
[0xf5f80000-0xf5ffffff]
I will do it for the number 1
1) You will have replace the required values in
tools/firmware/hvmloader/acpi/dsdt.asl
Search for the words "/* reserve MMIO BARs of gfx for 1:1 mapping */"
in the file
and the first block AFTER need to be change like that
Here the reference is
"pci 0000:08:00.0: reg 10 32bit mmio: [0xf8000000-0xf8ffffff]"
---------------------------------------------------------------------
"/* reserve MMIO BARs of gfx for 1:1 mapping */
DWordMemory(
ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite,
0x00000000,
0xF8000000, // the min value in hexadecimal, I
modify it here
0xF8FFFFFF, // the max value in hexadecimal I midify
it here
0x00000000,
???????????) // value = max - min + 1 in hexadecimal
value, I need to find it
---------------------------------------------------------------------------
You need to convert the min and the max and do the conversion
For hexadecimal/decimal conversions, go to a site like
http://www.statman.info/conversions/hexadecimal.html for doing conversion
For min and max values, you will have (enter the value without "0x" on the
site I told you, feel the field "Convert", click on "to decimal")
Hex Dec
F8000000 4160749568
F8FFFFFF 4177526783
So 4177526783 - 4160749568 +1 = 16777216
So 16777216 is 1000000 in hexadecimal
As a consequence for
pci 0000:08:00.0: reg 10 32bit mmio: [0xf8000000-0xf8ffffff]
you will have
------------------------------------------------------------------------
"/* reserve MMIO BARs of gfx for 1:1 mapping */
DWordMemory(
ResourceProducer, PosDecode, MinFixed, MaxFixed,
Cacheable, ReadWrite,
0x00000000,
0xF8000000, // the min value in hexadecimal
0xF8FFFFFF, // the max value in hexadecimal
0x00000000,
0x01000000) // value = max - min + 1 in hexadecimal
value
----------------------------------------------------------------------------
Do the same steps for
2 --------> pci 0000:08:00.0: reg 14 64bit mmio pref:
[0xd0000000-0xdfffffff]
3 --------> pci 0000:08:00.0: reg 1c 64bit mmio: [0xf6000000-0xf7ffffff]
4 --------> pci 0000:08:00.0: reg 30 32bit mmio pref:
[0xf5f80000-0xf5ffffff]
That's all!
Ensure to put you vgabios-pt.bin in the required place.
Compil and install.
My graphic card GT 440 works like a charm with nvidia 275.33. I've tried you
280.26 nvidia drivers but without any success. This driver version requires
more ressoures.
The GPLPV drivers for HVM works well too!
--
View this message in context:
http://xen.1045712.n5.nabble.com/Patches-for-VGA-Passthrough-XEN-4-2-unstable-tp4406265p4777943.html
Sent from the Xen - Dev mailing list archive at Nabble.com.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|