/boot/trunk/arch/ppc32/loader/asm.S |
---|
139,7 → 139,8 |
.global real_mode |
real_mode: |
DEBUG_INIT |
DEBUG_real_mode |
# copy kernel to proper location |
162,6 → 163,9 |
mtctr r31 |
lwz r29, 0(r5) |
DEBUG_INIT |
DEBUG_copy_loop |
copy_loop: |
lwz r28, 0(r29) |
175,6 → 179,8 |
beq copy_end |
bdnz copy_loop |
DEBUG_end_copy_loop |
addi r5, r5, 4 |
b page_copy |
181,6 → 187,8 |
copy_end: |
DEBUG_segments |
# initially fill segment registers |
li r31, 16 |
198,6 → 206,8 |
# invalidate block address translation registers |
DEBUG_bat |
li r30, 0 |
mtspr ibat0u, r30 |
226,6 → 236,8 |
# create identity mapping |
DEBUG_mapping |
# FIXME: map exactly the size of RAM |
lis r31, 0x8000 |
240,9 → 252,13 |
mtspr dbat0u, r31 |
mtspr dbat0l, r30 |
DEBUG_tlb |
tlbia |
tlbsync |
DEBUG_prepare |
# start the kernel |
# |
# r3 = bootinfo (pa) |