Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / seabios / src / fw / ssdt-misc.dsl
1 ACPI_EXTRACT_ALL_CODE ssdp_misc_aml
2
3 DefinitionBlock ("ssdt-misc.aml", "SSDT", 0x01, "BXPC", "BXSSDTSUSP", 0x1)
4 {
5
6 /****************************************************************
7  * PCI memory ranges
8  ****************************************************************/
9
10     Scope(\) {
11        ACPI_EXTRACT_NAME_DWORD_CONST acpi_pci32_start
12        Name(P0S, 0x12345678)
13        ACPI_EXTRACT_NAME_DWORD_CONST acpi_pci32_end
14        Name(P0E, 0x12345678)
15        ACPI_EXTRACT_NAME_BYTE_CONST acpi_pci64_valid
16        Name(P1V, 0x12)
17        ACPI_EXTRACT_NAME_BUFFER8 acpi_pci64_start
18        Name(P1S, Buffer() { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 })
19        ACPI_EXTRACT_NAME_BUFFER8 acpi_pci64_end
20        Name(P1E, Buffer() { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 })
21        ACPI_EXTRACT_NAME_BUFFER8 acpi_pci64_length
22        Name(P1L, Buffer() { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 })
23     }
24
25
26 /****************************************************************
27  * Suspend
28  ****************************************************************/
29
30     Scope(\) {
31     /*
32      * S3 (suspend-to-ram), S4 (suspend-to-disk) and S5 (power-off) type codes:
33      * must match piix4 emulation.
34      */
35
36         ACPI_EXTRACT_NAME_STRING acpi_s3_name
37         Name(_S3, Package(0x04) {
38             One,  /* PM1a_CNT.SLP_TYP */
39             One,  /* PM1b_CNT.SLP_TYP */
40             Zero,  /* reserved */
41             Zero   /* reserved */
42         })
43         ACPI_EXTRACT_NAME_STRING acpi_s4_name
44         ACPI_EXTRACT_PKG_START acpi_s4_pkg
45         Name(_S4, Package(0x04) {
46             0x2,  /* PM1a_CNT.SLP_TYP */
47             0x2,  /* PM1b_CNT.SLP_TYP */
48             Zero,  /* reserved */
49             Zero   /* reserved */
50         })
51         Name(_S5, Package(0x04) {
52             Zero,  /* PM1a_CNT.SLP_TYP */
53             Zero,  /* PM1b_CNT.SLP_TYP */
54             Zero,  /* reserved */
55             Zero   /* reserved */
56         })
57     }
58
59     External(\_SB.PCI0, DeviceObj)
60     External(\_SB.PCI0.ISA, DeviceObj)
61
62     Scope(\_SB.PCI0.ISA) {
63         Device(PEVT) {
64             Name(_HID, "QEMU0001")
65             /* PEST will be patched to be Zero if no such device */
66             ACPI_EXTRACT_NAME_WORD_CONST ssdt_isa_pest
67             Name(PEST, 0xFFFF)
68             OperationRegion(PEOR, SystemIO, PEST, 0x01)
69             Field(PEOR, ByteAcc, NoLock, Preserve) {
70                 PEPT,   8,
71             }
72
73             Method(_STA, 0, NotSerialized) {
74                 Store(PEST, Local0)
75                 If (LEqual(Local0, Zero)) {
76                     Return (0x00)
77                 } Else {
78                     Return (0x0F)
79                 }
80             }
81
82             Method(RDPT, 0, NotSerialized) {
83                 Store(PEPT, Local0)
84                 Return (Local0)
85             }
86
87             Method(WRPT, 1, NotSerialized) {
88                 Store(Arg0, PEPT)
89             }
90
91             Name(_CRS, ResourceTemplate() {
92                 IO(Decode16, 0x00, 0x00, 0x01, 0x01, IO)
93             })
94
95             CreateWordField(_CRS, IO._MIN, IOMN)
96             CreateWordField(_CRS, IO._MAX, IOMX)
97
98             Method(_INI, 0, NotSerialized) {
99                 Store(PEST, IOMN)
100                 Store(PEST, IOMX)
101             }
102         }
103     }
104 }