1#ifndef SYS_INFO_H
2#define SYS_INFO_H
3
4/* Information collected from firmware/bootloader */
5
6struct sys_info {
7    /* Values passed by bootloader */
8    unsigned long boot_type;
9    unsigned long boot_data;
10    unsigned long boot_arg;
11
12    char *firmware; /* "PCBIOS", "LinuxBIOS", etc. */
13    char *command_line; /* command line given to us */
14#if 0
15//By LYH
16//Will use meminfo in Etherboot
17    /* memory map */
18    int n_memranges;
19    struct memrange {
20	unsigned long long base;
21	unsigned long long size;
22    } *memrange;
23#endif
24};
25
26void collect_sys_info(struct sys_info *info);
27void collect_elfboot_info(struct sys_info *info);
28void collect_linuxbios_info(struct sys_info *info);
29
30/* Our name and version. I want to see single instance of these in the image */
31extern const char *program_name, *program_version;
32
33#endif /* SYS_INFO_H */
34