This corresponds to the cpu hotplug functionality

Signed-off-by: Glauber Costa <[EMAIL PROTECTED]>
---
 bios/acpi-dsdt.dsl |  114 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 114 insertions(+), 0 deletions(-)

diff --git a/bios/acpi-dsdt.dsl b/bios/acpi-dsdt.dsl
index 1dba157..194a051 100755
--- a/bios/acpi-dsdt.dsl
+++ b/bios/acpi-dsdt.dsl
@@ -588,6 +588,120 @@ DefinitionBlock (
     Scope (\_GPE)
     {
         Method(_L00) {
+            /* Up status */
+            If (And(\_PR.PRU, 0x2)) {
+                Notify(\_PR.CPU1,1)
+            }
+
+            If (And(\_PR.PRU, 0x4)) {
+                Notify(\_PR.CPU2,1)
+            }
+
+            If (And(\_PR.PRU, 0x8)) {
+                Notify(\_PR.CPU3,1)
+            }
+
+            If (And(\_PR.PRU, 0x10)) {
+                Notify(\_PR.CPU4,1)
+            }
+
+            If (And(\_PR.PRU, 0x20)) {
+                Notify(\_PR.CPU5,1)
+            }
+
+            If (And(\_PR.PRU, 0x40)) {
+                Notify(\_PR.CPU6,1)
+            }
+
+            If (And(\_PR.PRU, 0x80)) {
+                Notify(\_PR.CPU7,1)
+            }
+
+            If (And(\_PR.PRU, 0x100)) {
+                Notify(\_PR.CPU8,1)
+            }
+
+            If (And(\_PR.PRU, 0x200)) {
+                Notify(\_PR.CPU9,1)
+            }
+
+            If (And(\_PR.PRU, 0x400)) {
+                Notify(\_PR.CPUA,1)
+            }
+
+            If (And(\_PR.PRU, 0x800)) {
+                Notify(\_PR.CPUB,1)
+            }
+
+            If (And(\_PR.PRU, 0x1000)) {
+                Notify(\_PR.CPUC,1)
+            }
+
+            If (And(\_PR.PRU, 0x2000)) {
+                Notify(\_PR.CPUD,1)
+            }
+
+            If (And(\_PR.PRU, 0x4000)) {
+                Notify(\_PR.CPUE,1)
+            }
+
+            /* Down status */
+            If (And(\_PR.PRD, 0x2)) {
+                Notify(\_PR.CPU1,3)
+            }
+
+            If (And(\_PR.PRD, 0x4)) {
+                Notify(\_PR.CPU2,3)
+            }
+
+            If (And(\_PR.PRD, 0x8)) {
+                Notify(\_PR.CPU3,3)
+            }
+
+            If (And(\_PR.PRD, 0x10)) {
+                Notify(\_PR.CPU4,3)
+            }
+
+            If (And(\_PR.PRD, 0x20)) {
+                Notify(\_PR.CPU5,3)
+            }
+
+            If (And(\_PR.PRD, 0x40)) {
+                Notify(\_PR.CPU6,3)
+            }
+
+            If (And(\_PR.PRD, 0x80)) {
+                Notify(\_PR.CPU7,3)
+            }
+
+            If (And(\_PR.PRD, 0x100)) {
+                Notify(\_PR.CPU8,3)
+            }
+
+            If (And(\_PR.PRD, 0x200)) {
+                Notify(\_PR.CPU9,3)
+            }
+
+            If (And(\_PR.PRD, 0x400)) {
+                Notify(\_PR.CPUA,3)
+            }
+
+            If (And(\_PR.PRD, 0x800)) {
+                Notify(\_PR.CPUB,3)
+            }
+
+            If (And(\_PR.PRD, 0x1000)) {
+                Notify(\_PR.CPUC,3)
+            }
+
+            If (And(\_PR.PRD, 0x2000)) {
+                Notify(\_PR.CPUD,3)
+            }
+
+            If (And(\_PR.PRD, 0x4000)) {
+                Notify(\_PR.CPUE,3)
+            }
+
             Return(0x01)
         }
         Method(_L01) {
-- 
1.4.2



Reply via email to