aboutsummaryrefslogtreecommitdiff
path: root/src/mainboard/emulation/qemu-i440fx
diff options
context:
space:
mode:
authorArthur Heymans <arthur@aheymans.xyz>2020-12-02 13:28:53 +0100
committerPatrick Georgi <pgeorgi@google.com>2021-01-22 14:25:35 +0000
commit279c3e1e7d888af378e85f51bbfa3bbe667909b1 (patch)
treef1ecab543258b38e4a1c6f0a7b777ca3b8c94242 /src/mainboard/emulation/qemu-i440fx
parentc89d2a289079b666a2a88168b5734417fb07c122 (diff)
mb/emulation/qemu-q35: Account for TSEG
TSEG is located below TOLUD. The size is configured in ESMRAMC but can also be configured with "-global mch.extended-tseg-mbytes=5" command line argument. Note that the size in ESMRAMC needs to be 'invalid' (3) for this to take action. coreboot will leave TSEG at the default 1MiB. Note that even if TSEG does not end up being used, it is likely a good idea to not put anything there as if SMM gets locked down by something else it will suddenly be inaccessible. Change-Id: I5fd82a42d6602f1369bb3c69556c46f537542705 Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-on: https://review.coreboot.org/c/coreboot/+/48236 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Diffstat (limited to 'src/mainboard/emulation/qemu-i440fx')
-rw-r--r--src/mainboard/emulation/qemu-i440fx/memmap.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mainboard/emulation/qemu-i440fx/memmap.c b/src/mainboard/emulation/qemu-i440fx/memmap.c
index b30b3816c5..75ab352b69 100644
--- a/src/mainboard/emulation/qemu-i440fx/memmap.c
+++ b/src/mainboard/emulation/qemu-i440fx/memmap.c
@@ -4,6 +4,7 @@
#include <arch/io.h>
#include <arch/romstage.h>
#include <console/console.h>
+#include <cpu/x86/smm.h>
#include "memory.h"
#include "fw_cfg.h"
@@ -50,6 +51,11 @@ void *cbmem_top_chipset(void)
top = (uintptr_t)qemu_get_memory_size() * 1024;
}
+ if (CONFIG(BOARD_EMULATION_QEMU_X86_Q35)) {
+ size_t smm_size;
+ smm_region(&top, &smm_size);
+ }
+
return (void *)top;
}