source: mainline/arch/ia64/_link.ld@ ac5d02b

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since ac5d02b was ac5d02b, checked in by Jakub Jermar <jakub@…>, 20 years ago

IA-32 fixes.
Use kernel addresses instead of physical addresses in map_page_to_frame().
Physical addresses are supposed to only be exported to mm hardware.
Because of this fix, userspace is functional again.

Remap EGA videoram to (0x80000000 + videoram) and change the ega driver to work with the new address.

Minor cosmetics through out the code.
Changes in linker scripts.

  • Property mode set to 100644
File size: 2.5 KB
Line 
1/*
2 * IA-64 linker script
3 *
4 * It is ELF format, but its only section looks like this:
5 * kernel text
6 * kernel data
7 *
8 */
9
10OUTPUT_FORMAT(elf64-ia64-little)
11ENTRY(kernel_image_start)
12
13SECTIONS {
14 .image 0x0000000000001000: AT (0x0000000000001000) {
15 ktext_start = .;
16 *(K_TEXT_START);
17 *(.text .stub .text.* .gnu.linkonce.t.*)
18 *(.interp)
19 *(.hash)
20 *(.dynsym)
21 *(.dynstr)
22 *(.rel.init)
23 *(.rela.init)
24 *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
25 *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
26 *(.rel.fini)
27 *(.rela.fini)
28 *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
29 *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
30 *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
31 *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
32 *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
33 *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
34 *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
35 *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
36 *(.rel.got)
37 *(.rela.got)
38 *(.rel.sdata .rel.sdata.* .rel.gnu.linkonce.s.*)
39 *(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*)
40 *(.rel.sbss .rel.sbss.* .rel.gnu.linkonce.sb.*)
41 *(.rela.sbss .rela.sbss.* .rela.gnu.linkonce.sb.*)
42 *(.rel.sdata2 .rel.sdata2.* .rel.gnu.linkonce.s2.*)
43 *(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*)
44 *(.rel.sbss2 .rel.sbss2.* .rel.gnu.linkonce.sb2.*)
45 *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*)
46 *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
47 *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
48 *(.rel.plt)
49 *(.rela.plt)
50 *(.rela.IA_64.pltoff)
51 *(.init)
52 *(.plt)
53 *(.fini)
54 ktext_end = .;
55 kdata_start = .;
56 *(K_DATA_START)
57 *(.rodata .rodata.* .gnu.linkonce.r.*)
58 *(.rodata1)
59 *(.sdata2 .sdata2.* .gnu.linkonce.s2.*)
60 *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*)
61 *(.opd)
62 *(.IA_64.unwind_info* .gnu.linkonce.ia64unwi.*)
63 *(.IA_64.unwind* .gnu.linkonce.ia64unw.*)
64 *(.eh_frame_hdr)
65 *(.preinit_array)
66 *(.init_array)
67 *(.fini_array)
68 *(.data .data.* .gnu.linkonce.d.*)
69 *(.data1)
70 *(.tdata .tdata.* .gnu.linkonce.td.*)
71 *(.tcommon)
72 *(.eh_frame)
73 *(.gcc_except_table)
74 *(.dynamic)
75 *(.jcr)
76 *(.got)
77 *(.IA_64.pltoff)
78 *(.sdata .sdata.* .gnu.linkonce.s.*)
79 *(.dynsbss)
80 *(.sbss .sbss.* .gnu.linkonce.sb.*)
81 *(.scommon)
82 *(.dynbss)
83 *(.bss .bss.* .gnu.linkonce.b.*)
84 *(COMMON);
85 kdata_end = .;
86 }
87
88 _hardcoded_ktext_size = ktext_end - ktext_start;
89 _hardcoded_kdata_size = kdata_end - kdata_start;
90 _hardcoded_load_address = 0x0000000000001000;
91
92}
Note: See TracBrowser for help on using the repository browser.