Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 1728 → Rev 1727

/boot/trunk/arch/ppc32/loader/asm.S
190,33 → 190,20
DEBUG_segments
# initially fill segment registers
 
li r31, 16
mtctr r31
li r31, 0
li r29, 8
mtctr r29
li r30, 0
li r30, 0x2000
 
seg_fill_uspace:
seg_fill:
mtsrin r30, r31
addi r30, r30, 1
addi r30, r30, 0x111
addis r31, r31, 0x1000 # move to next SR
bdnz seg_fill_uspace
bdnz seg_fill
li r29, 8
mtctr r29
li r30, 0x4000
seg_fill_kernel:
mtsrin r30, r31
addi r30, r30, 1
addis r31, r31, 0x1000 # move to next SR
bdnz seg_fill_kernel
# invalidate block address translation registers
DEBUG_bat
254,34 → 241,10
lis r31, 0x07ff
ori r31, r31, 0x0000
li r30, 0x4000
li r29, 0
pht_clear:
stw r29, 0(r31)
addi r31, r31, 4
subi r30, r30, 4
cmpwi r30, 0
beq clear_end
bdnz pht_clear
 
DEBUG_end_pht_clear
clear_end:
lis r31, 0x07ff
ori r31, r31, 0x0000
mtsdr1 r31
# create identity mapping
#ifdef CONFIG_BAT
DEBUG_mapping
# FIXME: map exactly the size of RAM
297,8 → 260,6
mtspr dbat0u, r31
mtspr dbat0l, r30
 
#endif
DEBUG_tlb
309,11 → 270,7
# start the kernel
#
# pc = KERNEL_START_ADDR
# r3 = bootinfo (pa)
# sprg0 = KA2PA(KERNEL_START_ADDR)
# sprg3 = physical memory size
# sp = 0 (pa)
lis r31, KERNEL_START_ADDR@ha
addi r31, r31, KERNEL_START_ADDR@l
320,14 → 277,6
mtspr srr0, r31
subis r31, r31, 0x8000
mtsprg0 r31
lwz r31, 0(r3)
mtsprg3 r31
li sp, 0
mfmsr r31
ori r31, r31, (msr_ir | msr_dr)@l
mtspr srr1, r31
/boot/trunk/arch/ppc32/loader/debug.inc
8302,8 → 8302,3
#ifdef CONFIG_DEBUG
#endif
.endm
 
.macro DEBUG_end_pht_clear
#ifdef CONFIG_DEBUG
#endif
.endm
/boot/trunk/arch/ppc32/loader/main.h
51,8 → 51,8
} taskmap_t;
 
typedef struct {
taskmap_t taskmap;
memmap_t memmap;
taskmap_t taskmap;
screen_t screen;
keyboard_t keyboard;
} bootinfo_t;
/boot/trunk/boot.config
19,9 → 19,6
# Debug bootloader
! [ARCH=ppc32] CONFIG_DEBUG (n/y)
 
# Use Block Address Translation
! [ARCH=ppc32] CONFIG_BAT (y/n)
 
# PPC64 Compiler
@ "cross" Cross-compiler
@ "native" Native