1bd744d46SAndrew Jones /* SPDX-License-Identifier: GPL-2.0-only */ 2bd744d46SAndrew Jones #ifndef _ASMRISCV_SETUP_H_ 3bd744d46SAndrew Jones #define _ASMRISCV_SETUP_H_ 422f287f4SAndrew Jones #include <libcflat.h> 5386561f8SAndrew Jones #include <asm/processor.h> 6bd744d46SAndrew Jones 7*27e44c5dSAndrew Jones #define NR_CPUS 256 8386561f8SAndrew Jones extern struct thread_info cpus[NR_CPUS]; 922f287f4SAndrew Jones extern int nr_cpus; 1093bcbb09SJames Raphael Tiovalen extern uint64_t timebase_frequency; 1122f287f4SAndrew Jones int hartid_to_cpu(unsigned long hartid); 1222f287f4SAndrew Jones 1322f287f4SAndrew Jones void io_init(void); 14bd744d46SAndrew Jones void setup(const void *fdt, phys_addr_t freemem_start); 15bd744d46SAndrew Jones 1668128c6fSAndrew Jones #ifdef CONFIG_EFI 1768128c6fSAndrew Jones #include <efi.h> 189f34c810SAndrew Jones efi_status_t setup_efi(efi_bootinfo_t *efi_bootinfo); 1968128c6fSAndrew Jones #endif 2068128c6fSAndrew Jones 21bd744d46SAndrew Jones #endif /* _ASMRISCV_SETUP_H_ */ 22