soc/intel/skylake: Use EBDA structure to store soc reserve memory size

Avoid calling calculate_dram_base() function to get chipset reserved
memory size during pci resource allocation. Rather use EBDA to store
chipset reserved memory size while calling cbmem_top_int().

This patch avoids one extra calculate_dram_base() call.

BRANCH=none
BUG=b:63974384
TEST=Ensures DRAM based resource allocation has taken care of Intel
SoC reserved ranges.

Change-Id: I52f359db5a712179d7f2accb4d323d759f3b052b
Signed-off-by: Subrata Banik <subrata.banik@intel.com>
Reviewed-on: https://review.coreboot.org/22098
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Subrata Banik
2017-10-19 16:35:21 +05:30
committed by Aaron Durbin
parent b0c4cbb7af
commit f506cf0b8d
2 changed files with 6 additions and 4 deletions

View File

@@ -2,7 +2,7 @@
* This file is part of the coreboot project.
*
* Copyright (C) 2014 Google Inc.
* Copyright (C) 2015-2016 Intel Corporation.
* Copyright (C) 2015-2017 Intel Corporation.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -285,12 +285,12 @@ static uintptr_t calculate_dram_base(size_t *reserved_mem_size)
*/
size_t soc_reserved_mmio_size(void)
{
size_t chipset_mem_size;
struct ebda_config cfg;
calculate_dram_base(&chipset_mem_size);
retrieve_ebda_object(&cfg);
/* Get Intel Reserved Memory Range Size */
return chipset_mem_size;
return cfg.reserved_mem_size;
}
/* Fill up memory layout information */
@@ -299,6 +299,7 @@ void fill_soc_memmap_ebda(struct ebda_config *cfg)
size_t chipset_mem_size;
cfg->tolum_base = calculate_dram_base(&chipset_mem_size);
cfg->reserved_mem_size = chipset_mem_size;
}
void cbmem_top_init(void)