Inform C2 state support via ACPI's CST per-processor package.
Signed-off-by: Marcelo Tosatti <[EMAIL PROTECTED]>
Index: kvm-userspace.tip/bios/acpi-dsdt.dsl
===================================================================
--- kvm-userspace.tip.orig/bios/acpi-dsdt.dsl
+++ kvm-userspace.tip/bios/acpi-dsdt.dsl
@@ -33,6 +33,11 @@ DefinitionBlock (
PRU, 8,
PRD, 8,
}
+ OperationRegion(PWNO, SystemIO, 0xb040, 0x02)
+ Field (PWNO, WordAcc, NoLock, WriteAsZeros)
+ {
+ PWC, 16,
+ }
#define gen_processor(nr, name) \
Processor (CPU##name, nr, 0x0000b010, 0x06) { \
@@ -44,11 +49,23 @@ DefinitionBlock (
Method (_STA) { \
Return(0xF) \
} \
+ Name(_CST, Package() { \
+ 1, Package() { \
+ ResourceTemplate() {Register(SystemIO, 8, 0, 0xb014)}, \
+ 2, 2, 300}, \
+ }) \
} \
- Processor (CPU0, 0x00, 0x0000b010, 0x06) {Method (_STA) { Return(0xF)}}
+ Processor (CPU0, 0x00, 0x0000b010, 0x06) {
+ Method (_STA) { Return(0xF)}
+ Name(_CST, Package() {
+ 1, Package() {
+ ResourceTemplate() {Register(SystemIO, 8, 0,
0xb014)},
+ 2, 2, 300},
+ })
+ }
gen_processor(1, 1)
gen_processor(2, 2)
gen_processor(3, 3)
@@ -747,7 +764,29 @@ DefinitionBlock (
Method(_L05) {
Return(0x01)
}
+#define gen_power_notify(nr, name) \
+ Store (0xfffff, \
+ Index (DeRefOf (Index (\_PR.CPU##name._CST, 1)), 2)) \
+ Notify(\_PR.CPU##name, 0x81) \
+
Method(_L06) {
+ If (And(\_PR.PWC, 0x1)) {
+ gen_power_notify(0, 0)
+ gen_power_notify(1, 1)
+ gen_power_notify(2, 2)
+ gen_power_notify(3, 3)
+ gen_power_notify(4, 4)
+ gen_power_notify(5, 5)
+ gen_power_notify(6, 6)
+ gen_power_notify(7, 7)
+ gen_power_notify(8, 8)
+ gen_power_notify(9, 9)
+ gen_power_notify(10, A)
+ gen_power_notify(11, B)
+ gen_power_notify(12, C)
+ gen_power_notify(13, D)
+ gen_power_notify(14, E)
+ }
Return(0x01)
}
Method(_L07) {
--
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html