13,10 → 13,9 |
#include <arch/mm/page.h> |
|
SECTIONS { |
.unmapped BOOTSTRAP_OFFSET: AT (BOOTSTRAP_OFFSET) { |
.unmapped BOOT_OFFSET: AT (0) { |
unmapped_ktext_start = .; |
*(K_TEXT_START); |
*(K_TEXT_START_2); |
unmapped_ktext_end = .; |
|
unmapped_kdata_start = .; |
24,7 → 23,7 |
unmapped_kdata_end = .; |
} |
|
.mapped (PA2KA(BOOT_OFFSET+BOOTSTRAP_OFFSET)+SIZEOF(.unmapped)): AT (BOOTSTRAP_OFFSET+SIZEOF(.unmapped)) { |
.mapped (PA2KA(BOOT_OFFSET)+SIZEOF(.unmapped)): AT (SIZEOF(.unmapped)) { |
ktext_start = .; |
*(.text); |
ktext_end = .; |
34,7 → 33,7 |
*(.rodata*); /* string literals */ |
*(COMMON); /* global variables */ |
hardcoded_load_address = .; |
LONG(PA2KA(BOOT_OFFSET+BOOTSTRAP_OFFSET)); |
LONG(PA2KA(BOOT_OFFSET)); |
hardcoded_ktext_size = .; |
LONG((ktext_end - ktext_start) + (unmapped_ktext_end - unmapped_ktext_start)); |
hardcoded_kdata_size = .; |
54,11 → 53,13 |
*(.comment); |
} |
|
#ifdef CONFIG_SMP |
|
_hardcoded_kernel_size = (ktext_end - ktext_start) + (unmapped_ktext_end - unmapped_ktext_start) + (kdata_end - kdata_start) + (unmapped_kdata_end - unmapped_kdata_start); |
_hardcoded_unmapped_size = (unmapped_ktext_end - unmapped_ktext_start) + (unmapped_kdata_end - unmapped_kdata_start); |
ap_boot = unmapped_ap_boot - BOOT_OFFSET + AP_BOOT_OFFSET; |
ap_gdtr = unmapped_ap_gdtr - BOOT_OFFSET + AP_BOOT_OFFSET; |
protected_ap_gdtr = PA2KA(ap_gdtr); |
|
e820table_boot = KA2PA(e820table) - BOOT_OFFSET; |
e820counter_boot = KA2PA(e820counter) - BOOT_OFFSET; |
real_bootstrap_gdtr = PA2KA(real_bootstrap_gdtr_boot); |
#endif /* CONFIG_SMP */ |
|
} |