Skip to content

Instantly share code, notes, and snippets.

@rbradford
Created August 9, 2019 12:22
Show Gist options
  • Save rbradford/6bc53d2ea1e955c3dfd34f9029c2674f to your computer and use it in GitHub Desktop.
Save rbradford/6bc53d2ea1e955c3dfd34f9029c2674f to your computer and use it in GitHub Desktop.
NEMU HW reduced tables
apic.dat dsdt.dat dump.out facp.dsl mcfg.dsl srat.dsl
apic.dsl dsdt.dsl facp.dat mcfg.dat srat.dat
cloud@cloud:~$ cat *.dsl
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20160108-64
* Copyright (c) 2000 - 2016 Intel Corporation
*
* Disassembly of apic.dat, Fri Aug 9 12:18:33 2019
*
* ACPI Data Table [APIC]
*
* Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue
*/
[000h 0000 4] Signature : "APIC" [Multiple APIC Description Table (MADT)]
[004h 0004 4] Table Length : 00000080
[008h 0008 1] Revision : 01
[009h 0009 1] Checksum : DA
[00Ah 0010 6] Oem ID : "BOCHS "
[010h 0016 8] Oem Table ID : "BXPCAPIC"
[018h 0024 4] Oem Revision : 00000001
[01Ch 0028 4] Asl Compiler ID : "BXPC"
[020h 0032 4] Asl Compiler Revision : 00000001
[024h 0036 4] Local Apic Address : FEE00000
[028h 0040 4] Flags (decoded below) : 00000001
PC-AT Compatibility : 1
[02Ch 0044 1] Subtable Type : 00 [Processor Local APIC]
[02Dh 0045 1] Length : 08
[02Eh 0046 1] Processor ID : 00
[02Fh 0047 1] Local Apic ID : 00
[030h 0048 4] Flags (decoded below) : 00000001
Processor Enabled : 1
[034h 0052 1] Subtable Type : 00 [Processor Local APIC]
[035h 0053 1] Length : 08
[036h 0054 1] Processor ID : 01
[037h 0055 1] Local Apic ID : 01
[038h 0056 4] Flags (decoded below) : 00000001
Processor Enabled : 1
[03Ch 0060 1] Subtable Type : 01 [I/O APIC]
[03Dh 0061 1] Length : 0C
[03Eh 0062 1] I/O Apic ID : 00
[03Fh 0063 1] Reserved : 00
[040h 0064 4] Address : FEC00000
[044h 0068 4] Interrupt : 00000000
[048h 0072 1] Subtable Type : 02 [Interrupt Source Override]
[049h 0073 1] Length : 0A
[04Ah 0074 1] Bus : 00
[04Bh 0075 1] Source : 00
[04Ch 0076 4] Interrupt : 00000002
[050h 0080 2] Flags (decoded below) : 0000
Polarity : 0
Trigger Mode : 0
[052h 0082 1] Subtable Type : 02 [Interrupt Source Override]
[053h 0083 1] Length : 0A
[054h 0084 1] Bus : 00
[055h 0085 1] Source : 05
[056h 0086 4] Interrupt : 00000005
[05Ah 0090 2] Flags (decoded below) : 000D
Polarity : 1
Trigger Mode : 3
[05Ch 0092 1] Subtable Type : 02 [Interrupt Source Override]
[05Dh 0093 1] Length : 0A
[05Eh 0094 1] Bus : 00
[05Fh 0095 1] Source : 09
[060h 0096 4] Interrupt : 00000009
[064h 0100 2] Flags (decoded below) : 000D
Polarity : 1
Trigger Mode : 3
[066h 0102 1] Subtable Type : 02 [Interrupt Source Override]
[067h 0103 1] Length : 0A
[068h 0104 1] Bus : 00
[069h 0105 1] Source : 0A
[06Ah 0106 4] Interrupt : 0000000A
[06Eh 0110 2] Flags (decoded below) : 000D
Polarity : 1
Trigger Mode : 3
[070h 0112 1] Subtable Type : 02 [Interrupt Source Override]
[071h 0113 1] Length : 0A
[072h 0114 1] Bus : 00
[073h 0115 1] Source : 0B
[074h 0116 4] Interrupt : 0000000B
[078h 0120 2] Flags (decoded below) : 000D
Polarity : 1
Trigger Mode : 3
[07Ah 0122 1] Subtable Type : 04 [Local APIC NMI]
[07Bh 0123 1] Length : 06
[07Ch 0124 1] Processor ID : FF
[07Dh 0125 2] Flags (decoded below) : 0000
Polarity : 0
Trigger Mode : 0
[07Fh 0127 1] Interrupt Input LINT : 01
Raw Table Data: Length 128 (0x80)
0000: 41 50 49 43 80 00 00 00 01 DA 42 4F 43 48 53 20 // APIC......BOCHS
0010: 42 58 50 43 41 50 49 43 01 00 00 00 42 58 50 43 // BXPCAPIC....BXPC
0020: 01 00 00 00 00 00 E0 FE 01 00 00 00 00 08 00 00 // ................
0030: 01 00 00 00 00 08 01 01 01 00 00 00 01 0C 00 00 // ................
0040: 00 00 C0 FE 00 00 00 00 02 0A 00 00 02 00 00 00 // ................
0050: 00 00 02 0A 00 05 05 00 00 00 0D 00 02 0A 00 09 // ................
0060: 09 00 00 00 0D 00 02 0A 00 0A 0A 00 00 00 0D 00 // ................
0070: 02 0A 00 0B 0B 00 00 00 0D 00 04 06 FF 00 00 01 // ................
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20160108-64
* Copyright (c) 2000 - 2016 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of dsdt.dat, Fri Aug 9 12:18:33 2019
*
* Original Table Header:
* Signature "DSDT"
* Length 0x00001373 (4979)
* Revision 0x02
* Checksum 0x89
* OEM ID "BOCHS "
* OEM Table ID "BXPCDSDT"
* OEM Revision 0x00000001 (1)
* Compiler ID "BXPC"
* Compiler Version 0x00000001 (1)
*/
DefinitionBlock ("dsdt.aml", "DSDT", 2, "BOCHS ", "BXPCDSDT", 0x00000001)
{
External (_SB_.NVDR, UnknownObj)
Device (\_SB.PCI0)
{
Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID
Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID
Name (_ADR, Zero) // _ADR: Address
Name (_SEG, Zero) // _SEG: PCI Segment
Name (_UID, Zero) // _UID: Unique ID
Name (SUPP, Zero)
Name (CTRL, Zero)
Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
{
CreateDWordField (Arg3, Zero, CDW1)
If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */))
{
CreateDWordField (Arg3, 0x04, CDW2)
CreateDWordField (Arg3, 0x08, CDW3)
SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */
CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */
CTRL = (CTRL & 0x1F)
If ((Arg1 != One))
{
CDW1 = (CDW1 | 0x08)
}
If ((CDW3 != CTRL))
{
CDW1 = (CDW1 | 0x10)
}
CDW3 = CTRL /* \_SB_.PCI0.CTRL */
Return (Arg3)
}
Else
{
CDW1 = (CDW1 | 0x04)
Return (Arg3)
}
}
}
Scope (\_SB.PCI0)
{
OperationRegion (PCST, SystemIO, 0xAE00, 0x08)
Field (PCST, DWordAcc, NoLock, WriteAsZeros)
{
PCIU, 32,
PCID, 32
}
OperationRegion (SEJ, SystemIO, 0xAE08, 0x04)
Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
{
B0EJ, 32
}
OperationRegion (BNMR, SystemIO, 0xAE10, 0x04)
Field (BNMR, DWordAcc, NoLock, WriteAsZeros)
{
BNUM, 16
}
Mutex (BLCK, 0x00)
Method (PCEJ, 2, NotSerialized)
{
Acquire (BLCK, 0xFFFF)
BNUM = Arg0
B0EJ = (One << Arg1)
Release (BLCK)
Return (Zero)
}
Name (BSEL, Zero)
Device (S00)
{
Name (_ADR, Zero) // _ADR: Address
}
Device (S08)
{
Name (_ADR, 0x00010000) // _ADR: Address
Name (_SUN, One) // _SUN: Slot User Number
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (S10)
{
Name (_ADR, 0x00020000) // _ADR: Address
Name (_SUN, 0x02) // _SUN: Slot User Number
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (S18)
{
Name (_ADR, 0x00030000) // _ADR: Address
Name (_SUN, 0x03) // _SUN: Slot User Number
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (S20)
{
Name (_ADR, 0x00040000) // _ADR: Address
Name (_SUN, 0x04) // _SUN: Slot User Number
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (S28)
{
Name (_SUN, 0x05) // _SUN: Slot User Number
Name (_ADR, 0x00050000) // _ADR: Address
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (S30)
{
Name (_SUN, 0x06) // _SUN: Slot User Number
Name (_ADR, 0x00060000) // _ADR: Address
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (S38)
{
Name (_SUN, 0x07) // _SUN: Slot User Number
Name (_ADR, 0x00070000) // _ADR: Address
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (S40)
{
Name (_SUN, 0x08) // _SUN: Slot User Number
Name (_ADR, 0x00080000) // _ADR: Address
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (S48)
{
Name (_SUN, 0x09) // _SUN: Slot User Number
Name (_ADR, 0x00090000) // _ADR: Address
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (S50)
{
Name (_SUN, 0x0A) // _SUN: Slot User Number
Name (_ADR, 0x000A0000) // _ADR: Address
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (S58)
{
Name (_SUN, 0x0B) // _SUN: Slot User Number
Name (_ADR, 0x000B0000) // _ADR: Address
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (S60)
{
Name (_SUN, 0x0C) // _SUN: Slot User Number
Name (_ADR, 0x000C0000) // _ADR: Address
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (S68)
{
Name (_SUN, 0x0D) // _SUN: Slot User Number
Name (_ADR, 0x000D0000) // _ADR: Address
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (S70)
{
Name (_SUN, 0x0E) // _SUN: Slot User Number
Name (_ADR, 0x000E0000) // _ADR: Address
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (S78)
{
Name (_SUN, 0x0F) // _SUN: Slot User Number
Name (_ADR, 0x000F0000) // _ADR: Address
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (S80)
{
Name (_SUN, 0x10) // _SUN: Slot User Number
Name (_ADR, 0x00100000) // _ADR: Address
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (S88)
{
Name (_SUN, 0x11) // _SUN: Slot User Number
Name (_ADR, 0x00110000) // _ADR: Address
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (S90)
{
Name (_SUN, 0x12) // _SUN: Slot User Number
Name (_ADR, 0x00120000) // _ADR: Address
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (S98)
{
Name (_SUN, 0x13) // _SUN: Slot User Number
Name (_ADR, 0x00130000) // _ADR: Address
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (SA0)
{
Name (_SUN, 0x14) // _SUN: Slot User Number
Name (_ADR, 0x00140000) // _ADR: Address
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (SA8)
{
Name (_SUN, 0x15) // _SUN: Slot User Number
Name (_ADR, 0x00150000) // _ADR: Address
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (SB0)
{
Name (_SUN, 0x16) // _SUN: Slot User Number
Name (_ADR, 0x00160000) // _ADR: Address
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (SB8)
{
Name (_SUN, 0x17) // _SUN: Slot User Number
Name (_ADR, 0x00170000) // _ADR: Address
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (SC0)
{
Name (_SUN, 0x18) // _SUN: Slot User Number
Name (_ADR, 0x00180000) // _ADR: Address
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (SC8)
{
Name (_SUN, 0x19) // _SUN: Slot User Number
Name (_ADR, 0x00190000) // _ADR: Address
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (SD0)
{
Name (_SUN, 0x1A) // _SUN: Slot User Number
Name (_ADR, 0x001A0000) // _ADR: Address
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (SD8)
{
Name (_SUN, 0x1B) // _SUN: Slot User Number
Name (_ADR, 0x001B0000) // _ADR: Address
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (SE0)
{
Name (_SUN, 0x1C) // _SUN: Slot User Number
Name (_ADR, 0x001C0000) // _ADR: Address
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (SE8)
{
Name (_SUN, 0x1D) // _SUN: Slot User Number
Name (_ADR, 0x001D0000) // _ADR: Address
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (SF0)
{
Name (_SUN, 0x1E) // _SUN: Slot User Number
Name (_ADR, 0x001E0000) // _ADR: Address
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Device (SF8)
{
Name (_SUN, 0x1F) // _SUN: Slot User Number
Name (_ADR, 0x001F0000) // _ADR: Address
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
PCEJ (BSEL, _SUN)
}
}
Method (DVNT, 2, NotSerialized)
{
If ((Arg0 & 0x02))
{
Notify (S08, Arg1)
}
If ((Arg0 & 0x04))
{
Notify (S10, Arg1)
}
If ((Arg0 & 0x08))
{
Notify (S18, Arg1)
}
If ((Arg0 & 0x10))
{
Notify (S20, Arg1)
}
If ((Arg0 & 0x20))
{
Notify (S28, Arg1)
}
If ((Arg0 & 0x40))
{
Notify (S30, Arg1)
}
If ((Arg0 & 0x80))
{
Notify (S38, Arg1)
}
If ((Arg0 & 0x0100))
{
Notify (S40, Arg1)
}
If ((Arg0 & 0x0200))
{
Notify (S48, Arg1)
}
If ((Arg0 & 0x0400))
{
Notify (S50, Arg1)
}
If ((Arg0 & 0x0800))
{
Notify (S58, Arg1)
}
If ((Arg0 & 0x1000))
{
Notify (S60, Arg1)
}
If ((Arg0 & 0x2000))
{
Notify (S68, Arg1)
}
If ((Arg0 & 0x4000))
{
Notify (S70, Arg1)
}
If ((Arg0 & 0x8000))
{
Notify (S78, Arg1)
}
If ((Arg0 & 0x00010000))
{
Notify (S80, Arg1)
}
If ((Arg0 & 0x00020000))
{
Notify (S88, Arg1)
}
If ((Arg0 & 0x00040000))
{
Notify (S90, Arg1)
}
If ((Arg0 & 0x00080000))
{
Notify (S98, Arg1)
}
If ((Arg0 & 0x00100000))
{
Notify (SA0, Arg1)
}
If ((Arg0 & 0x00200000))
{
Notify (SA8, Arg1)
}
If ((Arg0 & 0x00400000))
{
Notify (SB0, Arg1)
}
If ((Arg0 & 0x00800000))
{
Notify (SB8, Arg1)
}
If ((Arg0 & 0x01000000))
{
Notify (SC0, Arg1)
}
If ((Arg0 & 0x02000000))
{
Notify (SC8, Arg1)
}
If ((Arg0 & 0x04000000))
{
Notify (SD0, Arg1)
}
If ((Arg0 & 0x08000000))
{
Notify (SD8, Arg1)
}
If ((Arg0 & 0x10000000))
{
Notify (SE0, Arg1)
}
If ((Arg0 & 0x20000000))
{
Notify (SE8, Arg1)
}
If ((Arg0 & 0x40000000))
{
Notify (SF0, Arg1)
}
If ((Arg0 & 0x80000000))
{
Notify (SF8, Arg1)
}
}
Method (PCNT, 0, NotSerialized)
{
BNUM = Zero
DVNT (PCIU, One)
DVNT (PCID, 0x03)
}
}
Scope (\_SB.PCI0)
{
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
0x0000, // Granularity
0x0000, // Range Minimum
0x00FF, // Range Maximum
0x0000, // Translation Offset
0x0100, // Length
,, )
IO (Decode16,
0x0CF8, // Range Minimum
0x0CF8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Granularity
0x0000, // Range Minimum
0x0CF7, // Range Maximum
0x0000, // Translation Offset
0x0CF8, // Length
,, , TypeStatic)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Granularity
0x0D00, // Range Minimum
0xFFFF, // Range Maximum
0x0000, // Translation Offset
0xF300, // Length
,, , TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000A0000, // Range Minimum
0x000BFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00020000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x90000000, // Range Minimum
0xFEC00000, // Range Maximum
0x00000000, // Translation Offset
0x6EC00001, // Length
,, , AddressRangeMemory, TypeStatic)
QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x0000000000000000, // Granularity
0x0000000800000000, // Range Minimum
0x0000000E3FFFFFFF, // Range Maximum
0x0000000000000000, // Translation Offset
0x0000000640000000, // Length
,, , AddressRangeMemory, TypeStatic)
})
}
Device (\_SB.MHPD)
{
Name (_HID, "PNP0A06" /* Generic Container Device */) // _HID: Hardware ID
Name (_UID, "Memory hotplug resources") // _UID: Unique ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IO (Decode16,
0x0A00, // Range Minimum
0x0A00, // Range Maximum
0x00, // Alignment
0x18, // Length
)
})
OperationRegion (HPMR, SystemIO, 0x0A00, 0x18)
}
Device (\_SB.MHPC)
{
Name (_HID, "PNP0A06" /* Generic Container Device */) // _HID: Hardware ID
Name (_UID, "DIMM devices") // _UID: Unique ID
Name (MDNR, 0x04)
Field (\_SB.MHPD.HPMR, DWordAcc, NoLock, Preserve)
{
MRBL, 32,
MRBH, 32,
MRLL, 32,
MRLH, 32,
MPX, 32
}
Field (\_SB.MHPD.HPMR, ByteAcc, NoLock, WriteAsZeros)
{
Offset (0x14),
MES, 1,
MINS, 1,
MRMV, 1,
MEJ, 1
}
Field (\_SB.MHPD.HPMR, DWordAcc, NoLock, Preserve)
{
MSEL, 32,
MOEV, 32,
MOSC, 32
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((MDNR == Zero))
{
Return (Zero)
}
Return (0x0B)
}
Mutex (MLCK, 0x00)
Method (MSCN, 0, NotSerialized)
{
If ((MDNR == Zero))
{
Return (Zero)
}
Local0 = Zero
Acquire (MLCK, 0xFFFF)
While ((Local0 < MDNR))
{
MSEL = Local0
If ((MINS == One))
{
MTFY (Local0, One)
MINS = One
}
ElseIf ((MRMV == One))
{
MTFY (Local0, 0x03)
MRMV = One
}
Local0 += One
}
Release (MLCK)
Return (One)
}
Method (MRST, 1, NotSerialized)
{
Local0 = Zero
Acquire (MLCK, 0xFFFF)
MSEL = ToInteger (Arg0)
If ((MES == One))
{
Local0 = 0x0F
}
Release (MLCK)
Return (Local0)
}
Method (MCRS, 1, Serialized)
{
Acquire (MLCK, 0xFFFF)
MSEL = ToInteger (Arg0)
Name (MR64, ResourceTemplate ()
{
QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x0000000000000000, // Granularity
0x0000000000000000, // Range Minimum
0xFFFFFFFFFFFFFFFE, // Range Maximum
0x0000000000000000, // Translation Offset
0xFFFFFFFFFFFFFFFF, // Length
,, _Y00, AddressRangeMemory, TypeStatic)
})
CreateDWordField (MR64, \_SB.MHPC.MCRS._Y00._MIN, MINL) // _MIN: Minimum Base Address
CreateDWordField (MR64, 0x12, MINH)
CreateDWordField (MR64, \_SB.MHPC.MCRS._Y00._LEN, LENL) // _LEN: Length
CreateDWordField (MR64, 0x2A, LENH)
CreateDWordField (MR64, \_SB.MHPC.MCRS._Y00._MAX, MAXL) // _MAX: Maximum Base Address
CreateDWordField (MR64, 0x1A, MAXH)
MINH = MRBH /* \_SB_.MHPC.MRBH */
MINL = MRBL /* \_SB_.MHPC.MRBL */
LENH = MRLH /* \_SB_.MHPC.MRLH */
LENL = MRLL /* \_SB_.MHPC.MRLL */
MAXL = (MINL + LENL) /* \_SB_.MHPC.MCRS.LENL */
MAXH = (MINH + LENH) /* \_SB_.MHPC.MCRS.LENH */
If ((MAXL < MINL))
{
MAXH += One
}
If ((MAXL < One))
{
MAXH -= One
}
MAXL -= One
If ((MAXH == Zero))
{
Name (MR32, ResourceTemplate ()
{
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x00000000, // Range Minimum
0xFFFFFFFE, // Range Maximum
0x00000000, // Translation Offset
0xFFFFFFFF, // Length
,, _Y01, AddressRangeMemory, TypeStatic)
})
CreateDWordField (MR32, \_SB.MHPC.MCRS._Y01._MIN, MIN) // _MIN: Minimum Base Address
CreateDWordField (MR32, \_SB.MHPC.MCRS._Y01._MAX, MAX) // _MAX: Maximum Base Address
CreateDWordField (MR32, \_SB.MHPC.MCRS._Y01._LEN, LEN) // _LEN: Length
MIN = MINL /* \_SB_.MHPC.MCRS.MINL */
MAX = MAXL /* \_SB_.MHPC.MCRS.MAXL */
LEN = LENL /* \_SB_.MHPC.MCRS.LENL */
Release (MLCK)
Return (MR32) /* \_SB_.MHPC.MCRS.MR32 */
}
Release (MLCK)
Return (MR64) /* \_SB_.MHPC.MCRS.MR64 */
}
Method (MPXM, 1, NotSerialized)
{
Acquire (MLCK, 0xFFFF)
MSEL = ToInteger (Arg0)
Local0 = MPX /* \_SB_.MHPC.MPX_ */
Release (MLCK)
Return (Local0)
}
Method (MOST, 4, NotSerialized)
{
Acquire (MLCK, 0xFFFF)
MSEL = ToInteger (Arg0)
MOEV = Arg1
MOSC = Arg2
Release (MLCK)
}
Method (MEJ0, 2, NotSerialized)
{
Acquire (MLCK, 0xFFFF)
MSEL = ToInteger (Arg0)
MEJ = One
Release (MLCK)
}
Device (MP00)
{
Name (_UID, "0x00") // _UID: Unique ID
Name (_HID, EisaId ("PNP0C80") /* Memory Device */) // _HID: Hardware ID
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (MCRS (_UID))
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (MRST (_UID))
}
Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity
{
Return (MPXM (_UID))
}
Method (_OST, 3, NotSerialized) // _OST: OSPM Status Indication
{
MOST (_UID, Arg0, Arg1, Arg2)
}
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
MEJ0 (_UID, Arg0)
}
}
Device (MP01)
{
Name (_UID, "0x01") // _UID: Unique ID
Name (_HID, EisaId ("PNP0C80") /* Memory Device */) // _HID: Hardware ID
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (MCRS (_UID))
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (MRST (_UID))
}
Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity
{
Return (MPXM (_UID))
}
Method (_OST, 3, NotSerialized) // _OST: OSPM Status Indication
{
MOST (_UID, Arg0, Arg1, Arg2)
}
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
MEJ0 (_UID, Arg0)
}
}
Device (MP02)
{
Name (_UID, "0x02") // _UID: Unique ID
Name (_HID, EisaId ("PNP0C80") /* Memory Device */) // _HID: Hardware ID
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (MCRS (_UID))
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (MRST (_UID))
}
Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity
{
Return (MPXM (_UID))
}
Method (_OST, 3, NotSerialized) // _OST: OSPM Status Indication
{
MOST (_UID, Arg0, Arg1, Arg2)
}
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
MEJ0 (_UID, Arg0)
}
}
Device (MP03)
{
Name (_UID, "0x03") // _UID: Unique ID
Name (_HID, EisaId ("PNP0C80") /* Memory Device */) // _HID: Hardware ID
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (MCRS (_UID))
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (MRST (_UID))
}
Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity
{
Return (MPXM (_UID))
}
Method (_OST, 3, NotSerialized) // _OST: OSPM Status Indication
{
MOST (_UID, Arg0, Arg1, Arg2)
}
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
MEJ0 (_UID, Arg0)
}
}
Method (MTFY, 2, NotSerialized)
{
If ((Arg0 == Zero))
{
Notify (MP00, Arg1)
}
If ((Arg0 == One))
{
Notify (MP01, Arg1)
}
If ((Arg0 == 0x02))
{
Notify (MP02, Arg1)
}
If ((Arg0 == 0x03))
{
Notify (MP03, Arg1)
}
}
}
Scope (_SB)
{
Device (\_SB.PRES)
{
Name (_HID, EisaId ("PNP0A06") /* Generic Container Device */) // _HID: Hardware ID
Name (_UID, "CPU Hotplug resources") // _UID: Unique ID
Mutex (CPLK, 0x00)
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IO (Decode16,
0x0CD8, // Range Minimum
0x0CD8, // Range Maximum
0x01, // Alignment
0x0C, // Length
)
})
OperationRegion (PRST, SystemIO, 0x0CD8, 0x0C)
Field (PRST, ByteAcc, NoLock, WriteAsZeros)
{
Offset (0x04),
CPEN, 1,
CINS, 1,
CRMV, 1,
CEJ0, 1,
Offset (0x05),
CCMD, 8
}
Field (PRST, DWordAcc, NoLock, Preserve)
{
CSEL, 32,
Offset (0x08),
CDAT, 32
}
}
Device (\_SB.CPUS)
{
Name (_HID, "ACPI0010") // _HID: Hardware ID
Name (_CID, EisaId ("PNP0A05") /* Generic Container Device */) // _CID: Compatible ID
Method (CTFY, 2, NotSerialized)
{
If ((Arg0 == Zero))
{
Notify (C000, Arg1)
}
If ((Arg0 == One))
{
Notify (C001, Arg1)
}
}
Method (CSTA, 1, Serialized)
{
Acquire (\_SB.PRES.CPLK, 0xFFFF)
\_SB.PRES.CSEL = Arg0
Local0 = Zero
If ((\_SB.PRES.CPEN == One))
{
Local0 = 0x0F
}
Release (\_SB.PRES.CPLK)
Return (Local0)
}
Method (CEJ0, 1, Serialized)
{
Acquire (\_SB.PRES.CPLK, 0xFFFF)
\_SB.PRES.CSEL = Arg0
\_SB.PRES.CEJ0 = One
Release (\_SB.PRES.CPLK)
}
Method (CSCN, 0, Serialized)
{
Acquire (\_SB.PRES.CPLK, 0xFFFF)
Local0 = One
While ((Local0 == One))
{
Local0 = Zero
\_SB.PRES.CCMD = Zero
If ((\_SB.PRES.CINS == One))
{
CTFY (\_SB.PRES.CDAT, One)
\_SB.PRES.CINS = One
Local0 = One
}
ElseIf ((\_SB.PRES.CRMV == One))
{
CTFY (\_SB.PRES.CDAT, 0x03)
\_SB.PRES.CRMV = One
Local0 = One
}
}
Release (\_SB.PRES.CPLK)
}
Method (COST, 4, Serialized)
{
Acquire (\_SB.PRES.CPLK, 0xFFFF)
\_SB.PRES.CSEL = Arg0
\_SB.PRES.CCMD = One
\_SB.PRES.CDAT = Arg1
\_SB.PRES.CCMD = 0x02
\_SB.PRES.CDAT = Arg2
Release (\_SB.PRES.CPLK)
}
Device (C000)
{
Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
Name (_UID, Zero) // _UID: Unique ID
Method (_STA, 0, Serialized) // _STA: Status
{
Return (CSTA (Zero))
}
Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry
{
0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 /* ........ */
})
Method (_OST, 3, Serialized) // _OST: OSPM Status Indication
{
COST (Zero, Arg0, Arg1, Arg2)
}
Name (_PXM, Zero) // _PXM: Device Proximity
}
Device (C001)
{
Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID
Name (_UID, One) // _UID: Unique ID
Method (_STA, 0, Serialized) // _STA: Status
{
Return (CSTA (One))
}
Name (_MAT, Buffer (0x08) // _MAT: Multiple APIC Table Entry
{
0x00, 0x08, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00 /* ........ */
})
Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
{
CEJ0 (One)
}
Method (_OST, 3, Serialized) // _OST: OSPM Status Indication
{
COST (One, Arg0, Arg1, Arg2)
}
Name (_PXM, Zero) // _PXM: Device Proximity
}
}
}
Device (\_SB.GED)
{
Name (_HID, "ACPI0013") // _HID: Hardware ID
Name (_UID, Zero) // _UID: Unique ID
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, )
{
0x00000010,
}
})
OperationRegion (IREG, SystemIO, 0xB000, 0x04)
Field (IREG, DWordAcc, NoLock, WriteAsZeros)
{
ISEL, 32
}
Method (_EVT, 1, Serialized) // _EVT: Event
{
Local0 = ISEL /* \_SB_.GED_.ISEL */
If (((Local0 & One) == One))
{
\_SB.CPUS.CSCN ()
}
If (((Local0 & 0x02) == 0x02))
{
\_SB.MHPC.MSCN ()
}
If (((Local0 & 0x04) == 0x04))
{
Notify (\_SB.NVDR, 0x80) // Status Change
}
If (((Local0 & 0x08) == 0x08))
{
Acquire (\_SB.PCI0.BLCK, 0xFFFF)
\_SB.PCI0.PCNT ()
Release (\_SB.PCI0.BLCK)
}
}
}
Name (\_S5, Package (0x01) // _S5_: S5 System State
{
0x05
})
}
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20160108-64
* Copyright (c) 2000 - 2016 Intel Corporation
*
* Disassembly of facp.dat, Fri Aug 9 12:18:33 2019
*
* ACPI Data Table [FACP]
*
* Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue
*/
[000h 0000 4] Signature : "FACP" [Fixed ACPI Description Table (FADT)]
[004h 0004 4] Table Length : 0000010C
[008h 0008 1] Revision : 05
[009h 0009 1] Checksum : CB
[00Ah 0010 6] Oem ID : "BOCHS "
[010h 0016 8] Oem Table ID : "BXPCFACP"
[018h 0024 4] Oem Revision : 00000001
[01Ch 0028 4] Asl Compiler ID : "BXPC"
[020h 0032 4] Asl Compiler Revision : 00000001
[024h 0036 4] FACS Address : 00000000
[028h 0040 4] DSDT Address : 1FBF7000
[02Ch 0044 1] Model : 00
[02Dh 0045 1] PM Profile : 00 [Unspecified]
[02Eh 0046 2] SCI Interrupt : 0000
[030h 0048 4] SMI Command Port : 00000000
[034h 0052 1] ACPI Enable Value : 00
[035h 0053 1] ACPI Disable Value : 00
[036h 0054 1] S4BIOS Command : 00
[037h 0055 1] P-State Control : 00
[038h 0056 4] PM1A Event Block Address : 00000000
[03Ch 0060 4] PM1B Event Block Address : 00000000
[040h 0064 4] PM1A Control Block Address : 00000000
[044h 0068 4] PM1B Control Block Address : 00000000
[048h 0072 4] PM2 Control Block Address : 00000000
[04Ch 0076 4] PM Timer Block Address : 000003E0
[050h 0080 4] GPE0 Block Address : 00000000
[054h 0084 4] GPE1 Block Address : 00000000
[058h 0088 1] PM1 Event Block Length : 00
[059h 0089 1] PM1 Control Block Length : 00
[05Ah 0090 1] PM2 Control Block Length : 00
[05Bh 0091 1] PM Timer Block Length : 04
[05Ch 0092 1] GPE0 Block Length : 00
[05Dh 0093 1] GPE1 Block Length : 00
[05Eh 0094 1] GPE1 Base Offset : 00
[05Fh 0095 1] _CST Support : 00
[060h 0096 2] C2 Latency : 0000
[062h 0098 2] C3 Latency : 0000
[064h 0100 2] CPU Cache Size : 0000
[066h 0102 2] Cache Flush Stride : 0000
[068h 0104 1] Duty Cycle Offset : 00
[069h 0105 1] Duty Cycle Width : 00
[06Ah 0106 1] RTC Day Alarm Index : 00
[06Bh 0107 1] RTC Month Alarm Index : 00
[06Ch 0108 1] RTC Century Index : 00
[06Dh 0109 2] Boot Flags (decoded below) : 0000
Legacy Devices Supported (V2) : 0
8042 Present on ports 60/64 (V2) : 0
VGA Not Present (V4) : 0
MSI Not Supported (V4) : 0
PCIe ASPM Not Supported (V4) : 0
CMOS RTC Not Present (V5) : 0
[06Fh 0111 1] Reserved : 00
[070h 0112 4] Flags (decoded below) : 00100400
WBINVD instruction is operational (V1) : 0
WBINVD flushes all caches (V1) : 0
All CPUs support C1 (V1) : 0
C2 works on MP system (V1) : 0
Control Method Power Button (V1) : 0
Control Method Sleep Button (V1) : 0
RTC wake not in fixed reg space (V1) : 0
RTC can wake system from S4 (V1) : 0
32-bit PM Timer (V1) : 0
Docking Supported (V1) : 0
Reset Register Supported (V2) : 1
Sealed Case (V3) : 0
Headless - No Video (V3) : 0
Use native instr after SLP_TYPx (V3) : 0
PCIEXP_WAK Bits Supported (V4) : 0
Use Platform Timer (V4) : 0
RTC_STS valid on S4 wake (V4) : 0
Remote Power-on capable (V4) : 0
Use APIC Cluster Model (V4) : 0
Use APIC Physical Destination Mode (V4) : 0
Hardware Reduced (V5) : 1
Low Power S0 Idle (V5) : 0
[074h 0116 12] Reset Register : [Generic Address Structure]
[074h 0116 1] Space ID : 01 [SystemIO]
[075h 0117 1] Bit Width : 08
[076h 0118 1] Bit Offset : 00
[077h 0119 1] Encoded Access Width : 00 [Undefined/Legacy]
[078h 0120 8] Address : 00000000000003C0
[080h 0128 1] Value to cause reset : 04
[081h 0129 2] ARM Flags (decoded below) : 0000
PSCI Compliant : 0
Must use HVC for PSCI : 0
[083h 0131 1] FADT Minor Revision : 01
[084h 0132 8] FACS Address : 0000000000000000
[08Ch 0140 8] DSDT Address : 000000001FBF7000
[094h 0148 12] PM1A Event Block : [Generic Address Structure]
[094h 0148 1] Space ID : 00 [SystemMemory]
[095h 0149 1] Bit Width : 00
[096h 0150 1] Bit Offset : 00
[097h 0151 1] Encoded Access Width : 00 [Undefined/Legacy]
[098h 0152 8] Address : 0000000000000000
[0A0h 0160 12] PM1B Event Block : [Generic Address Structure]
[0A0h 0160 1] Space ID : 00 [SystemMemory]
[0A1h 0161 1] Bit Width : 00
[0A2h 0162 1] Bit Offset : 00
[0A3h 0163 1] Encoded Access Width : 00 [Undefined/Legacy]
[0A4h 0164 8] Address : 0000000000000000
[0ACh 0172 12] PM1A Control Block : [Generic Address Structure]
[0ACh 0172 1] Space ID : 00 [SystemMemory]
[0ADh 0173 1] Bit Width : 00
[0AEh 0174 1] Bit Offset : 00
[0AFh 0175 1] Encoded Access Width : 00 [Undefined/Legacy]
[0B0h 0176 8] Address : 0000000000000000
[0B8h 0184 12] PM1B Control Block : [Generic Address Structure]
[0B8h 0184 1] Space ID : 00 [SystemMemory]
[0B9h 0185 1] Bit Width : 00
[0BAh 0186 1] Bit Offset : 00
[0BBh 0187 1] Encoded Access Width : 00 [Undefined/Legacy]
[0BCh 0188 8] Address : 0000000000000000
[0C4h 0196 12] PM2 Control Block : [Generic Address Structure]
[0C4h 0196 1] Space ID : 00 [SystemMemory]
[0C5h 0197 1] Bit Width : 00
[0C6h 0198 1] Bit Offset : 00
[0C7h 0199 1] Encoded Access Width : 00 [Undefined/Legacy]
[0C8h 0200 8] Address : 0000000000000000
[0D0h 0208 12] PM Timer Block : [Generic Address Structure]
[0D0h 0208 1] Space ID : 01 [SystemIO]
[0D1h 0209 1] Bit Width : 20
[0D2h 0210 1] Bit Offset : 00
[0D3h 0211 1] Encoded Access Width : 00 [Undefined/Legacy]
[0D4h 0212 8] Address : 00000000000003E0
[0DCh 0220 12] GPE0 Block : [Generic Address Structure]
[0DCh 0220 1] Space ID : 00 [SystemMemory]
[0DDh 0221 1] Bit Width : 00
[0DEh 0222 1] Bit Offset : 00
[0DFh 0223 1] Encoded Access Width : 00 [Undefined/Legacy]
[0E0h 0224 8] Address : 0000000000000000
[0E8h 0232 12] GPE1 Block : [Generic Address Structure]
[0E8h 0232 1] Space ID : 00 [SystemMemory]
[0E9h 0233 1] Bit Width : 00
[0EAh 0234 1] Bit Offset : 00
[0EBh 0235 1] Encoded Access Width : 00 [Undefined/Legacy]
[0ECh 0236 8] Address : 0000000000000000
[0F4h 0244 12] Sleep Control Register : [Generic Address Structure]
[0F4h 0244 1] Space ID : 01 [SystemIO]
[0F5h 0245 1] Bit Width : 08
[0F6h 0246 1] Bit Offset : 00
[0F7h 0247 1] Encoded Access Width : 00 [Undefined/Legacy]
[0F8h 0248 8] Address : 00000000000003B0
[100h 0256 12] Sleep Status Register : [Generic Address Structure]
[100h 0256 1] Space ID : 01 [SystemIO]
[101h 0257 1] Bit Width : 08
[102h 0258 1] Bit Offset : 00
[103h 0259 1] Encoded Access Width : 00 [Undefined/Legacy]
[104h 0260 8] Address : 00000000000003D0
/**** ACPI table terminates in the middle of a data structure! (dump table) */
Raw Table Data: Length 268 (0x10C)
0000: 46 41 43 50 0C 01 00 00 05 CB 42 4F 43 48 53 20 // FACP......BOCHS
0010: 42 58 50 43 46 41 43 50 01 00 00 00 42 58 50 43 // BXPCFACP....BXPC
0020: 01 00 00 00 00 00 00 00 00 70 BF 1F 00 00 00 00 // .........p......
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................
0040: 00 00 00 00 00 00 00 00 00 00 00 00 E0 03 00 00 // ................
0050: 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 // ................
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................
0070: 00 04 10 00 01 08 00 00 C0 03 00 00 00 00 00 00 // ................
0080: 04 00 00 01 00 00 00 00 00 00 00 00 00 70 BF 1F // .............p..
0090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................
00A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................
00B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................
00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................
00D0: 01 20 00 00 E0 03 00 00 00 00 00 00 00 00 00 00 // . ..............
00E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................
00F0: 00 00 00 00 01 08 00 00 B0 03 00 00 00 00 00 00 // ................
0100: 01 08 00 00 D0 03 00 00 00 00 00 00 // ............
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20160108-64
* Copyright (c) 2000 - 2016 Intel Corporation
*
* Disassembly of mcfg.dat, Fri Aug 9 12:18:33 2019
*
* ACPI Data Table [MCFG]
*
* Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue
*/
[000h 0000 4] Signature : "MCFG" [Memory Mapped Configuration table]
[004h 0004 4] Table Length : 0000003C
[008h 0008 1] Revision : 01
[009h 0009 1] Checksum : 1F
[00Ah 0010 6] Oem ID : "BOCHS "
[010h 0016 8] Oem Table ID : "BXPCMCFG"
[018h 0024 4] Oem Revision : 00000001
[01Ch 0028 4] Asl Compiler ID : "BXPC"
[020h 0032 4] Asl Compiler Revision : 00000001
[024h 0036 8] Reserved : 0000000000000000
[02Ch 0044 8] Base Address : 0000000080000000
[034h 0052 2] Segment Group Number : 0000
[036h 0054 1] Start Bus Number : 00
[037h 0055 1] End Bus Number : FF
[038h 0056 4] Reserved : 00000000
Raw Table Data: Length 60 (0x3C)
0000: 4D 43 46 47 3C 00 00 00 01 1F 42 4F 43 48 53 20 // MCFG<.....BOCHS
0010: 42 58 50 43 4D 43 46 47 01 00 00 00 42 58 50 43 // BXPCMCFG....BXPC
0020: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 // ................
0030: 00 00 00 00 00 00 00 FF 00 00 00 00 // ............
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20160108-64
* Copyright (c) 2000 - 2016 Intel Corporation
*
* Disassembly of srat.dat, Fri Aug 9 12:18:33 2019
*
* ACPI Data Table [SRAT]
*
* Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue
*/
[000h 0000 4] Signature : "SRAT" [System Resource Affinity Table]
[004h 0004 4] Table Length : 000000F0
[008h 0008 1] Revision : 01
[009h 0009 1] Checksum : 51
[00Ah 0010 6] Oem ID : "BOCHS "
[010h 0016 8] Oem Table ID : "BXPCSRAT"
[018h 0024 4] Oem Revision : 00000001
[01Ch 0028 4] Asl Compiler ID : "BXPC"
[020h 0032 4] Asl Compiler Revision : 00000001
[024h 0036 4] Table Revision : 00000001
[028h 0040 8] Reserved : 0000000000000000
[030h 0048 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity]
[031h 0049 1] Length : 10
[032h 0050 1] Proximity Domain Low(8) : 00
[033h 0051 1] Apic ID : 00
[034h 0052 4] Flags (decoded below) : 00000001
Enabled : 1
[038h 0056 1] Local Sapic EID : 00
[039h 0057 3] Proximity Domain High(24) : 000000
[03Ch 0060 4] Clock Domain : 00000000
[040h 0064 1] Subtable Type : 00 [Processor Local APIC/SAPIC Affinity]
[041h 0065 1] Length : 10
[042h 0066 1] Proximity Domain Low(8) : 00
[043h 0067 1] Apic ID : 01
[044h 0068 4] Flags (decoded below) : 00000001
Enabled : 1
[048h 0072 1] Local Sapic EID : 00
[049h 0073 3] Proximity Domain High(24) : 000000
[04Ch 0076 4] Clock Domain : 00000000
[050h 0080 1] Subtable Type : 01 [Memory Affinity]
[051h 0081 1] Length : 28
[052h 0082 4] Proximity Domain : 00000000
[056h 0086 2] Reserved1 : 0000
[058h 0088 8] Base Address : 0000000000000000
[060h 0096 8] Address Length : 00000000000A0000
[068h 0104 4] Reserved2 : 00000000
[06Ch 0108 4] Flags (decoded below) : 00000001
Enabled : 1
Hot Pluggable : 0
Non-Volatile : 0
[070h 0112 8] Reserved3 : 0000000000000000
[078h 0120 1] Subtable Type : 01 [Memory Affinity]
[079h 0121 1] Length : 28
[07Ah 0122 4] Proximity Domain : 00000000
[07Eh 0126 2] Reserved1 : 0000
[080h 0128 8] Base Address : 0000000000100000
[088h 0136 8] Address Length : 000000001FF00000
[090h 0144 4] Reserved2 : 00000000
[094h 0148 4] Flags (decoded below) : 00000001
Enabled : 1
Hot Pluggable : 0
Non-Volatile : 0
[098h 0152 8] Reserved3 : 0000000000000000
[0A0h 0160 1] Subtable Type : 01 [Memory Affinity]
[0A1h 0161 1] Length : 28
[0A2h 0162 4] Proximity Domain : 00000000
[0A6h 0166 2] Reserved1 : 0000
[0A8h 0168 8] Base Address : 0000000000000000
[0B0h 0176 8] Address Length : 0000000000000000
[0B8h 0184 4] Reserved2 : 00000000
[0BCh 0188 4] Flags (decoded below) : 00000000
Enabled : 0
Hot Pluggable : 0
Non-Volatile : 0
[0C0h 0192 8] Reserved3 : 0000000000000000
[0C8h 0200 1] Subtable Type : 01 [Memory Affinity]
[0C9h 0201 1] Length : 28
[0CAh 0202 4] Proximity Domain : 00000000
[0CEh 0206 2] Reserved1 : 0000
[0D0h 0208 8] Base Address : 0000000100000000
[0D8h 0216 8] Address Length : 0000000503600000
[0E0h 0224 4] Reserved2 : 00000000
[0E4h 0228 4] Flags (decoded below) : 00000003
Enabled : 1
Hot Pluggable : 1
Non-Volatile : 0
[0E8h 0232 8] Reserved3 : 0000000000000000
Raw Table Data: Length 240 (0xF0)
0000: 53 52 41 54 F0 00 00 00 01 51 42 4F 43 48 53 20 // SRAT.....QBOCHS
0010: 42 58 50 43 53 52 41 54 01 00 00 00 42 58 50 43 // BXPCSRAT....BXPC
0020: 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................
0030: 00 10 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................
0040: 00 10 00 01 01 00 00 00 00 00 00 00 00 00 00 00 // ................
0050: 01 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // .(..............
0060: 00 00 0A 00 00 00 00 00 00 00 00 00 01 00 00 00 // ................
0070: 00 00 00 00 00 00 00 00 01 28 00 00 00 00 00 00 // .........(......
0080: 00 00 10 00 00 00 00 00 00 00 F0 1F 00 00 00 00 // ................
0090: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // ................
00A0: 01 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // .(..............
00B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // ................
00C0: 00 00 00 00 00 00 00 00 01 28 00 00 00 00 00 00 // .........(......
00D0: 00 00 00 00 01 00 00 00 00 00 60 03 05 00 00 00 // ..........`.....
00E0: 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 // ................
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment