@@ -21,6 +21,13 @@ Scope(\_SB) {
MES, 256
}
+ /* Memory eject byte */
+ OperationRegion(MEMJ, SystemIO, 0xafa0, 1)
+ Field (MEMJ, ByteAcc, NoLock, Preserve)
+ {
+ MPE, 8
+ }
+
Method(MESC, 0) {
// Local5 = active memdevice bitmap
Store (MES, Local5)
@@ -47,6 +54,8 @@ Scope(\_SB) {
// Do MEM notify
If (LEqual(Local3, 1)) {
MTFY(Local0, 1)
+ } Else {
+ MTFY(Local0, 3)
}
}
Increment(Local0)
@@ -54,4 +63,10 @@ Scope(\_SB) {
Return(One)
}
+ Method (MPEJ, 2, NotSerialized) {
+ // _EJ0 method - eject callback
+ Store(Arg0, MPE)
+ Sleep(200)
+ }
+
}
@@ -57,6 +57,9 @@ DefinitionBlock ("ssdt-mem.aml", "SSDT", 0x02, "BXPC", "CSSDT", 0x1)
Method (_STA, 0) {
Return(CMST(ID))
}
+ Method (_EJ0, 1, NotSerialized) {
+ MPEJ(ID, Arg0)
+ }
}
}