Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 104 → Rev 105

/SPARTAN/trunk/arch/ia32/_link.ld
1,8 → 1,11
/** IA-32 linker script
*
* kernel text
* kernel data
*
* umapped section:
* kernel text
* kernel data
* mapped section:
* kernel text
* kernel data
*/
 
OUTPUT_FORMAT(binary)
9,12 → 12,17
ENTRY(kernel_image_start)
 
SECTIONS {
.image 0x8000: AT (0x8000) {
ktext_start = .;
.unmapped 0x8000: AT (0x8000) {
unmapped_ktext_start = .;
*(K_TEXT_START);
delta_start = .;
unmapped_ktext_end = .;
unmapped_kdata_start = .;
*(K_DATA_START);
delta_end = .;
unmapped_kdata_end = .;
}
.mapped (0x80000000+SIZEOF(.unmapped)+0x8000) : AT (0x8000+SIZEOF(.unmapped)) {
ktext_start = .;
*(.text);
ktext_end = .;
 
27,19 → 35,8
kdata_end = .;
}
 
. = ABSOLUTE(hardcoded_ktext_size);
.patch_1 : {
LONG(ktext_end - ktext_start - (delta_end - delta_start));
}
_hardcoded_ktext_size = ktext_end - ktext_start + (unmapped_ktext_end - unmapped_ktext_start);
_hardcoded_kdata_size = kdata_end - kdata_start + (unmapped_kdata_end - unmapped_kdata_start);
_hardcoded_load_address = 0x80008000;
 
. = ABSOLUTE(hardcoded_kdata_size);
.patch_2 : {
LONG(kdata_end - kdata_start + (delta_end - delta_start));
}
 
. = ABSOLUTE(hardcoded_load_address);
.patch_3 : {
LONG(0x8000);
}
 
}