blob: c0be8027d372937bd419853503b306dbb6871cc9 [file] [log] [blame]
#ifndef CPU_CPU_H
#define CPU_CPU_H
#include <arch/cpu.h>
#if !defined(__ROMCC__)
void cpu_initialize(unsigned int cpu_index);
struct bus;
void initialize_cpus(struct bus *cpu_bus);
void secondary_cpu_init(unsigned int cpu_index)__attribute__((regparm(0)));
#if !CONFIG_WAIT_BEFORE_CPUS_INIT
#define cpus_ready_for_init() do {} while(0)
#else
void cpus_ready_for_init(void);
#endif
#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 /* !__ROMCC__ */
#endif /* CPU_CPU_H */