Changeset f6ed1ae in mainline for kernel/arch/xen32/_link.ld.in


Ignore:
Timestamp:
2006-07-17T12:29:12Z (18 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
380954d9
Parents:
231fcb2
Message:

fork Xen32 makefile and linker script

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/xen32/_link.ld.in

    • Property mode changed from 120000 to 100644
    r231fcb2 rf6ed1ae  
    1 ../ia32/_link.ld.in
     1/** Xen32 linker script
     2 * 
     3 * umapped section:
     4 *      kernel text
     5 *      kernel data
     6 * mapped section:
     7 *      kernel text
     8 *      kernel data
     9 */
     10
     11#define __ASM__
     12#include <arch/boot/boot.h>
     13#include <arch/mm/page.h>
     14
     15SECTIONS {
     16        .unmapped BOOT_OFFSET: AT (0) {
     17                unmapped_ktext_start = .;
     18                *(K_TEXT_START);
     19                unmapped_ktext_end = .;
     20       
     21                unmapped_kdata_start = .;
     22                *(K_DATA_START);
     23                unmapped_kdata_end = .;
     24        }
     25       
     26        .mapped (PA2KA(BOOT_OFFSET)+SIZEOF(.unmapped)): AT (SIZEOF(.unmapped)) {
     27                ktext_start = .;
     28                *(.text);
     29                ktext_end = .;
     30               
     31                kdata_start = .;
     32                *(.data);                       /* initialized data */
     33                *(.rodata*);                    /* string literals */
     34                *(COMMON);                      /* global variables */
     35                hardcoded_load_address = .;
     36                LONG(PA2KA(BOOT_OFFSET));
     37                hardcoded_ktext_size = .;
     38                LONG((ktext_end - ktext_start) + (unmapped_ktext_end - unmapped_ktext_start));
     39                hardcoded_kdata_size = .;
     40                LONG((kdata_end - kdata_start) + (unmapped_kdata_end - unmapped_kdata_start));
     41                hardcoded_unmapped_ktext_size = .;
     42                LONG(unmapped_ktext_end - unmapped_ktext_start);
     43                hardcoded_unmapped_kdata_size = .;
     44                LONG(unmapped_kdata_end - unmapped_kdata_start);
     45                symbol_table = .;
     46                *(symtab.*);                    /* Symbol table, must be LAST symbol! */
     47                *(.bss);                        /* uninitialized static variables */
     48                kdata_end = .;
     49        }
     50       
     51        __xen_guest(0): AT (SIZEOF(.unmapped)+SIZEOF(.mapped)) {
     52                *(__xen_guest);
     53        }
     54
     55        /DISCARD/ : {
     56                *(.note.GNU-stack);             
     57                *(.comment);
     58        }
     59       
     60#ifdef CONFIG_SMP       
     61       
     62        _hardcoded_unmapped_size = (unmapped_ktext_end - unmapped_ktext_start) + (unmapped_kdata_end - unmapped_kdata_start);
     63        ap_boot = unmapped_ap_boot - BOOT_OFFSET + AP_BOOT_OFFSET;
     64        ap_gdtr = unmapped_ap_gdtr - BOOT_OFFSET + AP_BOOT_OFFSET;
     65        protected_ap_gdtr = PA2KA(ap_gdtr);
     66
     67#endif /* CONFIG_SMP */
     68
     69}
Note: See TracChangeset for help on using the changeset viewer.