2006-04-26 15:08:19 +00:00
|
|
|
#ifndef SYS_INFO_H
|
|
|
|
|
#define SYS_INFO_H
|
|
|
|
|
|
|
|
|
|
/* Information collected from firmware/bootloader */
|
|
|
|
|
|
|
|
|
|
struct sys_info {
|
|
|
|
|
/* Values passed by bootloader */
|
|
|
|
|
unsigned long boot_type;
|
|
|
|
|
unsigned long boot_data;
|
|
|
|
|
unsigned long boot_arg;
|
|
|
|
|
|
2009-01-06 18:46:22 +00:00
|
|
|
const char *firmware; /* "PCBIOS", "LinuxBIOS", etc. */
|
|
|
|
|
const char *command_line; /* command line given to us */
|
2006-04-26 15:08:19 +00:00
|
|
|
|
|
|
|
|
/* memory map */
|
|
|
|
|
int n_memranges;
|
|
|
|
|
struct memrange {
|
|
|
|
|
unsigned long long base;
|
|
|
|
|
unsigned long long size;
|
|
|
|
|
} *memrange;
|
|
|
|
|
unsigned long *dict_start;
|
|
|
|
|
unsigned long *dict_end;
|
|
|
|
|
};
|
|
|
|
|
|
2010-08-01 15:13:48 +00:00
|
|
|
extern void *elf_boot_notes;
|
2010-06-27 14:00:37 +00:00
|
|
|
extern struct sys_info sys_info;
|
|
|
|
|
|
2006-04-26 15:08:19 +00:00
|
|
|
void collect_elfboot_info(struct sys_info *info);
|
|
|
|
|
void collect_linuxbios_info(struct sys_info *info);
|
|
|
|
|
|
|
|
|
|
/* Our name and version. I want to see single instance of these in the image */
|
|
|
|
|
extern const char *program_name, *program_version;
|
|
|
|
|
|
2008-12-11 20:30:53 +00:00
|
|
|
#define LOADER_NOT_SUPPORT 0xbadf11e
|
2006-04-26 15:08:19 +00:00
|
|
|
|
|
|
|
|
#endif /* SYS_INFO_H */
|