[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH v3 14/19][SeaBIOS] Add _OST dimm method
From: |
Vasilis Liaskovitis |
Subject: |
[Qemu-devel] [RFC PATCH v3 14/19][SeaBIOS] Add _OST dimm method |
Date: |
Fri, 21 Sep 2012 13:17:30 +0200 |
Add support for _OST method. _OST method will write into the correct I/O byte to
signal success / failure of hot-add or hot-remove to qemu.
Signed-off-by: Vasilis Liaskovitis <address@hidden>
---
src/acpi-dsdt.dsl | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
src/ssdt-mem.dsl | 4 ++++
2 files changed, 54 insertions(+), 0 deletions(-)
diff --git a/src/acpi-dsdt.dsl b/src/acpi-dsdt.dsl
index 5d3e92b..0d37bbc 100644
--- a/src/acpi-dsdt.dsl
+++ b/src/acpi-dsdt.dsl
@@ -762,6 +762,28 @@ DefinitionBlock (
MPE, 8
}
+
+ /* Memory hot-remove notify failure byte */
+ OperationRegion(MEEF, SystemIO, 0xafa1, 1)
+ Field (MEEF, ByteAcc, NoLock, Preserve)
+ {
+ MEF, 8
+ }
+
+ /* Memory hot-add notify success byte */
+ OperationRegion(MPIS, SystemIO, 0xafa2, 1)
+ Field (MPIS, ByteAcc, NoLock, Preserve)
+ {
+ MIS, 8
+ }
+
+ /* Memory hot-add notify failure byte */
+ OperationRegion(MPIF, SystemIO, 0xafa3, 1)
+ Field (MPIF, ByteAcc, NoLock, Preserve)
+ {
+ MIF, 8
+ }
+
Method(MESC, 0) {
// Local5 = active memdevice bitmap
Store (MES, Local5)
@@ -802,6 +824,34 @@ DefinitionBlock (
Store(Arg0, MPE)
Sleep(200)
}
+ Method (MOST, 3, Serialized) {
+ // _OST method - OS status indication
+ Switch (And(Arg0, 0xFF)) {
+ Case(0x3)
+ {
+ Switch(And(Arg1, 0xFF)) {
+ Case(0x1) {
+ Store(Arg2, MEF)
+ // Revert MEON flag for this memory device to one
+ Store(One, Index(MEON, Arg2))
+ }
+ }
+ }
+ Case(0x1)
+ {
+ Switch(And(Arg1, 0xFF)) {
+ Case(0x0) {
+ Store(Arg2, MIS)
+ }
+ Case(0x1) {
+ Store(Arg2, MIF)
+ // Revert MEON flag for this memory device to zero
+ Store(Zero, Index(MEON, Arg2))
+ }
+ }
+ }
+ }
+ }
}
diff --git a/src/ssdt-mem.dsl b/src/ssdt-mem.dsl
index ee322f0..041d301 100644
--- a/src/ssdt-mem.dsl
+++ b/src/ssdt-mem.dsl
@@ -38,6 +38,7 @@ DefinitionBlock ("ssdt-mem.aml", "SSDT", 0x02, "BXPC",
"CSSDT", 0x1)
External(CMST, MethodObj)
External(MPEJ, MethodObj)
+ External(MOST, MethodObj)
Name(_CRS, ResourceTemplate() {
QwordMemory(
@@ -60,6 +61,9 @@ DefinitionBlock ("ssdt-mem.aml", "SSDT", 0x02, "BXPC",
"CSSDT", 0x1)
Method (_EJ0, 1, NotSerialized) {
MPEJ(ID, Arg0)
}
+ Method (_OST, 3) {
+ MOST(Arg0, Arg1, ID)
+ }
}
}
--
1.7.9
- [Qemu-devel] [RFC PATCH v3 09/19] pc: Add dimm paravirt SRAT info, (continued)
- [Qemu-devel] [RFC PATCH v3 09/19] pc: Add dimm paravirt SRAT info, Vasilis Liaskovitis, 2012/09/21
- [Qemu-devel] [RFC PATCH v3 11/19] Implement qmp and hmp commands for notification lists, Vasilis Liaskovitis, 2012/09/21
- [Qemu-devel] [RFC PATCH v3 12/19] Implement "info memory-total" and "query-memory-total", Vasilis Liaskovitis, 2012/09/21
- [Qemu-devel] [RFC PATCH v3 17/19][SeaBIOS] Implement _PS3 method for memory device, Vasilis Liaskovitis, 2012/09/21
- [Qemu-devel] [RFC PATCH v3 15/19] Add _OST dimm support, Vasilis Liaskovitis, 2012/09/21
- [Qemu-devel] [RFC PATCH v3 18/19] Implement _PS3 for dimm, Vasilis Liaskovitis, 2012/09/21
- [Qemu-devel] [RFC PATCH v3 13/19] balloon: update with hotplugged memory, Vasilis Liaskovitis, 2012/09/21
- [Qemu-devel] [RFC PATCH v3 10/19] fix live-migration when "populated=on" is missing, Vasilis Liaskovitis, 2012/09/21
- [Qemu-devel] [RFC PATCH v3 14/19][SeaBIOS] Add _OST dimm method,
Vasilis Liaskovitis <=
- [Qemu-devel] [RFC PATCH v3 16/19] Update dimm state on reset, Vasilis Liaskovitis, 2012/09/21
- [Qemu-devel] [RFC PATCH v3 19/19][SeaBIOS] Calculate pcimem_start and pcimem64_start from SRAT entries, Vasilis Liaskovitis, 2012/09/21
- Re: [Qemu-devel] [RFC PATCH v3 19/19][SeaBIOS] Calculate pcimem_start and pcimem64_start from SRAT entries, Wen Congyang, 2012/09/24
- Re: [Qemu-devel] [RFC PATCH v3 00/19] ACPI memory hotplug, Blue Swirl, 2012/09/22