mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-18 06:58:54 +00:00
x86: ivybridge: Request MTRRs for DRAM regions
We should use MTRRs to speed up execution. Add a list of MTRR requests which will dealt with when we relocate and run from RAM. We set RAM as cacheable (with write-back) and registers as non-cacheable. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
313aef37a1
commit
aaafcd6c3f
1 changed files with 10 additions and 0 deletions
|
@ -17,6 +17,7 @@
|
|||
#include <asm/processor.h>
|
||||
#include <asm/gpio.h>
|
||||
#include <asm/global_data.h>
|
||||
#include <asm/mtrr.h>
|
||||
#include <asm/pci.h>
|
||||
#include <asm/arch/me.h>
|
||||
#include <asm/arch/pei_data.h>
|
||||
|
@ -430,6 +431,15 @@ static int sdram_find(pci_dev_t dev)
|
|||
add_memory_area(info, (2 << 28) + (2 << 20), 4 << 28);
|
||||
add_memory_area(info, (4 << 28) + (2 << 20), tseg_base);
|
||||
add_memory_area(info, 1ULL << 32, touud);
|
||||
|
||||
/* Add MTRRs for memory */
|
||||
mtrr_add_request(MTRR_TYPE_WRBACK, 0, 2ULL << 30);
|
||||
mtrr_add_request(MTRR_TYPE_WRBACK, 2ULL << 30, 512 << 20);
|
||||
mtrr_add_request(MTRR_TYPE_WRBACK, 0xaULL << 28, 256 << 20);
|
||||
mtrr_add_request(MTRR_TYPE_UNCACHEABLE, tseg_base, 16 << 20);
|
||||
mtrr_add_request(MTRR_TYPE_UNCACHEABLE, tseg_base + (16 << 20),
|
||||
32 << 20);
|
||||
|
||||
/*
|
||||
* If >= 4GB installed then memory from TOLUD to 4GB
|
||||
* is remapped above TOM, TOUUD will account for both
|
||||
|
|
Loading…
Add table
Reference in a new issue