Eric Biederman | 8ca8d76 | 2003-04-22 19:02:15 +0000 | [diff] [blame] | 1 | #ifndef CPU_CPU_H |
| 2 | #define CPU_CPU_H |
| 3 | |
Stefan Reinauer | 3e9b52d | 2004-11-12 21:00:29 +0000 | [diff] [blame] | 4 | #include <arch/cpu.h> |
Eric Biederman | 8ca8d76 | 2003-04-22 19:02:15 +0000 | [diff] [blame] | 5 | |
Stefan Reinauer | 24d1d4b | 2013-03-21 11:51:41 -0700 | [diff] [blame] | 6 | #if !defined(__PRE_RAM__) && !defined(__SMM__) |
Ronald G. Minnich | 8b93059 | 2012-06-05 14:41:27 -0700 | [diff] [blame] | 7 | void cpu_initialize(unsigned int cpu_index); |
Stefan Reinauer | ac8209a | 2012-04-27 00:39:17 +0200 | [diff] [blame] | 8 | struct bus; |
Eric Biederman | 7003ba4 | 2004-10-16 06:20:29 +0000 | [diff] [blame] | 9 | void initialize_cpus(struct bus *cpu_bus); |
Stefan Reinauer | 399486e | 2012-12-06 13:54:29 -0800 | [diff] [blame] | 10 | void asmlinkage secondary_cpu_init(unsigned int cpu_index); |
Myles Watson | 7943fe6 | 2009-10-30 02:08:07 +0000 | [diff] [blame] | 11 | |
Myles Watson | 7943fe6 | 2009-10-30 02:08:07 +0000 | [diff] [blame] | 12 | void smm_init(void); |
Stefan Reinauer | de3206a | 2010-02-22 06:09:43 +0000 | [diff] [blame] | 13 | void smm_lock(void); |
| 14 | void smm_setup_structures(void *gnvs, void *tcg, void *smi1); |
Eric Biederman | 8ca8d76 | 2003-04-22 19:02:15 +0000 | [diff] [blame] | 15 | |
Eric Biederman | 65186ce | 2004-10-14 20:15:40 +0000 | [diff] [blame] | 16 | #define __cpu_driver __attribute__ ((used,__section__(".rodata.cpu_driver"))) |
Vladimir Serbinenko | 98dda06 | 2014-01-02 10:08:19 +0100 | [diff] [blame] | 17 | #ifndef __SIMPLE_DEVICE__ |
Eric Biederman | c84c190 | 2004-10-14 20:13:01 +0000 | [diff] [blame] | 18 | /** start of compile time generated pci driver array */ |
Aaron Durbin | 0375815 | 2015-09-03 17:23:08 -0500 | [diff] [blame] | 19 | extern struct cpu_driver _cpu_drivers[]; |
Eric Biederman | c84c190 | 2004-10-14 20:13:01 +0000 | [diff] [blame] | 20 | /** end of compile time generated pci driver array */ |
Aaron Durbin | 0375815 | 2015-09-03 17:23:08 -0500 | [diff] [blame] | 21 | extern struct cpu_driver _ecpu_drivers[]; |
Vladimir Serbinenko | 98dda06 | 2014-01-02 10:08:19 +0100 | [diff] [blame] | 22 | #endif |
Stefan Reinauer | 24d1d4b | 2013-03-21 11:51:41 -0700 | [diff] [blame] | 23 | #endif /* !__PRE_RAM__ && !__SMM__ */ |
Eric Biederman | 8ca8d76 | 2003-04-22 19:02:15 +0000 | [diff] [blame] | 24 | |
| 25 | #endif /* CPU_CPU_H */ |