Rev 4341 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 4341 | Rev 4342 | ||
|---|---|---|---|
| Line 30... | Line 30... | ||
| 30 | #include <printf.h> |
30 | #include <printf.h> |
| 31 | #include "asm.h" |
31 | #include "asm.h" |
| 32 | #include "_components.h" |
32 | #include "_components.h" |
| 33 | #include <ofw.h> |
33 | #include <ofw.h> |
| 34 | #include <align.h> |
34 | #include <align.h> |
| - | 35 | #include <macros.h> |
|
| 35 | 36 | ||
| 36 | #define HEAP_GAP 1024000 |
37 | #define HEAP_GAP 1024000 |
| 37 | 38 | ||
| 38 | bootinfo_t bootinfo; |
39 | bootinfo_t bootinfo; |
| 39 | 40 | ||
| Line 70... | Line 71... | ||
| 70 | *pa = new_pa; |
71 | *pa = new_pa; |
| 71 | memcpy(new_va, va, PAGE_SIZE); |
72 | memcpy(new_va, va, PAGE_SIZE); |
| 72 | } |
73 | } |
| 73 | } |
74 | } |
| 74 | 75 | ||
| 75 | char *release = RELEASE; |
76 | char *release = STRING(RELEASE); |
| 76 | 77 | ||
| 77 | #ifdef REVISION |
78 | #ifdef REVISION |
| 78 | char *revision = ", revision " REVISION; |
79 | char *revision = ", revision " STRING(REVISION); |
| 79 | #else |
80 | #else |
| 80 | char *revision = ""; |
81 | char *revision = ""; |
| 81 | #endif |
82 | #endif |
| 82 | 83 | ||
| 83 | #ifdef TIMESTAMP |
84 | #ifdef TIMESTAMP |
| 84 | char *timestamp = "\nBuilt on " TIMESTAMP; |
85 | char *timestamp = "\nBuilt on " STRING(TIMESTAMP); |
| 85 | #else |
86 | #else |
| 86 | char *timestamp = ""; |
87 | char *timestamp = ""; |
| 87 | #endif |
88 | #endif |
| 88 | 89 | ||
| 89 | /** Print version information. */ |
90 | /** Print version information. */ |
| Line 174... | Line 175... | ||
| 174 | 175 | ||
| 175 | fix_overlap(&real_mode, &real_mode_pa, "bootstrap trampoline", &top); |
176 | fix_overlap(&real_mode, &real_mode_pa, "bootstrap trampoline", &top); |
| 176 | fix_overlap(&trans, &trans_pa, "translation table", &top); |
177 | fix_overlap(&trans, &trans_pa, "translation table", &top); |
| 177 | fix_overlap(&bootinfo, &bootinfo_pa, "boot info", &top); |
178 | fix_overlap(&bootinfo, &bootinfo_pa, "boot info", &top); |
| 178 | 179 | ||
| - | 180 | ofw_setup_palette(); |
|
| - | 181 | ||
| 179 | printf("\nBooting the kernel...\n"); |
182 | printf("\nBooting the kernel...\n"); |
| 180 | jump_to_kernel(bootinfo_pa, sizeof(bootinfo), trans_pa, pages << PAGE_WIDTH, real_mode_pa, (void *) bootinfo.screen.addr, bootinfo.screen.scanline); |
183 | jump_to_kernel(bootinfo_pa, sizeof(bootinfo), trans_pa, pages << PAGE_WIDTH, real_mode_pa, (void *) bootinfo.screen.addr, bootinfo.screen.scanline); |
| 181 | } |
184 | } |