Changes in / [6688cc1:c35aabe] in mainline
- Location:
- kernel
- Files:
-
- 5 edited
-
arch/ia64/_link.ld.in (modified) (3 diffs)
-
arch/ia64/src/ivt.S (modified) (1 diff)
-
arch/ia64/src/start.S (modified) (1 diff)
-
generic/include/main/main.h (modified) (1 diff)
-
generic/src/main/main.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia64/_link.ld.in
r6688cc1 rc35aabe 7 7 */ 8 8 9 #define LOAD_ADDRESS_V 0xe00000000440400010 #define LOAD_ADDRESS_P 0x000000000440400011 12 9 ENTRY(kernel_image_start) 13 10 14 11 SECTIONS { 15 .image LOAD_ADDRESS_V: AT (LOAD_ADDRESS_P) {12 .image 0xe000000004404000: AT (0x0000000004404000) { 16 13 ktext_start = .; 17 14 *(K_TEXT_START); … … 24 21 *(.opd) 25 22 *(.data .data.*) 26 hardcoded_load_address = .;27 QUAD(LOAD_ADDRESS_V);28 hardcoded_ktext_size = .;29 QUAD(ktext_end - ktext_start);30 hardcoded_kdata_size = .;31 QUAD(kdata_end - kdata_start);32 23 *(.got .got.*) 33 24 *(.sdata) … … 47 38 } 48 39 40 _hardcoded_ktext_size = ktext_end - ktext_start; 41 _hardcoded_kdata_size = kdata_end - kdata_start; 42 _hardcoded_load_address = 0xe000000004404000; 43 49 44 } -
kernel/arch/ia64/src/ivt.S
r6688cc1 rc35aabe 391 391 392 392 /* 10. call handler */ 393 movl r1 = kernel_image_start393 movl r1 = _hardcoded_load_address 394 394 395 395 mov b1 = loc2 -
kernel/arch/ia64/src/start.S
r6688cc1 rc35aabe 186 186 movl r20 = (VRN_KERNEL << VRN_SHIFT) ;; 187 187 or r20 = r20, r1 ;; 188 movl r1 = kernel_image_start188 movl r1 = _hardcoded_load_address 189 189 190 190 /* 191 * Initialize bootinfo on BSP.191 * Initialize hardcoded_* variables. Do only BSP 192 192 */ 193 (p3) addl r21 = @gprel(bootinfo), gp ;; 193 (p3) movl r14 = _hardcoded_ktext_size 194 (p3) movl r15 = _hardcoded_kdata_size 195 (p3) movl r16 = _hardcoded_load_address ;; 196 (p3) addl r17 = @gprel(hardcoded_ktext_size), gp 197 (p3) addl r18 = @gprel(hardcoded_kdata_size), gp 198 (p3) addl r19 = @gprel(hardcoded_load_address), gp 199 (p3) addl r21 = @gprel(bootinfo), gp 200 ;; 201 (p3) st8 [r17] = r14 202 (p3) st8 [r18] = r15 203 (p3) st8 [r19] = r16 194 204 (p3) st8 [r21] = r20 195 205 -
kernel/generic/include/main/main.h
r6688cc1 rc35aabe 38 38 #include <arch/types.h> 39 39 40 extern size_t hardcoded_kdata_size;41 extern size_t hardcoded_ktext_size;42 extern uintptr_t hardcoded_load_address;43 40 extern uintptr_t stack_safe; 44 41 -
kernel/generic/src/main/main.c
r6688cc1 rc35aabe 101 101 context_t ctx; 102 102 103 /* 104 * These 'hardcoded' variables will be intialized by 105 * the linker or the low level assembler code with 106 * appropriate sizes and addresses. 107 */ 108 109 /** Virtual address of where the kernel is loaded. */ 110 uintptr_t hardcoded_load_address = 0; 111 /** Size of the kernel code in bytes. */ 112 size_t hardcoded_ktext_size = 0; 113 /** Size of the kernel data in bytes. */ 114 size_t hardcoded_kdata_size = 0; 103 115 /** Lowest safe stack virtual address. */ 104 116 uintptr_t stack_safe = 0;
Note:
See TracChangeset
for help on using the changeset viewer.
