lfn
serial
ticket/834-toolchain-update
topic/msim-upgrade
topic/simplify-dev-export
Last change
on this file since dcbc8be was dcbc8be, checked in by Jakub Jermar <jakub@…>, 20 years ago |
Big changes in IA-32 address space map.
Now the kernel is mapped above 0x80000000. Finally!
Userspace address space starts at 0x00000000.
Changes in many places.
This improvement temporarily breaks SMP and most likely also other stuff.
Supported size of memory is now only 4M as it is the biggest size that can be mapped at once on IA-32.
Changes in linker script.
Changes required because of the above.
Do not patch hardcoded_* variables but assign to them instead.
Cosmetic changes here and there.
|
-
Property mode
set to
100644
|
File size:
970 bytes
|
Line | |
---|
1 | /** IA-32 linker script
|
---|
2 | *
|
---|
3 | * umapped section:
|
---|
4 | * kernel text
|
---|
5 | * kernel data
|
---|
6 | * mapped section:
|
---|
7 | * kernel text
|
---|
8 | * kernel data
|
---|
9 | */
|
---|
10 |
|
---|
11 | OUTPUT_FORMAT(binary)
|
---|
12 | ENTRY(kernel_image_start)
|
---|
13 |
|
---|
14 | SECTIONS {
|
---|
15 | .unmapped 0x8000: AT (0x8000) {
|
---|
16 | unmapped_ktext_start = .;
|
---|
17 | *(K_TEXT_START);
|
---|
18 | unmapped_ktext_end = .;
|
---|
19 | unmapped_kdata_start = .;
|
---|
20 | *(K_DATA_START);
|
---|
21 | unmapped_kdata_end = .;
|
---|
22 | }
|
---|
23 |
|
---|
24 | .mapped (0x80000000+SIZEOF(.unmapped)+0x8000) : AT (0x8000+SIZEOF(.unmapped)) {
|
---|
25 | ktext_start = .;
|
---|
26 | *(.text);
|
---|
27 | ktext_end = .;
|
---|
28 |
|
---|
29 | kdata_start = .;
|
---|
30 | *(.data); /* initialized data */
|
---|
31 | *(.rodata*); /* string literals */
|
---|
32 | *(COMMON); /* global variables */
|
---|
33 | *(.bss); /* uninitialized static variables */
|
---|
34 | *(K_DATA_END);
|
---|
35 | kdata_end = .;
|
---|
36 | }
|
---|
37 |
|
---|
38 | _hardcoded_ktext_size = ktext_end - ktext_start + (unmapped_ktext_end - unmapped_ktext_start);
|
---|
39 | _hardcoded_kdata_size = kdata_end - kdata_start + (unmapped_kdata_end - unmapped_kdata_start);
|
---|
40 | _hardcoded_load_address = 0x80008000;
|
---|
41 |
|
---|
42 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.