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
15const char *get_system_type(void);
16
17extern void memblock_init(void);
18extern void detect_memory_region(phys_addr_t start, phys_addr_t sz_min,  phys_addr_t sz_max);
19
20extern void early_init(void);
21extern void init_environ(void);
22extern void platform_init(void);
23extern void plat_mem_setup(void);
24extern int __init init_numa_memory(void);
25
26struct 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
35struct 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
46extern u64 efi_system_table;
47extern struct loongson_board_info b_info;
48extern struct loongson_system_configuration loongson_sysconf;
49extern unsigned long fw_arg0, fw_arg1, fw_arg2;
50
51#endif /* _ASM_BOOTINFO_H */
52