summaryrefslogtreecommitdiffstats
path: root/qemu/roms/openbios/include/libopenbios/sys_info.h
blob: a8b3cce37470f009a05d06615b530a74d5f23172 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#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;

    const char *firmware; /* "PCBIOS", "LinuxBIOS", etc. */
    const char *command_line; /* command line given to us */

    /* memory map */
    int n_memranges;
    struct memrange {
	unsigned long long base;
	unsigned long long size;
    } *memrange;
    unsigned long *dict_start;
    unsigned long *dict_end;
    cell dict_limit;
    ucell *dict_last;
};

extern void *elf_boot_notes;
extern struct sys_info sys_info;

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;

#define LOADER_NOT_SUPPORT 0xbadf11e

#endif /* SYS_INFO_H */