hc
2024-05-10 cde9070d9970eef1f7ec2360586c802a16230ad8
kernel/arch/mips/include/asm/mach-loongson64/boot_param.h
....@@ -2,6 +2,8 @@
22 #ifndef __ASM_MACH_LOONGSON64_BOOT_PARAM_H_
33 #define __ASM_MACH_LOONGSON64_BOOT_PARAM_H_
44
5
+#include <linux/types.h>
6
+
57 #define SYSTEM_RAM_LOW 1
68 #define SYSTEM_RAM_HIGH 2
79 #define SYSTEM_RAM_RESERVED 3
....@@ -190,6 +192,12 @@
190192 struct efi_reset_system_t reset_system;
191193 };
192194
195
+enum loongson_bridge_type {
196
+ LS7A = 1,
197
+ RS780E = 2,
198
+ VIRTUAL = 3
199
+};
200
+
193201 struct loongson_system_configuration {
194202 u32 nr_cpus;
195203 u32 nr_nodes;
....@@ -198,6 +206,7 @@
198206 u16 boot_cpu_id;
199207 u16 reserved_cpus_mask;
200208 enum loongson_cpu_type cputype;
209
+ enum loongson_bridge_type bridgetype;
201210 u64 ht_control_base;
202211 u64 pci_mem_start_addr;
203212 u64 pci_mem_end_addr;
....@@ -213,9 +222,15 @@
213222 u32 nr_sensors;
214223 struct sensor_device sensors[MAX_SENSORS];
215224 u64 workarounds;
225
+ void (*early_config)(void);
216226 };
217227
218228 extern struct efi_memory_map_loongson *loongson_memmap;
219229 extern struct loongson_system_configuration loongson_sysconf;
220230
231
+extern u32 node_id_offset;
232
+extern void ls7a_early_config(void);
233
+extern void rs780e_early_config(void);
234
+extern void virtual_early_config(void);
235
+
221236 #endif