Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 1369 → Rev 1372

/boot/trunk/arch/ppc32/loader/asm.S
106,9 → 106,8
# r3 = bootinfo (pa)
# r4 = bootinfo_size
# r5 = trans (pa)
# r6 = kernel size
# r7 = framebuffer (pa)
# r8 = real_mode (pa)
# r6 = bytes to copy
# r7 = real_mode (pa)
# disable interrupts
118,7 → 117,7
# set real_mode meeting point address
mtspr srr0, r8
mtspr srr0, r7
# jumps to real_mode
141,8 → 140,7
# copy kernel to proper location
#
# r5 = trans (pa)
# r6 = kernel size
# r7 = framebuffer (pa)
# r6 = bytes to copy
li r31, PAGE_SIZE >> 2
li r30, 0
233,17 → 231,6
mtspr dbat0u, r31
mtspr dbat0l, r30
# FIXME: temporal framebuffer mapping
lis r31, 0xf000
ori r31, r31, 0x0ffe
mr r30, r7
ori r30, r30, 0x0002
mtspr dbat1u, r31
mtspr dbat1l, r30
tlbia
# start the kernel
/boot/trunk/arch/ppc32/loader/main.c
106,7 → 106,6
void *real_mode_pa = ofw_translate(&real_mode);
void *trans_pa = ofw_translate(&trans);
void *bootinfo_pa = ofw_translate(&bootinfo);
void *fb = (void *) (((unsigned int) bootinfo.screen.addr) & ((unsigned int) ~0 << 17));
printf("\nMemory statistics (total %d MB)\n", bootinfo.memmap.total >> 20);
printf(" %L: boot info structure (physical %L)\n", &bootinfo, bootinfo_pa);
151,5 → 150,5
fix_overlap(&bootinfo, &bootinfo_pa, "boot info", &top);
printf("\nBooting the kernel...\n");
jump_to_kernel(bootinfo_pa, sizeof(bootinfo), trans_pa, pages << PAGE_WIDTH, fb, real_mode_pa);
jump_to_kernel(bootinfo_pa, sizeof(bootinfo), trans_pa, pages << PAGE_WIDTH, real_mode_pa);
}
/boot/trunk/arch/ppc32/loader/asm.h
44,7 → 44,7
extern void *trans[TRANS_SIZE];
 
extern void halt();
extern void jump_to_kernel(void *bootinfo, unsigned int bootinfo_size, void *trans, unsigned int kernel_size, void *framebuffer, void *real_mode) __attribute__((noreturn));
extern void jump_to_kernel(void *bootinfo, unsigned int bootinfo_size, void *trans, unsigned int kernel_size, void *real_mode) __attribute__((noreturn));
extern void real_mode();
 
#endif