1
qemu: bios: pci hotplug support (Marcelo Tosatti)
3
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
4
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
6
Index: bochs/bios/acpi-dsdt.dsl
7
===================================================================
8
--- bochs.orig/bios/acpi-dsdt.dsl
9
+++ bochs/bios/acpi-dsdt.dsl
10
@@ -91,6 +91,61 @@ DefinitionBlock (
14
+ OperationRegion(PCST, SystemIO, 0xae00, 0x08)
15
+ Field (PCST, DWordAcc, NoLock, WriteAsZeros)
21
+ OperationRegion(SEJ, SystemIO, 0xae08, 0x04)
22
+ Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
27
+#define hotplug_slot(name, nr) \
28
+ Device (S##name) { \
29
+ Name (_ADR, nr##0000) \
31
+ Store(ShiftLeft(1, nr), B0EJ) \
37
+ hotplug_slot(1, 0x0001)
38
+ hotplug_slot(2, 0x0002)
39
+ hotplug_slot(3, 0x0003)
40
+ hotplug_slot(4, 0x0004)
41
+ hotplug_slot(5, 0x0005)
42
+ hotplug_slot(6, 0x0006)
43
+ hotplug_slot(7, 0x0007)
44
+ hotplug_slot(8, 0x0008)
45
+ hotplug_slot(9, 0x0009)
46
+ hotplug_slot(10, 0x000a)
47
+ hotplug_slot(11, 0x000b)
48
+ hotplug_slot(12, 0x000c)
49
+ hotplug_slot(13, 0x000d)
50
+ hotplug_slot(14, 0x000e)
51
+ hotplug_slot(15, 0x000f)
52
+ hotplug_slot(16, 0x0010)
53
+ hotplug_slot(17, 0x0011)
54
+ hotplug_slot(18, 0x0012)
55
+ hotplug_slot(19, 0x0013)
56
+ hotplug_slot(20, 0x0014)
57
+ hotplug_slot(21, 0x0015)
58
+ hotplug_slot(22, 0x0016)
59
+ hotplug_slot(23, 0x0017)
60
+ hotplug_slot(24, 0x0018)
61
+ hotplug_slot(25, 0x0019)
62
+ hotplug_slot(26, 0x001a)
63
+ hotplug_slot(27, 0x001b)
64
+ hotplug_slot(28, 0x001c)
65
+ hotplug_slot(29, 0x001d)
66
+ hotplug_slot(30, 0x001e)
67
+ hotplug_slot(31, 0x001f)
69
Name (_CRS, ResourceTemplate ()
71
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
72
@@ -605,8 +660,50 @@ DefinitionBlock (
77
+#define gen_pci_hotplug(nr) \
78
+ If (And(\_SB.PCI0.PCIU, ShiftLeft(1, nr))) { \
79
+ Notify(\_SB.PCI0.S##nr, 1) \
81
+ If (And(\_SB.PCI0.PCID, ShiftLeft(1, nr))) { \
82
+ Notify(\_SB.PCI0.S##nr, 3) \
100
+ gen_pci_hotplug(14)
101
+ gen_pci_hotplug(15)
102
+ gen_pci_hotplug(16)
103
+ gen_pci_hotplug(17)
104
+ gen_pci_hotplug(18)
105
+ gen_pci_hotplug(19)
106
+ gen_pci_hotplug(20)
107
+ gen_pci_hotplug(21)
108
+ gen_pci_hotplug(22)
109
+ gen_pci_hotplug(23)
110
+ gen_pci_hotplug(24)
111
+ gen_pci_hotplug(25)
112
+ gen_pci_hotplug(26)
113
+ gen_pci_hotplug(27)
114
+ gen_pci_hotplug(28)
115
+ gen_pci_hotplug(29)
116
+ gen_pci_hotplug(30)
117
+ gen_pci_hotplug(31)