|
|
1.1 root 1: #ifndef SYS_INFO_H
2: #define SYS_INFO_H
3:
4: /* Information collected from firmware/bootloader */
5:
6: struct sys_info {
7: /* Values passed by bootloader */
8: unsigned long boot_type;
9: unsigned long boot_data;
10: unsigned long boot_arg;
11:
12: const char *firmware; /* "PCBIOS", "LinuxBIOS", etc. */
13: const char *command_line; /* command line given to us */
14:
15: /* memory map */
16: int n_memranges;
17: struct memrange {
18: unsigned long long base;
19: unsigned long long size;
20: } *memrange;
21: unsigned long *dict_start;
22: unsigned long *dict_end;
23: cell dict_limit;
24: ucell *dict_last;
25: };
26:
27: extern void *elf_boot_notes;
28: extern struct sys_info sys_info;
29:
30: void collect_elfboot_info(struct sys_info *info);
31: void collect_linuxbios_info(struct sys_info *info);
32:
33: /* Our name and version. I want to see single instance of these in the image */
34: extern const char *program_name, *program_version;
35:
36: #define LOADER_NOT_SUPPORT 0xbadf11e
37:
38: #endif /* SYS_INFO_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.