summaryrefslogtreecommitdiff
path: root/src/include/cpu
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2019-08-04 19:54:32 +0300
committerKyösti Mälkki <kyosti.malkki@gmail.com>2019-08-07 05:47:33 +0000
commitb2a5f0b9c2eb79f1a9d4fe4f87f1460c1be7fa6d (patch)
tree37b8bd523e8a672853bba15804cb161278824693 /src/include/cpu
parentfe481eb3e5e8e8d39d892bfcfe085bc7d49ff886 (diff)
cpu/x86/smm: Promote smm_subregion()
No need to limit these declarations to FSP. Both PARALLEL_MP_INIT smm_relocate() and TSEG_STAGE_CACHE can be built on top of this. Change-Id: I7b0b9b8c8bee03aabe251c50c47dc42f6596e169 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/34701 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Diffstat (limited to 'src/include/cpu')
-rw-r--r--src/include/cpu/x86/smm.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/include/cpu/x86/smm.h b/src/include/cpu/x86/smm.h
index 3071106080..edd1be8588 100644
--- a/src/include/cpu/x86/smm.h
+++ b/src/include/cpu/x86/smm.h
@@ -583,4 +583,26 @@ int smm_load_module(void *smram, size_t size, struct smm_loader_params *params);
void *backup_default_smm_area(void);
void restore_default_smm_area(void *smm_save_area);
+/*
+ * Fills in the arguments for the entire SMM region covered by chipset
+ * protections. e.g. TSEG.
+ */
+void smm_region(void **start, size_t *size);
+void smm_region_info(void **start, size_t *size);
+
+enum {
+ /* SMM handler area. */
+ SMM_SUBREGION_HANDLER,
+ /* SMM cache region. */
+ SMM_SUBREGION_CACHE,
+ /* Chipset specific area. */
+ SMM_SUBREGION_CHIPSET,
+ /* Total sub regions supported. */
+ SMM_SUBREGION_NUM,
+};
+
+/* Fills in the start and size for the requested SMM subregion. Returns
+ * 0 on success, < 0 on failure. */
+int smm_subregion(int sub, void **start, size_t *size);
+
#endif /* CPU_X86_SMM_H */