Subversion Repositories HelenOS

Compare Revisions

Regard whitespace Rev 105 → Rev 106

//SPARTAN/trunk/arch/ia64/src/start.S
27,8 → 27,6
#
 
.section K_TEXT_START
.global k_text_start
k_text_start:
 
.global kernel_image_start
 
49,40 → 47,25
add r12 = - 16, r12 /* allocate a scratch area on the stack */
 
# initialize gp (Global Pointer) register
movl r1=k_text_start
movl r1 = _hardcoded_load_address
 
;;
 
#
# Initialize hardcoded_* variables.
# (IA-64 port doesn't get these values from linker.)
#
movl r8 = k_text_start ;;
movl r9 = k_text_end ;;
sub r8 = r9, r8
addl r10 = @gprel(hardcoded_ktext_size), gp;;
st4 [r10] = r8 ;;
movl r14 = _hardcoded_ktext_size
movl r15 = _hardcoded_kdata_size
movl r16 = _hardcoded_load_address
addl r17 = @gprel(hardcoded_ktext_size), gp
addl r18 = @gprel(hardcoded_kdata_size), gp
addl r19 = @gprel(hardcoded_load_address), gp
;;
st4 [r17] = r14
st4 [r18] = r15
st8 [r19] = r16
 
movl r8 = k_data_start ;;
movl r9 = k_data_end ;;
sub r8 = r9, r8
addl r10 = @gprel(hardcoded_kdata_size), gp;;
st4 [r10] = r8 ;;
addl r10 = @gprel(hardcoded_load_address), gp;;
st8 [r10] = r1
br.call.sptk.many b0=main_bsp
 
0:
br 0b
 
.section K_TEXT_END
.global k_text_end
k_text_end:
 
.section K_DATA_START
.global k_data_start
k_data_start:
 
.section K_DATA_END
.global k_data_end
k_data_end:
//SPARTAN/trunk/arch/ia64/_link.ld
12,7 → 12,8
 
SECTIONS {
.image 0x0000000000001000: AT (0x0000000000001000) {
*(K_TEXT_START)
ktext_start = .;
*(K_TEXT_START);
*(.text .stub .text.* .gnu.linkonce.t.*)
*(.interp)
*(.hash)
50,7 → 51,8
*(.init)
*(.plt)
*(.fini)
*(K_TEXT_END)
ktext_end = .;
kdata_start = .;
*(K_DATA_START)
*(.rodata .rodata.* .gnu.linkonce.r.*)
*(.rodata1)
80,8 → 82,11
*(.dynbss)
*(.bss .bss.* .gnu.linkonce.b.*)
*(COMMON);
*(K_DATA_END)
kdata_end = .;
}
 
_hardcoded_ktext_size = ktext_end - ktext_start;
_hardcoded_kdata_size = kdata_end - kdata_start;
_hardcoded_load_address = 0x0000000000001000;
}