1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * This file is subject to the terms and conditions of the GNU General Public
4  * License.  See the file COPYING in the main directory of this archive
5  * for more details.
6  *
7  * Copyright (C) 2020 Loongson Technology Co., Ltd.
8  */
9 #ifndef _ASM_BOOTINFO_H
10 #define _ASM_BOOTINFO_H
11 
12 #include <linux/types.h>
13 #include <asm/setup.h>
14 
15 const char *get_system_type(void);
16 
17 extern void memblock_init(void);
18 extern void detect_memory_region(phys_addr_t start, phys_addr_t sz_min,  phys_addr_t sz_max);
19 
20 extern void early_init(void);
21 extern void init_environ(void);
22 extern void platform_init(void);
23 extern void plat_mem_setup(void);
24 extern int __init init_numa_memory(void);
25 
26 struct loongson_board_info {
27 	int bios_size;
28 	const char *bios_vendor;
29 	const char *bios_version;
30 	const char *bios_release_date;
31 	const char *board_name;
32 	const char *board_vendor;
33 };
34 
35 struct loongson_system_configuration {
36 	int nr_cpus;
37 	int nr_nodes;
38 	int nr_io_pics;
39 	int boot_cpu_id;
40 	int cores_per_node;
41 	int cores_per_package;
42 	const char *cpuname;
43 	u64 suspend_addr;
44 };
45 
46 extern u64 efi_system_table;
47 extern struct loongson_board_info b_info;
48 extern struct loongson_system_configuration loongson_sysconf;
49 extern unsigned long fw_arg0, fw_arg1, fw_arg2;
50 
51 #endif /* _ASM_BOOTINFO_H */
52