blob: d5468549d7c9f8a7b97c39166ea29b49d226cf91 [file] [log] [blame]
Eric Biederman8ca8d762003-04-22 19:02:15 +00001#ifndef CPU_CPU_H
2#define CPU_CPU_H
3
Stefan Reinauer3e9b52d2004-11-12 21:00:29 +00004#include <arch/cpu.h>
Eric Biederman8ca8d762003-04-22 19:02:15 +00005
Kyösti Mälkki34fcec12016-06-20 21:59:19 +03006#if !defined(__ROMCC__)
Ronald G. Minnich8b930592012-06-05 14:41:27 -07007void cpu_initialize(unsigned int cpu_index);
Stefan Reinauerac8209a2012-04-27 00:39:17 +02008struct bus;
Eric Biederman7003ba42004-10-16 06:20:29 +00009void initialize_cpus(struct bus *cpu_bus);
Stefan Reinauer399486e2012-12-06 13:54:29 -080010void asmlinkage secondary_cpu_init(unsigned int cpu_index);
Kyösti Mälkki140087f2016-12-06 14:00:05 +020011int cpu_phys_address_size(void);
Myles Watson7943fe62009-10-30 02:08:07 +000012
Lee Leahyae3fd342017-03-07 12:55:23 -080013#define __cpu_driver __attribute__ ((used, __section__(".rodata.cpu_driver")))
Vladimir Serbinenko98dda062014-01-02 10:08:19 +010014#ifndef __SIMPLE_DEVICE__
Eric Biedermanc84c1902004-10-14 20:13:01 +000015/** start of compile time generated pci driver array */
Aaron Durbin03758152015-09-03 17:23:08 -050016extern struct cpu_driver _cpu_drivers[];
Eric Biedermanc84c1902004-10-14 20:13:01 +000017/** end of compile time generated pci driver array */
Aaron Durbin03758152015-09-03 17:23:08 -050018extern struct cpu_driver _ecpu_drivers[];
Vladimir Serbinenko98dda062014-01-02 10:08:19 +010019#endif
Kyösti Mälkki34fcec12016-06-20 21:59:19 +030020#endif /* !__ROMCC__ */
Eric Biederman8ca8d762003-04-22 19:02:15 +000021
22#endif /* CPU_CPU_H */