blob: 5f32720f3106d3374f5c3abf4f098ac2e64a32ec [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);
Jeremy Compostellaba757a72023-12-20 09:07:04 -080013unsigned int soc_phys_address_size(void);
Myles Watson7943fe62009-10-30 02:08:07 +000014
Kyösti Mälkki44da9e22019-09-27 15:02:32 +030015#if ENV_RAMSTAGE
Stefan Reinauer6a001132017-07-13 02:20:27 +020016#define __cpu_driver __attribute__((used, __section__(".rodata.cpu_driver")))
Kyösti Mälkki44da9e22019-09-27 15:02:32 +030017#else
18#define __cpu_driver __attribute__((unused))
19#endif
20
Eric Biedermanc84c1902004-10-14 20:13:01 +000021/** start of compile time generated pci driver array */
Aaron Durbin03758152015-09-03 17:23:08 -050022extern struct cpu_driver _cpu_drivers[];
Eric Biedermanc84c1902004-10-14 20:13:01 +000023/** end of compile time generated pci driver array */
Aaron Durbin03758152015-09-03 17:23:08 -050024extern struct cpu_driver _ecpu_drivers[];
Eric Biederman8ca8d762003-04-22 19:02:15 +000025
26#endif /* CPU_CPU_H */