Rev 1369 | Rev 1478 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1369 | Rev 1372 | ||
|---|---|---|---|
| Line 104... | Line 104... | ||
| 104 | printf(" screen at %L, resolution %dx%d, %d bpp (scanline %d bytes)\n", bootinfo.screen.addr, bootinfo.screen.width, bootinfo.screen.height, bootinfo.screen.bpp, bootinfo.screen.scanline); |
104 | printf(" screen at %L, resolution %dx%d, %d bpp (scanline %d bytes)\n", bootinfo.screen.addr, bootinfo.screen.width, bootinfo.screen.height, bootinfo.screen.bpp, bootinfo.screen.scanline); |
| 105 | 105 | ||
| 106 | void *real_mode_pa = ofw_translate(&real_mode); |
106 | void *real_mode_pa = ofw_translate(&real_mode); |
| 107 | void *trans_pa = ofw_translate(&trans); |
107 | void *trans_pa = ofw_translate(&trans); |
| 108 | void *bootinfo_pa = ofw_translate(&bootinfo); |
108 | void *bootinfo_pa = ofw_translate(&bootinfo); |
| 109 | void *fb = (void *) (((unsigned int) bootinfo.screen.addr) & ((unsigned int) ~0 << 17)); |
- | |
| 110 | 109 | ||
| 111 | printf("\nMemory statistics (total %d MB)\n", bootinfo.memmap.total >> 20); |
110 | printf("\nMemory statistics (total %d MB)\n", bootinfo.memmap.total >> 20); |
| 112 | printf(" %L: boot info structure (physical %L)\n", &bootinfo, bootinfo_pa); |
111 | printf(" %L: boot info structure (physical %L)\n", &bootinfo, bootinfo_pa); |
| 113 | printf(" %L: bootstrap trampoline (physical %L)\n", &real_mode, real_mode_pa); |
112 | printf(" %L: bootstrap trampoline (physical %L)\n", &real_mode, real_mode_pa); |
| 114 | printf(" %L: translation table (physical %L)\n", &trans, trans_pa); |
113 | printf(" %L: translation table (physical %L)\n", &trans, trans_pa); |
| Line 149... | Line 148... | ||
| 149 | fix_overlap(&real_mode, &real_mode_pa, "bootstrap trampoline", &top); |
148 | fix_overlap(&real_mode, &real_mode_pa, "bootstrap trampoline", &top); |
| 150 | fix_overlap(&trans, &trans_pa, "translation table", &top); |
149 | fix_overlap(&trans, &trans_pa, "translation table", &top); |
| 151 | fix_overlap(&bootinfo, &bootinfo_pa, "boot info", &top); |
150 | fix_overlap(&bootinfo, &bootinfo_pa, "boot info", &top); |
| 152 | 151 | ||
| 153 | printf("\nBooting the kernel...\n"); |
152 | printf("\nBooting the kernel...\n"); |
| 154 | jump_to_kernel(bootinfo_pa, sizeof(bootinfo), trans_pa, pages << PAGE_WIDTH, fb, real_mode_pa); |
153 | jump_to_kernel(bootinfo_pa, sizeof(bootinfo), trans_pa, pages << PAGE_WIDTH, real_mode_pa); |
| 155 | } |
154 | } |