[SeaBIOS] [Qemu-devel] [RFC PATCH 2/9] Implement acpi-dsdt functions for memory hotplug.
Vasilis Liaskovitis
vasilis.liaskovitis at profitbricks.com
Fri Apr 20 16:11:21 CEST 2012
Hi,
On Fri, Apr 20, 2012 at 12:55:24PM +0200, Igor Mammedov wrote:
> >+ /* Memory eject notify method */
> >+ OperationRegion(MEMJ, SystemIO, 0xaf40, 32)
> >+ Field (MEMJ, ByteAcc, NoLock, Preserve)
> >+ {
> >+ MPE, 256
> >+ }
> >+
> >+ Method (MPEJ, 2, NotSerialized) {
> >+ // _EJ0 method - eject callback
> >+ Store(ShiftLeft(1,Arg0), MPE)
> >+ Sleep(200)
> >+ }
> MPE is write only and only one memslot is ejected at a time. Why 256 bit-field is here then?
> Could we use just 1 byte and write a slot number into it and save some io address space this way?
good point. This was implemented similarly to the hot-add/status register only
for symmetry, but you are right, since only one slot is ejected at a time, this
can be reduced to one byte and save space. I will update for the next version.
>
> >+
> >+ /* Memory hotplug notify method */
> >+ OperationRegion(MEST, SystemIO, 0xaf20, 32)
> It's more a suggestion: move it a bit farther to allow maybe 1024 cpus in the future.
> That will prevent compatibility a headache, if we decide to expand support to more then
> 256 cpus.
ok, I will move it to 0xaf80 or higher (so cpu-hotplug could be extended to at
least 1024 cpus)
>
> Or event better to make this address configurable in run-time and build this var along
> with SSDT (converting along the way all other hard-coded io ports to the same generic
> run-time interface). This wish is out of scope of this patch-set, but what
> do you think about the idea?
yes, that would give more flexibility and avoid more compatibility headaches.
As you say it's not a main issue for the series, but I can work on it as we start
converting hardcoded i/o ports to configurable properties.
thanks,
- Vasilis
More information about the SeaBIOS
mailing list