Changeset ac5d02b in mainline for arch/ia32/_link.ld


Ignore:
Timestamp:
2005-06-03T13:17:05Z (20 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
70527f1
Parents:
dcbc8be
Message:

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.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • arch/ia32/_link.ld

    rdcbc8be rac5d02b  
    1313
    1414SECTIONS {
    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 = .;
     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        }
    2823
    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     }
     24        .mapped (0x80000000+SIZEOF(.unmapped)+0x8000) : AT (0x8000+SIZEOF(.unmapped)) {
     25                ktext_start = .;
     26                *(.text);
     27                ktext_end = .;
    3728
    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;
     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;
    4141
    4242}
Note: See TracChangeset for help on using the changeset viewer.