version 1.1.1.1.2.1, 2008/08/13 17:12:21 |
version 1.2, 2008/07/18 21:48:39 |
|
|
#include <sys/cdefs.h> |
#include <sys/cdefs.h> |
#include <sys/param.h> |
#include <sys/param.h> |
#include <sys/cdefs.h> |
#include <sys/cdefs.h> |
|
#include <sys/null.h> |
#include <sys/types.h> |
#include <sys/types.h> |
#include <sys/elf.h> |
#include <sys/elf.h> |
#include <machine/stdarg.h> |
#include <machine/stdarg.h> |
#include <prex/bootinfo.h> |
#include <prex/bootinfo.h> |
|
|
/* #define DEBUG_BOOTINFO 1 */ |
#define DEBUG_BOOT |
/* #define DEBUG_ELF 1 */ |
#define DEBUG_BOOT_IMAGE |
|
|
extern paddr_t load_base; |
extern u_long load_base; |
extern paddr_t load_start; |
extern u_long load_start; |
|
|
extern struct boot_info *boot_info; |
extern struct boot_info *boot_info; |
|
|
|
#ifdef DEBUG_BOOT_IMAGE |
|
#define elf_print(fmt, args...) printk(fmt, ## args) |
|
#else |
|
#define elf_print(fmt...) do {} while (0) |
|
#endif |
|
|
#ifdef DEBUG |
#ifdef DEBUG |
extern void printf(const char *fmt, ...); |
extern void printk(const char *fmt, ...); |
|
#else |
|
#define printk(fmt...) do {} while (0) |
#endif |
#endif |
extern void panic(const char *msg); |
|
|
|
extern int elf_load(char *img, struct module *mod); |
extern int elf_load(char *img, struct module *mod); |
extern void reserve_memory(paddr_t start, size_t size); |
extern void reserve_memory(u_long start, size_t size); |
extern void start_kernel(paddr_t entry, paddr_t boot_info); |
extern void start_kernel(unsigned int entry, unsigned int boot_info); |
|
|
extern int relocate_rel(Elf32_Rel *, Elf32_Addr, char *); |
extern int relocate_rel(Elf32_Rel *, Elf32_Addr, char *); |
extern int relocate_rela(Elf32_Rela *, Elf32_Addr, char *); |
extern int relocate_rela(Elf32_Rela *, Elf32_Addr, char *); |
|
extern void panic(const char *msg); |
|
|
extern char *strncpy(char *dest, const char *src, size_t count); |
extern char *strncpy(char *dest, const char *src, size_t count); |
extern int strncmp(const char *src, const char *tgt, size_t count); |
extern int strncmp(const char *src, const char *tgt, size_t count); |
extern size_t strnlen(const char *str, size_t count); |
extern size_t strnlen(const char *str, size_t count); |
extern void *memcpy(void *dest, const void *src, size_t count); |
extern void *memcpy(void *dest, const void *src, size_t count); |
extern void *memset(void *dest, int ch, size_t count); |
extern void *memset(void *dest, int ch, size_t count); |
extern long atol(const char *nptr); |
extern long atol(char *nptr); |
extern void loader_main(void); |
|
#endif /* !_BOOT_H */ |
#endif /* !_BOOT_H */ |