source: soft/giet_vm/sys/sys.ld @ 159

Last change on this file since 159 was 158, checked in by alain, 12 years ago

Introducing the giet_vm and some example applications

File size: 2.1 KB
Line 
1/****************************************************************************
2* Definition of the base address for all virtual segments
3*****************************************************************************/
4
5/* The vsegs used in the boot phase must respect identity mapping:
6   physical address = virtual address */
7
8seg_boot_code_base      = 0xBFC00000;   /* boot code */
9seg_boot_stack_base     = 0xBFC08000;   /* boot temporary stack */
10seg_boot_mapping_base   = 0xBFC0C000;   /* boot mapping_info */
11
12/* The vsegs used by the system are replicated in all virtual spaces
13   They can be identity mapping... or not */
14
15seg_kernel_code_base    = 0x80000000;   /* system code */
16seg_kernel_data_base    = 0x80010000;   /* system cacheable data */
17seg_kernel_uncdata_base = 0x80020000;   /* system uncacheable data */
18seg_kernel_pt_base      = 0x80030000;   /* system page table */
19
20/* The peripherals base addresses are referenced by the software drivers and
21   must be defined, even if the peripherals are not used in the architecture */
22
23seg_tty_base            = 0x90000000;   /* TTY device */
24seg_timer_base          = 0x91000000;   /* Timer device */
25seg_ioc_base            = 0x92000000;   /* Block device */
26seg_dma_base            = 0x93000000;   /* DMA device */
27seg_gcd_base            = 0x95000000;   /* GCD device */
28seg_fb_base             = 0x96000000;   /* FrameBuffer device */
29seg_icu_base            = 0x9F000000;   /* ICU device */
30
31/*
32 * Grouping sections into segments for system code and data
33 */
34
35SECTIONS
36{
37    . = seg_boot_code_base;
38    seg_boot_code :
39    {
40        *(.boot)
41    }
42    . = seg_kernel_code_base;
43    seg_kernel_code :
44    {
45        *(.giet)
46        *(.text)
47    }
48    . = seg_kernel_data_base;
49    seg_kernel_data :
50    {
51        *(.rodata)
52        /* . = ALIGN(4); */
53        *(.rodata.*)
54        /* . = ALIGN(4); */
55        *(.data)
56        /* . = ALIGN(4); */
57        *(.lit8)
58        *(.lit4)
59        *(.sdata)
60        /* . = ALIGN(4); */
61        *(.bss)
62        *(COMMON)
63        *(.sbss)
64        *(.scommon)
65    }
66    . = seg_kernel_uncdata_base;
67    seg_kernel_uncdata :
68    {
69        *(.unckdata)
70    }
71    . = seg_kernel_pt_base;
72    seg_kernel_pt :
73    {
74        *(.ptab)
75    }
76}
77
Note: See TracBrowser for help on using the repository browser.