xref: /kvm-unit-tests/lib/riscv/asm/setup.h (revision 71f7db53297d39b7d9b779d6ecbd49f0d8da1dfc)
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