| QEMU<->ACPI BIOS memory hotplug interface |
| -------------------------------------- |
| |
| ACPI BIOS GPE.3 handler is dedicated for notifying OS about memory hot-add |
| events. |
| |
| Memory hot-plug interface (IO port 0xa00-0xa17, 1-4 byte access): |
| --------------------------------------------------------------- |
| 0xa00: |
| read access: |
| [0x0-0x3] Lo part of memory device phys address |
| [0x4-0x7] Hi part of memory device phys address |
| [0x8-0xb] Lo part of memory device size in bytes |
| [0xc-0xf] Hi part of memory device size in bytes |
| [0x10-0x13] Memory device proximity domain |
| [0x14] Memory device status fields |
| bits: |
| 0: Device is enabled and may be used by guest |
| 1: Device insert event, used to distinguish device for which |
| no device check event to OSPM was issued. |
| It's valid only when bit 1 is set. |
| 2-7: reserved and should be ignored by OSPM |
| [0x15-0x17] reserved |
| |
| write access: |
| [0x0-0x3] Memory device slot selector, selects active memory device. |
| All following accesses to other registers in 0xa00-0xa17 |
| region will read/store data from/to selected memory device. |
| [0x4-0x7] OST event code reported by OSPM |
| [0x8-0xb] OST status code reported by OSPM |
| [0xc-0x13] reserved, writes into it are ignored |
| [0x14] Memory device control fields |
| bits: |
| 0: reserved, OSPM must clear it before writing to register |
| 1: if set to 1 clears device insert event, set by OSPM |
| after it has emitted device check event for the |
| selected memory device |
| 2-7: reserved, OSPM must clear them before writing to register |
| |
| Selecting memory device slot beyond present range has no effect on platform: |
| - write accesses to memory hot-plug registers not documented above are |
| ignored |
| - read accesses to memory hot-plug registers not documented above return |
| all bits set to 1. |