MAINTAINERS: mark megasas as maintained
[qemu/ar7.git] / hw / i386 / ssdt-pcihp.dsl
blobac91c05836ee1de16cf1ca14d991786af0d3607c
1 /*
2  * This program is free software; you can redistribute it and/or modify
3  * it under the terms of the GNU General Public License as published by
4  * the Free Software Foundation; either version 2 of the License, or
5  * (at your option) any later version.
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10  * GNU General Public License for more details.
12  * You should have received a copy of the GNU General Public License along
13  * with this program; if not, see <http://www.gnu.org/licenses/>.
14  */
16 ACPI_EXTRACT_ALL_CODE ssdp_pcihp_aml
18 DefinitionBlock ("ssdt-pcihp.aml", "SSDT", 0x01, "BXPC", "BXSSDTPCIHP", 0x1)
21 /****************************************************************
22  * PCI hotplug
23  ****************************************************************/
25     /* Objects supplied by DSDT */
26     External(\_SB.PCI0, DeviceObj)
27     External(\_SB.PCI0.PCEJ, MethodObj)
28     External(BSEL, IntObj)
30     Scope(\_SB.PCI0) {
32         /* Bulk generated PCI hotplug devices */
33         ACPI_EXTRACT_DEVICE_START ssdt_pcihp_start
34         ACPI_EXTRACT_DEVICE_END ssdt_pcihp_end
35         ACPI_EXTRACT_DEVICE_STRING ssdt_pcihp_name
37         // Extract the offsets of the device name, address dword and the slot
38         // name byte - we fill them in for each device.
39         Device(SAA) {
40             ACPI_EXTRACT_NAME_BYTE_CONST ssdt_pcihp_id
41             Name(_SUN, 0xAA)
42             ACPI_EXTRACT_NAME_DWORD_CONST ssdt_pcihp_adr
43             Name(_ADR, 0xAA0000)
44             Method(_EJ0, 1) {
45                 PCEJ(BSEL, _SUN)
46             }
47         }
49         ACPI_EXTRACT_DEVICE_START ssdt_pcinohp_start
50         ACPI_EXTRACT_DEVICE_END ssdt_pcinohp_end
51         ACPI_EXTRACT_DEVICE_STRING ssdt_pcinohp_name
53         // Extract the offsets of the device name, address dword and the slot
54         // name byte - we fill them in for each device.
55         Device(SBB) {
56             ACPI_EXTRACT_NAME_DWORD_CONST ssdt_pcinohp_adr
57             Name(_ADR, 0xAA0000)
58         }
60         ACPI_EXTRACT_DEVICE_START ssdt_pcivga_start
61         ACPI_EXTRACT_DEVICE_END ssdt_pcivga_end
62         ACPI_EXTRACT_DEVICE_STRING ssdt_pcivga_name
64         // Extract the offsets of the device name, address dword and the slot
65         // name byte - we fill them in for each device.
66         Device(SCC) {
67             ACPI_EXTRACT_NAME_DWORD_CONST ssdt_pcivga_adr
68             Name(_ADR, 0xAA0000)
69             Method(_S1D, 0, NotSerialized) {
70                 Return (0x00)
71             }
72             Method(_S2D, 0, NotSerialized) {
73                 Return (0x00)
74             }
75             Method(_S3D, 0, NotSerialized) {
76                 Return (0x00)
77             }
78         }
80         ACPI_EXTRACT_DEVICE_START ssdt_pciqxl_start
81         ACPI_EXTRACT_DEVICE_END ssdt_pciqxl_end
82         ACPI_EXTRACT_DEVICE_STRING ssdt_pciqxl_name
84         // Extract the offsets of the device name, address dword and the slot
85         // name byte - we fill them in for each device.
86         Device(SDD) {
87             ACPI_EXTRACT_NAME_DWORD_CONST ssdt_pciqxl_adr
88             Name(_ADR, 0xAA0000)
89             Method(_S1D, 0, NotSerialized) {
90                 Return (0x00)
91             }
92             Method(_S2D, 0, NotSerialized) {
93                 Return (0x00)
94             }
95             Method(_S3D, 0, NotSerialized) {
96                 Return (0x03)           // QXL
97             }
98         }
99     }