diff options
Diffstat (limited to 'src/cpu/intel/smm/gen1/smmrelocate.c')
-rw-r--r-- | src/cpu/intel/smm/gen1/smmrelocate.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/cpu/intel/smm/gen1/smmrelocate.c b/src/cpu/intel/smm/gen1/smmrelocate.c index da43de09fd..e80fa31489 100644 --- a/src/cpu/intel/smm/gen1/smmrelocate.c +++ b/src/cpu/intel/smm/gen1/smmrelocate.c @@ -132,6 +132,10 @@ static void fill_in_relocation_params(struct smm_relocation_params *params) params->ied_base = tsegmb + params->smram_size; params->ied_size = tseg_size - params->smram_size; + /* Adjust available SMM handler memory size. */ + if (IS_ENABLED(CONFIG_CACHE_RELOCATED_RAMSTAGE_OUTSIDE_CBMEM)) + params->smram_size -= CONFIG_SMM_RESERVED_SIZE; + /* SMRR has 32-bits of valid address aligned to 4KiB. */ params->smrr_base.lo = (params->smram_base & rmask) | MTRR_TYPE_WRBACK; params->smrr_base.hi = 0; |