- Timestamp:
- Mar 10, 2009 2:46:33 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/PC/vbox.dsl
r17617 r17633 886 886 }) 887 887 888 Name (TOM, ResourceTemplate () // Memory above 4GB (aka high), appended when needed.889 {890 QWORDMemory(891 ResourceProducer, // bit 0 of general flags is 0892 PosDecode, // positive Decode893 MinFixed, // Range is fixed894 MaxFixed, // Range is fixed895 Cacheable,896 ReadWrite,897 0x0000000000000000, // _GRA: Granularity.898 0 /*0x0000000100000000*/, // _MIN: Min address, 4GB.899 0 /*0x00000fffffffffff*/, // _MAX: Max possible address, 16TB.900 0x0000000000000000, // _TRA: Translation901 0x0000000000000000, // _LEN: Range length (calculated dynamically)902 , // ResourceSourceIndex: Optional field left blank903 , // ResourceSource: Optional field left blank904 MEM4 // Name declaration for this descriptor.905 )906 })888 // Name (TOM, ResourceTemplate () // Memory above 4GB (aka high), appended when needed. 889 // { 890 // QWORDMemory( 891 // ResourceProducer, // bit 0 of general flags is 0 892 // PosDecode, // positive Decode 893 // MinFixed, // Range is fixed 894 // MaxFixed, // Range is fixed 895 // Cacheable, 896 // ReadWrite, 897 // 0x0000000000000000, // _GRA: Granularity. 898 // 0 /*0x0000000100000000*/, // _MIN: Min address, 4GB. 899 // 0 /*0x00000fffffffffff*/, // _MAX: Max possible address, 16TB. 900 // 0x0000000000000000, // _TRA: Translation 901 // 0x0000000000000000, // _LEN: Range length (calculated dynamically) 902 // , // ResourceSourceIndex: Optional field left blank 903 // , // ResourceSource: Optional field left blank 904 // MEM4 // Name declaration for this descriptor. 905 // ) 906 // }) 907 907 908 908 Method (_CRS, 0, NotSerialized) … … 910 910 CreateDwordField (CRS, \_SB.PCI0.MEM3._MIN, RAMT) 911 911 CreateDwordField (CRS, \_SB.PCI0.MEM3._LEN, RAMR) 912 CreateQwordField (TOM, \_SB.PCI0.MEM4._LEN, TM4L)913 CreateQwordField (TOM, \_SB.PCI0.MEM4._LEN, TM4N)914 CreateQwordField (TOM, \_SB.PCI0.MEM4._LEN, TM4X)912 // CreateQwordField (TOM, \_SB.PCI0.MEM4._LEN, TM4L) 913 // CreateQwordField (TOM, \_SB.PCI0.MEM4._LEN, TM4N) 914 // CreateQwordField (TOM, \_SB.PCI0.MEM4._LEN, TM4X) 915 915 916 916 Store (MEML, RAMT) 917 917 Subtract (0xffe00000, RAMT, RAMR) 918 918 919 920 {921 //922 // Update the TOM resource template and append it to CRS.923 // This way old < 4GB guest doesn't see anything different.924 // (MEMH is the memory above 4GB specified in 64KB units.)925 //926 // Note: ACPI v2 doesn't do 32-bit integers. IASL may fail on927 // seeing 64-bit constants and the code probably wont work.928 //929 Store (1, TM4N)930 ShiftLeft (TM4N, 32, TM4N)931 932 Store (0x00000fff, TM4X)933 ShiftLeft (TM4X, 32, TM4X)934 Or (TM4X, 0xffffffff, TM4X)935 936 Store (MEMH, TM4L)937 ShiftLeft (TM4L, 16, TM4L)938 939 ConcatenateResTemplate (CRS, TOM, Local2)940 Return (Local2)941 }919 // If (LNotEqual (MEMH, 0x00000000)) 920 // { 921 // // 922 // // Update the TOM resource template and append it to CRS. 923 // // This way old < 4GB guest doesn't see anything different. 924 // // (MEMH is the memory above 4GB specified in 64KB units.) 925 // // 926 // // Note: ACPI v2 doesn't do 32-bit integers. IASL may fail on 927 // // seeing 64-bit constants and the code probably wont work. 928 // // 929 // Store (1, TM4N) 930 // ShiftLeft (TM4N, 32, TM4N) 931 // 932 // Store (0x00000fff, TM4X) 933 // ShiftLeft (TM4X, 32, TM4X) 934 // Or (TM4X, 0xffffffff, TM4X) 935 // 936 // Store (MEMH, TM4L) 937 // ShiftLeft (TM4L, 16, TM4L) 938 // 939 // ConcatenateResTemplate (CRS, TOM, Local2) 940 // Return (Local2) 941 // } 942 942 943 943 Return (CRS)
Note:
See TracChangeset
for help on using the changeset viewer.