Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 3854 → Rev 3855

/trunk/kernel/arch/ppc32/_link.ld.in
1,11 → 1,11
/** PPC32 linker script
*
* umapped section:
* kernel text
* kernel data
* kernel text
* kernel data
* mapped section:
* kernel text
* kernel data
* kernel text
* kernel data
*
*/
 
27,7 → 27,7
unmapped_kdata_start = .;
}
.mapped PA2KA(BOOT_OFFSET): AT (BOOT_OFFSET) {
.mapped PA2KA(BOOT_OFFSET): AT (BOOT_OFFSET) {
ktext_start = .;
*(K_TEXT_START);
*(.text);
37,22 → 37,22
*(K_DATA_START);
*(.rodata);
*(.rodata.*);
*(.data); /* initialized data */
*(.data); /* initialized data */
*(.sdata);
*(.sdata2);
*(.sbss);
hardcoded_ktext_size = .;
LONG(ktext_end - ktext_start);
LONG(ktext_end - ktext_start);
hardcoded_kdata_size = .;
LONG(kdata_end - kdata_start);
hardcoded_load_address = .;
LONG(PA2KA(BOOT_OFFSET));
*(.bss); /* uninitialized static variables */
*(COMMON); /* global variables */
 
*(.bss); /* uninitialized static variables */
*(COMMON); /* global variables */
symbol_table = .;
*(symtab.*); /* Symbol table, must be LAST symbol!*/
 
*(symtab.*); /* Symbol table, must be LAST symbol!*/
kdata_end = .;
}
}
/trunk/boot/arch/ppc32/loader/asm.S
29,6 → 29,13
#include "asm.h"
#include "regname.h"
 
.macro FLUSH_CACHE addr
dcbst 0, \addr
sync
icbi 0, \addr
isync
.endm
 
.text
 
.global halt
164,6 → 171,8
lwz r28, 0(r29)
stw r28, 0(r30)
FLUSH_CACHE r30
addi r29, r29, 4
addi r30, r30, 4
subi r6, r6, 4
185,7 → 194,7
li r29, 8
mtctr r29
li r30, 0 # ASID 0 (VSIDs 0 .. 7)
 
seg_fill_uspace:
mtsrin r30, r31
259,6 → 268,7
# write zeroes
stw r29, 0(r31)
FLUSH_CACHE r31
addi r31, r31, 4
subi r30, r30, 4