[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH v2 03/21][SeaBIOS] acpi-dsdt: Implement func
From: |
Vasilis Liaskovitis |
Subject: |
Re: [Qemu-devel] [RFC PATCH v2 03/21][SeaBIOS] acpi-dsdt: Implement functions for memory hotplug |
Date: |
Fri, 20 Jul 2012 10:48:27 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Tue, Jul 17, 2012 at 03:23:00PM +0800, Wen Congyang wrote:
> > + Method(MESC, 0) {
> > + // Local5 = active memdevice bitmap
> > + Store (MES, Local5)
> > + // Local2 = last read byte from bitmap
> > + Store (Zero, Local2)
> > + // Local0 = memory device iterator
> > + Store (Zero, Local0)
> > + While (LLess(Local0, SizeOf(MEON))) {
> > + // Local1 = MEON flag for this memory device
> > + Store(DerefOf(Index(MEON, Local0)), Local1)
> > + If (And(Local0, 0x07)) {
> > + // Shift down previously read bitmap byte
> > + ShiftRight(Local2, 1, Local2)
> > + } Else {
> > + // Read next byte from memdevice bitmap
> > + Store(DerefOf(Index(Local5, ShiftRight(Local0, 3))),
> > Local2)
> > + }
> > + // Local3 = active state for this memory device
> > + Store(And(Local2, 1), Local3)
> > +
> > + If (LNotEqual(Local1, Local3)) {
>
> There are two ways to hot remove a memory device:
> 1. dimm_del
> 2. echo 1 >/sys/bus/acpi/devices/PNP0C80:XX/eject
>
> In the 2nd case, we cannot hotplug this memory device again,
> because both Local1 and Local3 are 1.
>
> So, I think MEON flag for this meory device should be set to 0 in method _EJ0
> or implement method _PS3 for memory device.
good catch. Both internal seabios state (MEON) and the machine qemu bitmap
(mems_sts in hw/acpi_piix4.c) have to be updated when the ejection comes from
OSPM action. I will implement a _PS3 method that updates the MEON flag and also
signals qemu to change the mems_sts bitmap.
thanks,
- Vasilis
- Re: [Qemu-devel] [RFC PATCH v2 04/21][SeaBIOS] acpi: generate hotplug memory devices, (continued)
- [Qemu-devel] [RFC PATCH v2 02/21][SeaBIOS] Add SSDT memory device support, Vasilis Liaskovitis, 2012/07/11
- [Qemu-devel] [RFC PATCH v2 14/21][SeaBIOS] acpi_dsdt: Support _OST dimm method, Vasilis Liaskovitis, 2012/07/11
- [Qemu-devel] [RFC PATCH v2 17/21][SeaBIOS] acpi_dsdt: Revert internal dimm state on _OST failure, Vasilis Liaskovitis, 2012/07/11
- [Qemu-devel] [RFC PATCH v2 06/21] dimm: Implement memory device abstraction, Vasilis Liaskovitis, 2012/07/11
- [Qemu-devel] [RFC PATCH v2 03/21][SeaBIOS] acpi-dsdt: Implement functions for memory hotplug, Vasilis Liaskovitis, 2012/07/11
- [Qemu-devel] [RFC PATCH v2 12/21] fix live-migration when "populated=on" is missing, Vasilis Liaskovitis, 2012/07/11
- [Qemu-devel] [RFC PATCH v2 10/21] Implement "-dimm" command line option, Vasilis Liaskovitis, 2012/07/11
- [Qemu-devel] [RFC PATCH v2 09/21] pc: Add dimm paravirt SRAT info, Vasilis Liaskovitis, 2012/07/11
- [Qemu-devel] [RFC PATCH v2 11/21] Implement dimm_add and dimm_del hmp/qmp commands, Vasilis Liaskovitis, 2012/07/11
- [Qemu-devel] [RFC PATCH v2 07/21] acpi_piix4: Implement memory device hotplug registers, Vasilis Liaskovitis, 2012/07/11
- [Qemu-devel] [RFC PATCH v2 16/21] acpi_piix4: Update dimm state on VM reboot, Vasilis Liaskovitis, 2012/07/11
- [Qemu-devel] [RFC PATCH v2 13/21] Implement memory hotplug notification lists, Vasilis Liaskovitis, 2012/07/11