Changeset 5d8d71e in mainline for kernel/genarch/include/multiboot/multiboot.h
- Timestamp:
- 2009-03-03T21:17:45Z (16 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 06f96234
- Parents:
- c22e964
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
kernel/genarch/include/multiboot/multiboot.h
rc22e964 r5d8d71e 1 1 /* 2 * Copyright (c) 200 5 Martin Decky2 * Copyright (c) 2009 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 27 27 */ 28 28 29 /** @addtogroup ia3229 /** @addtogroup genarch 30 30 * @{ 31 31 */ … … 33 33 */ 34 34 35 #ifndef KERN_ ia32_MULTIBOOT_H__36 #define KERN_ ia32_MULTIBOOT_H_35 #ifndef KERN_MULTIBOOT_H_ 36 #define KERN_MULTIBOOT_H_ 37 37 38 38 #include <arch/types.h> 39 39 #include <arch/boot/memmap.h> 40 40 41 /** Multiboot 32-bit address. */ 42 typedef uint32_t mbaddr_t; 43 41 44 /** Multiboot mod structure */ 42 45 typedef struct { 43 uintptr_t start;44 uintptr_t end;45 char *string;46 mbaddr_t start; 47 mbaddr_t end; 48 mbaddr_t string; 46 49 uint32_t reserved; 47 } __attribute__ ((packed)) m b_mod_t;50 } __attribute__ ((packed)) multiboot_mod_t; 48 51 49 52 /** Multiboot mmap structure */ … … 51 54 uint32_t size; 52 55 e820memmap_t mm_info; 53 } __attribute__ ((packed)) m b_mmap_t;56 } __attribute__ ((packed)) multiboot_mmap_t; 54 57 55 58 /** Multiboot information structure */ 56 59 typedef struct { 57 60 uint32_t flags; 58 uint ptr_t mem_lower;59 uint ptr_t mem_upper;61 uint32_t mem_lower; 62 uint32_t mem_upper; 60 63 61 64 uint32_t boot_device; 62 char *cmdline;65 uint32_t cmdline; 63 66 64 67 uint32_t mods_count; 65 mb _mod_t *mods_addr;68 mbaddr_t mods_addr; 66 69 67 70 uint32_t syms[4]; 68 71 69 72 uint32_t mmap_length; 70 mb _mmap_t *mmap_addr;73 mbaddr_t mmap_addr; 71 74 72 75 /* ... */ 73 } __attribute__ ((packed)) m b_info_t;76 } __attribute__ ((packed)) multiboot_info_t; 74 77 75 enum m b_info_flags {78 enum multiboot_info_flags { 76 79 MBINFO_FLAGS_MEM = 0x01, 77 80 MBINFO_FLAGS_BOOT = 0x02, … … 85 88 }; 86 89 90 #define MULTIBOOT_LOADER_MAGIC 0x2BADB002 91 92 /** Convert 32-bit multiboot address to a pointer. */ 93 #define MULTIBOOT_PTR(mba) ((void *)(uintptr_t) (mba)) 94 95 extern void multiboot_info_parse(uint32_t, const multiboot_info_t *); 96 87 97 #endif 88 98
Note:
See TracChangeset
for help on using the changeset viewer.