bebf66909a
On x86 systems there is a concept of cachings the ROM. However, the typical policy is that the boot cpu is the only one with it enabled. In order to ensure the MTRRs are the same across cores the rom cache needs to be disabled prior to OS resume or boot handoff. Therefore, utilize the boot state callbacks to schedule the disabling of the ROM cache at the ramstage exit points. Change-Id: I4da5886d9f1cf4c6af2f09bb909f0d0f0faa4e62 Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: http://review.coreboot.org/3138 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
25 lines
739 B
C
25 lines
739 B
C
#ifndef CPU_CPU_H
|
|
#define CPU_CPU_H
|
|
|
|
#include <arch/cpu.h>
|
|
|
|
#if !defined(__PRE_RAM__) && !defined(__SMM__)
|
|
void cpu_initialize(unsigned int cpu_index);
|
|
struct bus;
|
|
void initialize_cpus(struct bus *cpu_bus);
|
|
void asmlinkage secondary_cpu_init(unsigned int cpu_index);
|
|
|
|
#if CONFIG_HAVE_SMI_HANDLER
|
|
void smm_init(void);
|
|
void smm_lock(void);
|
|
void smm_setup_structures(void *gnvs, void *tcg, void *smi1);
|
|
#endif
|
|
|
|
#define __cpu_driver __attribute__ ((used,__section__(".rodata.cpu_driver")))
|
|
/** start of compile time generated pci driver array */
|
|
extern struct cpu_driver cpu_drivers[];
|
|
/** end of compile time generated pci driver array */
|
|
extern struct cpu_driver ecpu_drivers[];
|
|
#endif /* !__PRE_RAM__ && !__SMM__ */
|
|
|
|
#endif /* CPU_CPU_H */
|