blob: 9783976191d485f294944c1662a2d38540798198 [file] [log] [blame]
Martin Roth239b5df2022-07-26 22:18:26 -06001/* SPDX-License-Identifier: GPL-2.0-only */
2
Eric Biederman8ca8d762003-04-22 19:02:15 +00003#ifndef CPU_CPU_H
4#define CPU_CPU_H
5
Elyes Haouas35c3ae3b2022-10-27 12:25:12 +02006#include <arch/cpu.h> /* IWYU pragma: export */
Elyes HAOUAS5817c562020-07-12 09:03:22 +02007#include <stdint.h>
Eric Biederman8ca8d762003-04-22 19:02:15 +00008
Arthur Heymans6e23da22022-11-12 16:51:22 +01009void cpu_initialize(void);
Furquan Shaikhb1859a62020-04-30 21:27:47 -070010uintptr_t cpu_get_lapic_addr(void);
Stefan Reinauerac8209a2012-04-27 00:39:17 +020011struct bus;
Felix Heldff4d6be2023-09-12 14:18:49 +020012unsigned int cpu_phys_address_size(void);
Myles Watson7943fe62009-10-30 02:08:07 +000013
Kyösti Mälkki44da9e22019-09-27 15:02:32 +030014#if ENV_RAMSTAGE
Stefan Reinauer6a001132017-07-13 02:20:27 +020015#define __cpu_driver __attribute__((used, __section__(".rodata.cpu_driver")))
Kyösti Mälkki44da9e22019-09-27 15:02:32 +030016#else
17#define __cpu_driver __attribute__((unused))
18#endif
19
Eric Biedermanc84c1902004-10-14 20:13:01 +000020/** start of compile time generated pci driver array */
Aaron Durbin03758152015-09-03 17:23:08 -050021extern struct cpu_driver _cpu_drivers[];
Eric Biedermanc84c1902004-10-14 20:13:01 +000022/** end of compile time generated pci driver array */
Aaron Durbin03758152015-09-03 17:23:08 -050023extern struct cpu_driver _ecpu_drivers[];
Eric Biederman8ca8d762003-04-22 19:02:15 +000024
25#endif /* CPU_CPU_H */