mirror of
https://github.com/fail0verflow/switch-coreboot.git
synced 2025-05-04 01:39:18 -04:00
early_mtrr_init() nukes all MTRRs including those which we use for CAR.
That means if it ever gets called while CAR is active, our stack will be dropped and mayhem will ensue. Besides that, it just replicated stage0.S functionality which already nukes all MTRRs before enabling CAR. We could move XIP ROM caching from stage0.S to early_mtrr_init(). It would probably slow down booting a bit, but the amount of asm code would be reduced. Thanks to Corey for telling me that early_mtrr_init() broke booting for him. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Ronald G. Minnich <rminnich@gmail.com> git-svn-id: svn://coreboot.org/repository/coreboot-v3@1067 f3766cd6-281f-0410-b1cd-43a5c92072e9
This commit is contained in:
parent
7c14a50c1c
commit
e4d46b9e90
1 changed files with 6 additions and 0 deletions
|
@ -67,6 +67,11 @@ void cache_cbmem(int type)
|
|||
enable_cache();
|
||||
}
|
||||
|
||||
/* early_mtrr_init was only usable for ROMCC compiled code. It nukes CAR.
|
||||
* The only remaining purpose would be to enable ROM caching here instead of
|
||||
* in stage0.S and even that is debatable.
|
||||
*/
|
||||
#if 0
|
||||
/* the fixed and variable MTTRs are power-up with random values,
|
||||
* clear them to MTRR_TYPE_UNCACHEABLE for safty.
|
||||
*/
|
||||
|
@ -130,6 +135,7 @@ void early_mtrr_init(void)
|
|||
do_early_mtrr_init(mtrr_msrs);
|
||||
enable_cache();
|
||||
}
|
||||
#endif
|
||||
|
||||
int early_mtrr_init_detected(void)
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue