mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-29 16:10:58 +00:00
x86: Use mtrr_commit() with FSP2
With FSP2 we use MTRRs in U-Boot proper even though the 32-bit init happens in TPL. Enable this, using a variable to try to make the conditions more palatable. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
parent
b377ebbd5b
commit
cc2d27dcdc
1 changed files with 15 additions and 7 deletions
|
@ -12,15 +12,23 @@ DECLARE_GLOBAL_DATA_PTR;
|
|||
|
||||
int init_cache_f_r(void)
|
||||
{
|
||||
#if CONFIG_IS_ENABLED(X86_32BIT_INIT) && !defined(CONFIG_HAVE_FSP) && \
|
||||
!defined(CONFIG_SYS_SLIMBOOTLOADER)
|
||||
bool do_mtrr = CONFIG_IS_ENABLED(X86_32BIT_INIT) ||
|
||||
IS_ENABLED(CONFIG_FSP_VERSION2);
|
||||
int ret;
|
||||
|
||||
ret = mtrr_commit(false);
|
||||
/* If MTRR MSR is not implemented by the processor, just ignore it */
|
||||
if (ret && ret != -ENOSYS)
|
||||
return ret;
|
||||
#endif
|
||||
do_mtrr &= !IS_ENABLED(CONFIG_FSP_VERSION1) &&
|
||||
!IS_ENABLED(CONFIG_SYS_SLIMBOOTLOADER);
|
||||
|
||||
if (do_mtrr) {
|
||||
ret = mtrr_commit(false);
|
||||
/*
|
||||
* If MTRR MSR is not implemented by the processor, just ignore
|
||||
* it
|
||||
*/
|
||||
if (ret && ret != -ENOSYS)
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Initialise the CPU cache(s) */
|
||||
return init_cache();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue