Rev 1130 | Rev 1146 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1130 | Rev 1131 | ||
|---|---|---|---|
| Line 34... | Line 34... | ||
| 34 | #define KERNEL_END ((void *) &_binary_____________kernel_kernel_bin_end) |
34 | #define KERNEL_END ((void *) &_binary_____________kernel_kernel_bin_end) |
| 35 | #define KERNEL_SIZE ((unsigned int) KERNEL_END - (unsigned int) KERNEL_START) |
35 | #define KERNEL_SIZE ((unsigned int) KERNEL_END - (unsigned int) KERNEL_START) |
| 36 | 36 | ||
| 37 | #define HEAP_GAP 1024000 |
37 | #define HEAP_GAP 1024000 |
| 38 | 38 | ||
| 39 | typedef struct { |
- | |
| 40 | memmap_t memmap; |
- | |
| 41 | screen_t screen; |
- | |
| 42 | } bootinfo_t; |
- | |
| 43 | - | ||
| 44 | bootinfo_t bootinfo; |
39 | bootinfo_t bootinfo; |
| 45 | 40 | ||
| 46 | 41 | ||
| 47 | static void check_align(const void *addr, const char *desc) |
42 | static void check_align(const void *addr, const char *desc) |
| 48 | { |
43 | { |
| Line 121... | Line 116... | ||
| 121 | fix_overlap(&real_mode, &real_mode_pa, "Bootstrap trampoline", &top); |
116 | fix_overlap(&real_mode, &real_mode_pa, "Bootstrap trampoline", &top); |
| 122 | fix_overlap(&trans, &trans_pa, "Translation table", &top); |
117 | fix_overlap(&trans, &trans_pa, "Translation table", &top); |
| 123 | fix_overlap(&bootinfo, &bootinfo_pa, "Boot info", &top); |
118 | fix_overlap(&bootinfo, &bootinfo_pa, "Boot info", &top); |
| 124 | 119 | ||
| 125 | printf("\nBooting the kernel...\n"); |
120 | printf("\nBooting the kernel...\n"); |
| 126 | jump_to_kernel(bootinfo_pa, trans_pa, KERNEL_SIZE, real_mode_pa); |
121 | jump_to_kernel(bootinfo_pa, sizeof(bootinfo), trans_pa, KERNEL_SIZE, real_mode_pa); |
| 127 | } |
122 | } |