/**************************************************************************** * Definition of the base address for all virtual segments *****************************************************************************/ /* The vsegs used by the system are mapped in all virtual spaces They can be identity mapping... or not */ seg_kernel_code_base = 0x80000000; /* system code */ seg_kernel_data_base = 0x80010000; /* system cacheable data */ seg_kernel_uncdata_base = 0x80080000; /* system uncacheable data */ seg_kernel_init_base = 0x80090000; /* system page table */ seg_mapping_base = 0xBFC0C000; /* boot mapping_info */ /* The peripherals base addresses are referenced by the software drivers and \ must be defined, even if the peripherals are not used in the architecture */ seg_tty_base = 0x90000000; /* TTY device */ seg_timer_base = 0x91000000; /* Timer device */ seg_ioc_base = 0x92000000; /* Block device */ seg_dma_base = 0x93000000; /* DMA device */ seg_gcd_base = 0x95000000; /* GCD device */ seg_fb_base = 0x96000000; /* FrameBuffer device */ seg_iob_base = 0x9E000000; /* IOB device */ seg_icu_base = 0x9F000000; /* ICU or XICU device */ /* * Grouping sections into segments for system code and data */ SECTIONS { . = seg_kernel_code_base; seg_kernel_code : { *(.giet) *(.text) } . = seg_kernel_data_base; seg_kernel_data : { *(.iommu) *(.kdata) *(.rodata) *(.rodata.*) *(.data) *(.lit8) *(.lit4) *(.sdata) *(.bss) *(COMMON) *(.sbss) *(.scommon) } . = seg_kernel_uncdata_base; seg_kernel_uncdata : { *(.unckdata) } . = seg_kernel_init_base; seg_kernel_init : { *(.kinit) } }