Files
openbios/include/libopenbios/sys_info.h
Mark Cave-Ayland f9bdcf050c Rework the OpenBIOS internals so that boot, load and init-program now all use the unified libopenbios loader code with improved
IEEE-1275 spec compliance.

This patch implements the following:

1) Fix bootpath/bootargs handling so that default values are read from NVRAM, and allow multiple space-separated values to be 
specified.
2) With correct bootargs handling in place, move the ELF loader over to the new libopenbios unified loaders.
3) Remove all the loader code from all architecture directories sine we don't need it anymore.
4) Simplify the boot word so it invokes platform-specific code where required, then calls load and go as per the specification.

Tested on all my available images for SPARC32, SPARC64 and PPC, and compile-tested on x86.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@828 f158a5a8-5612-0410-a976-696ce0be7e32
2010-08-01 15:13:48 +00:00

37 lines
915 B
C

#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;
};
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 */