1ACPI_EXTRACT_ALL_CODE ssdp_misc_aml 2 3DefinitionBlock ("ssdt-misc.aml", "SSDT", 0x01, "BXPC", "BXSSDTSU", 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} 105