Add support to run SMM handler in TSEG instead of ASEG
[coreboot.git] / src / include / cpu / cpu.h
1 #ifndef CPU_CPU_H
2 #define CPU_CPU_H
3
4 struct device;
5 struct bus;
6 #include <arch/cpu.h>
7
8 void cpu_initialize(void);
9 void initialize_cpus(struct bus *cpu_bus);
10 void secondary_cpu_init(void);
11
12 #if !CONFIG_WAIT_BEFORE_CPUS_INIT
13         #define cpus_ready_for_init() do {} while(0)
14 #else
15         void cpus_ready_for_init(void);
16 #endif
17
18 #if CONFIG_HAVE_SMI_HANDLER
19 void smm_init(void);
20 void smm_lock(void);
21 void smm_setup_structures(void *gnvs, void *tcg, void *smi1);
22 #endif
23
24 #define __cpu_driver __attribute__ ((used,__section__(".rodata.cpu_driver")))
25 /** start of compile time generated pci driver array */
26 extern struct cpu_driver cpu_drivers[];
27 /** end of compile time generated pci driver array */
28 extern struct cpu_driver ecpu_drivers[];
29
30 #endif /* CPU_CPU_H */