boot.h

Go to the documentation of this file.
00001 
00002 #ifndef __BOOT_H__
00003 #define __BOOT_H__      1
00004 typedef struct {
00005     char be_name[64]; /* name of loaded object, zero terminated             */
00006     int  be_offset;   /* offset of object relative to the start of boot_dir */
00007     int  be_type;     /* object type designator                             */
00008     int  be_size;     /* size of loaded object (pages)                      */
00009     int  be_vsize;    /* size loaded object should occupy when mapped in    */
00010     int  be_extra0;
00011     int  be_extra1;
00012     int  be_extra2;
00013     int  be_extra3;
00014 } boot_entry;
00015 
00016 
00017 typedef struct {
00018     boot_entry bd_entry[64];
00019 } boot_dir;
00020 
00021 /* void _start(uint32 mem, char *params, boot_dir *bd); */
00022 
00023 #define BE_TYPE_NONE         0  /* empty entry                              */
00024 #define BE_TYPE_DIRECTORY    1  /* directory (entry 0)                      */
00025 #define BE_TYPE_BOOTSTRAP    2  /* bootstrap code object (entry 1)          */
00026 #define BE_TYPE_CODE         3  /* executable code object                   */
00027 #define BE_TYPE_DATA         4  /* raw data object                          */
00028 #define BE_TYPE_ELF32        5  /* 32bit ELF object                         */
00029 
00030 /* for BE_TYPE_CODE */
00031 #define be_code_vaddr be_extra0 /* virtual address (rel offset 0)           */
00032 #define be_code_ventr be_extra1 /* virtual entry point (rel offset 0)       */
00033 #endif

Generated on Wed May 24 23:04:17 2006 for LSE/OS by  doxygen 1.4.6