intel fsp: remove CHIPSET_RESERVED_MEM_BYTES

FSP 1.1 platforms should be conforming to the spec. In order
to ensure following specification remove the crutch that allows
FSP to no conform.

BUG=chrome-os-partner:41961
BRANCH=None
TEST=Built.

Change-Id: I28b876773a3b6f07223d60a5133129d8f2c75bf6
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: c3fe08c5af41867782e422f27b0aed1b762ff34a
Original-Change-Id: Ib97027a35cdb914aca1eec0eeb225a55f51a4b4b
Original-Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/285187
Original-Reviewed-by: Leroy P Leahy <leroy.p.leahy@intel.com>
Original-Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: http://review.coreboot.org/10993
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
This commit is contained in:
Aaron Durbin 2015-07-13 16:55:28 -05:00 committed by Patrick Georgi
parent 367ddc91ff
commit bbbfbf2e0f
6 changed files with 2 additions and 24 deletions

View File

@ -81,5 +81,5 @@ void *cbmem_top(void)
*/ */
smm_region((void **)&smm_base, &smm_size); smm_region((void **)&smm_base, &smm_size);
return (void *)(smm_base - CONFIG_CHIPSET_RESERVED_MEM_BYTES); return (void *)smm_base;
} }

View File

@ -52,8 +52,6 @@
* +--------------------------+ SMMRRH, IRM0 * +--------------------------+ SMMRRH, IRM0
* | TSEG | * | TSEG |
* +--------------------------+ SMMRRL * +--------------------------+ SMMRRL
* | FSP Reserved Mem |
* +--------------------------+ SMMRRL - CONFIG_CHIPSET_RESERVED_MEM_BYTES
* | Usable DRAM | * | Usable DRAM |
* +--------------------------+ 0 * +--------------------------+ 0
* *

View File

@ -36,18 +36,6 @@ endif # CACHE_MRC_SETTINGS
endif # HAVE_MRC endif # HAVE_MRC
config CHIPSET_RESERVED_MEM_BYTES
hex "Size in bytes of chipset reserved memory area"
default 0
help
If insufficient documentation is available to determine the size of
the chipset reserved memory area by walking the chipset registers,
the CHIPSET_RESERVED_MEM_BYTES may be used as a workaround to account
for the missing pieces of memory. The value specified in bytes is:
value = TSEG base - top of low usable memory - (any sizes determined
by reading chipset registers)
config DISPLAY_MTRRS config DISPLAY_MTRRS
bool "MTRRs: Display the MTRR settings" bool "MTRRs: Display the MTRR settings"
default n default n

View File

@ -153,8 +153,6 @@ void raminit(struct romstage_params *params)
#endif #endif
/* Migrate CAR data */ /* Migrate CAR data */
printk(BIOS_DEBUG, "0x%08x: CONFIG_CHIPSET_RESERVED_MEM_BYTES\n",
CONFIG_CHIPSET_RESERVED_MEM_BYTES);
printk(BIOS_DEBUG, "0x%p: cbmem_top\n", cbmem_top()); printk(BIOS_DEBUG, "0x%p: cbmem_top\n", cbmem_top());
if (pei_ptr->boot_mode != SLEEP_STATE_S3) { if (pei_ptr->boot_mode != SLEEP_STATE_S3) {
cbmem_initialize_empty_id_size(CBMEM_ID_FSP_RESERVED_MEMORY, cbmem_initialize_empty_id_size(CBMEM_ID_FSP_RESERVED_MEMORY,
@ -267,9 +265,6 @@ void raminit(struct romstage_params *params)
size_t delta_bytes = (unsigned int)smm_base size_t delta_bytes = (unsigned int)smm_base
- cbmem_root->PhysicalStart - cbmem_root->PhysicalStart
- cbmem_root->ResourceLength; - cbmem_root->ResourceLength;
printk(BIOS_DEBUG,
"0x%08x: CONFIG_CHIPSET_RESERVED_MEM_BYTES\n",
CONFIG_CHIPSET_RESERVED_MEM_BYTES);
printk(BIOS_DEBUG, printk(BIOS_DEBUG,
"0x%08x: Chipset reserved bytes reported by FSP\n", "0x%08x: Chipset reserved bytes reported by FSP\n",
(unsigned int)delta_bytes); (unsigned int)delta_bytes);

View File

@ -96,6 +96,6 @@ void *cbmem_top(void)
top_of_ram = ALIGN_DOWN(top_of_ram, mmap_region_granluarity()); top_of_ram = ALIGN_DOWN(top_of_ram, mmap_region_granluarity());
} }
return (void *)(top_of_ram - CONFIG_CHIPSET_RESERVED_MEM_BYTES); return (void *)top_of_ram;
} }

View File

@ -351,15 +351,12 @@ static void mc_add_dram_resources(device_t dev)
base_k = 0xc0000 >> 10; base_k = 0xc0000 >> 10;
size_k = (unsigned long)(mc_values[TSEG_REG] >> 10) - base_k; size_k = (unsigned long)(mc_values[TSEG_REG] >> 10) - base_k;
size_k -= dpr_size >> 10; size_k -= dpr_size >> 10;
size_k -= CONFIG_CHIPSET_RESERVED_MEM_BYTES >> 10;
ram_resource(dev, index++, base_k, size_k); ram_resource(dev, index++, base_k, size_k);
/* TSEG - DPR -> BGSM */ /* TSEG - DPR -> BGSM */
resource = new_resource(dev, index++); resource = new_resource(dev, index++);
resource->base = mc_values[TSEG_REG] - dpr_size; resource->base = mc_values[TSEG_REG] - dpr_size;
resource->size = mc_values[BGSM_REG] - resource->base; resource->size = mc_values[BGSM_REG] - resource->base;
resource->base -= CONFIG_CHIPSET_RESERVED_MEM_BYTES;
resource->size += CONFIG_CHIPSET_RESERVED_MEM_BYTES;
resource->flags = IORESOURCE_MEM | IORESOURCE_FIXED | resource->flags = IORESOURCE_MEM | IORESOURCE_FIXED |
IORESOURCE_STORED | IORESOURCE_RESERVE | IORESOURCE_STORED | IORESOURCE_RESERVE |
IORESOURCE_ASSIGNED | IORESOURCE_CACHEABLE; IORESOURCE_ASSIGNED | IORESOURCE_CACHEABLE;