Add support for E820 Soft Reserved Memory type which is used by QEMU
to expose Specific Purpose Memory (SPM) regions.
Changes:
- Define E820_SOFT_RESERVED in e820map.h
- Handle E820_SOFT_RESERVED in qemu_early_e820()
Signed-off-by: FangSheng Huang <FangSheng.Huang@amd.com>
---
src/e820map.h | 1 +
src/fw/paravirt.c | 5 +++++
2 files changed, 6 insertions(+)
diff --git a/src/e820map.h b/src/e820map.h
index 07ce16ec..a46fcc42 100644
--- a/src/e820map.h
+++ b/src/e820map.h
@@ -8,6 +8,7 @@
#define E820_ACPI 3
#define E820_NVS 4
#define E820_UNUSABLE 5
+#define E820_SOFT_RESERVED 0xEFFFFFFF
struct e820entry {
u64 start;
diff --git a/src/fw/paravirt.c b/src/fw/paravirt.c
index e5d4eca0..2ec22878 100644
--- a/src/fw/paravirt.c
+++ b/src/fw/paravirt.c
@@ -768,6 +768,11 @@ static int qemu_early_e820(void)
dprintf(1, "qemu/e820: addr 0x%016llx len 0x%016llx [reserved]\n",
table.address, table.length);
break;
+ case E820_SOFT_RESERVED:
+ e820_add(table.address, table.length, table.type);
+ dprintf(1, "qemu/e820: addr 0x%016llx len 0x%016llx [soft reserved]\n",
+ table.address, table.length);
+ break;
case E820_RAM:
e820_add(table.address, table.length, table.type);
dprintf(1, "qemu/e820: addr 0x%016llx len 0x%016llx [RAM]\n",
--
2.34.1
_______________________________________________
SeaBIOS mailing list -- seabios@seabios.org
To unsubscribe send an email to seabios-leave@seabios.org