diff options
| -rw-r--r-- | arch/cris/Makefile | 61 | ||||
| -rw-r--r-- | arch/cris/arch-v10/vmlinux.lds.S | 118 | ||||
| -rw-r--r-- | arch/cris/arch-v32/boot/compressed/head.S | 16 | ||||
| -rw-r--r-- | arch/cris/arch-v32/kernel/head.S | 20 | ||||
| -rw-r--r-- | arch/cris/kernel/vmlinux.lds.S (renamed from arch/cris/arch-v32/vmlinux.lds.S) | 44 |
5 files changed, 81 insertions, 178 deletions
diff --git a/arch/cris/Makefile b/arch/cris/Makefile index 241e35bc3b59..3662cfb7b61d 100644 --- a/arch/cris/Makefile +++ b/arch/cris/Makefile | |||
| @@ -23,7 +23,8 @@ mach-$(CONFIG_ETRAXFS) := fs | |||
| 23 | 23 | ||
| 24 | ifneq ($(arch-y),) | 24 | ifneq ($(arch-y),) |
| 25 | SARCH := arch-$(arch-y) | 25 | SARCH := arch-$(arch-y) |
| 26 | inc := -Iarch/cris/include/arch-$(arch-y) -Iarch/cris/include/arch-$(arch-y)/arch | 26 | inc := -Iarch/cris/include/$(SARCH) |
| 27 | inc += -Iarch/cris/include/$(SARCH)/arch | ||
| 27 | else | 28 | else |
| 28 | SARCH := | 29 | SARCH := |
| 29 | inc := | 30 | inc := |
| @@ -52,72 +53,48 @@ KBUILD_CFLAGS := $(subst -fomit-frame-pointer,,$(KBUILD_CFLAGS)) -g | |||
| 52 | KBUILD_CFLAGS += -fno-omit-frame-pointer | 53 | KBUILD_CFLAGS += -fno-omit-frame-pointer |
| 53 | endif | 54 | endif |
| 54 | 55 | ||
| 55 | head-y := arch/$(ARCH)/$(SARCH)/kernel/head.o | 56 | head-y := arch/cris/$(SARCH)/kernel/head.o |
| 56 | 57 | ||
| 57 | LIBGCC = $(shell $(CC) $(KBUILD_CFLAGS) -print-file-name=libgcc.a) | 58 | LIBGCC = $(shell $(CC) $(KBUILD_CFLAGS) -print-file-name=libgcc.a) |
| 58 | 59 | ||
| 59 | core-y += arch/$(ARCH)/kernel/ arch/$(ARCH)/mm/ | 60 | core-y += arch/cris/kernel/ arch/cris/mm/ |
| 60 | core-y += arch/$(ARCH)/$(SARCH)/kernel/ arch/$(ARCH)/$(SARCH)/mm/ | 61 | core-y += arch/cris/$(SARCH)/kernel/ arch/cris/$(SARCH)/mm/ |
| 61 | ifdef CONFIG_ETRAX_ARCH_V32 | 62 | ifdef CONFIG_ETRAX_ARCH_V32 |
| 62 | core-y += arch/$(ARCH)/$(SARCH)/$(MACH)/ | 63 | core-y += arch/cris/$(SARCH)/$(MACH)/ |
| 63 | endif | 64 | endif |
| 64 | drivers-y += arch/$(ARCH)/$(SARCH)/drivers/ | 65 | drivers-y += arch/cris/$(SARCH)/drivers/ |
| 65 | libs-y += arch/$(ARCH)/$(SARCH)/lib/ $(LIBGCC) | 66 | libs-y += arch/cris/$(SARCH)/lib/ $(LIBGCC) |
| 66 | 67 | ||
| 67 | # cris source path | 68 | # cris source path |
| 68 | SRC_ARCH = $(srctree)/arch/$(ARCH) | 69 | SRC_ARCH = $(srctree)/arch/cris |
| 69 | # cris object files path | 70 | # cris object files path |
| 70 | OBJ_ARCH = $(objtree)/arch/$(ARCH) | 71 | OBJ_ARCH = $(objtree)/arch/cris |
| 71 | 72 | ||
| 72 | boot := arch/$(ARCH)/boot | 73 | boot := arch/cris/$(SARCH)/boot |
| 73 | MACHINE := arch/$(ARCH)/$(SARCH) | 74 | MACHINE := arch/cris/$(SARCH) |
| 74 | 75 | ||
| 75 | all: zImage | 76 | all: zImage |
| 76 | 77 | ||
| 77 | zImage Image: vmlinux | 78 | zImage Image: vmlinux |
| 78 | $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@ | 79 | $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@ |
| 79 | 80 | ||
| 80 | archprepare: $(SRC_ARCH)/.links FORCE | 81 | archprepare: |
| 81 | |||
| 82 | # Create some links to make all tools happy | ||
| 83 | $(SRC_ARCH)/.links: | ||
| 84 | @rm -rf $(SRC_ARCH)/drivers | ||
| 85 | @ln -sfn $(SARCH)/drivers $(SRC_ARCH)/drivers | ||
| 86 | @rm -rf $(SRC_ARCH)/boot | ||
| 87 | @ln -sfn $(SARCH)/boot $(SRC_ARCH)/boot | ||
| 88 | @rm -rf $(SRC_ARCH)/lib | ||
| 89 | @ln -sfn $(SARCH)/lib $(SRC_ARCH)/lib | ||
| 90 | @rm -f $(SRC_ARCH)/arch/mach | ||
| 91 | @rm -rf $(SRC_ARCH)/arch | ||
| 92 | @ln -sfn $(SARCH) $(SRC_ARCH)/arch | ||
| 93 | ifdef CONFIG_ETRAX_ARCH_V32 | ||
| 94 | @ln -sfn ../$(SARCH)/$(MACH) $(SRC_ARCH)/arch/mach | ||
| 95 | endif | ||
| 96 | @rm -rf $(SRC_ARCH)/kernel/vmlinux.lds.S | ||
| 97 | @ln -sfn ../$(SARCH)/vmlinux.lds.S $(SRC_ARCH)/kernel/vmlinux.lds.S | ||
| 98 | @touch $@ | ||
| 99 | 82 | ||
| 100 | archclean: | 83 | archclean: |
| 101 | $(Q)if [ -e arch/$(ARCH)/boot ]; then \ | 84 | $(Q)if [ -e arch/cris/$(SARCH)/boot ]; then \ |
| 102 | $(MAKE) $(clean)=arch/$(ARCH)/boot; \ | 85 | $(MAKE) $(clean)=arch/cris/$(SARCH)/boot; \ |
| 103 | fi | 86 | fi |
| 104 | 87 | ||
| 105 | CLEAN_FILES += \ | 88 | CLEAN_FILES += \ |
| 106 | $(MACHINE)/boot/zImage \ | 89 | $(MACHINE)/boot/zImage \ |
| 107 | $(MACHINE)/boot/compressed/decompress.bin \ | 90 | $(MACHINE)/boot/compressed/decompress.bin \ |
| 108 | $(MACHINE)/boot/compressed/piggy.gz \ | 91 | $(MACHINE)/boot/compressed/piggy.gz \ |
| 109 | $(MACHINE)/boot/rescue/rescue.bin \ | 92 | $(MACHINE)/boot/rescue/rescue.bin |
| 110 | $(SRC_ARCH)/.links | ||
| 111 | 93 | ||
| 112 | MRPROPER_FILES += \ | ||
| 113 | $(SRC_ARCH)/drivers \ | ||
| 114 | $(SRC_ARCH)/boot \ | ||
| 115 | $(SRC_ARCH)/lib \ | ||
| 116 | $(SRC_ARCH)/arch \ | ||
| 117 | $(SRC_ARCH)/kernel/vmlinux.lds.S | ||
| 118 | 94 | ||
| 95 | # MRPROPER_FILES += | ||
| 119 | 96 | ||
| 120 | define archhelp | 97 | define archhelp |
| 121 | echo '* zImage - Compressed kernel image (arch/$(ARCH)/boot/zImage)' | 98 | echo '* zImage - Compressed kernel image (arch/cris/boot/zImage)' |
| 122 | echo '* Image - Uncompressed kernel image (arch/$(ARCH)/boot/Image)' | 99 | echo '* Image - Uncompressed kernel image (arch/cris/boot/Image)' |
| 123 | endef | 100 | endef |
diff --git a/arch/cris/arch-v10/vmlinux.lds.S b/arch/cris/arch-v10/vmlinux.lds.S deleted file mode 100644 index 93c9f0ea286b..000000000000 --- a/arch/cris/arch-v10/vmlinux.lds.S +++ /dev/null | |||
| @@ -1,118 +0,0 @@ | |||
| 1 | /* ld script to make the Linux/CRIS kernel | ||
| 2 | * Authors: Bjorn Wesen (bjornw@axis.com) | ||
| 3 | * | ||
| 4 | * It is VERY DANGEROUS to fiddle around with the symbols in this | ||
| 5 | * script. It is for example quite vital that all generated sections | ||
| 6 | * that are used are actually named here, otherwise the linker will | ||
| 7 | * put them at the end, where the init stuff is which is FREED after | ||
| 8 | * the kernel has booted. | ||
| 9 | */ | ||
| 10 | |||
| 11 | #include <asm-generic/vmlinux.lds.h> | ||
| 12 | #include <asm/page.h> | ||
| 13 | |||
| 14 | jiffies = jiffies_64; | ||
| 15 | SECTIONS | ||
| 16 | { | ||
| 17 | . = DRAM_VIRTUAL_BASE; | ||
| 18 | dram_start = .; | ||
| 19 | ibr_start = .; | ||
| 20 | . = . + 0x4000; /* see head.S and pages reserved at the start */ | ||
| 21 | |||
| 22 | _text = .; /* Text and read-only data */ | ||
| 23 | text_start = .; /* lots of aliases */ | ||
| 24 | _stext = .; | ||
| 25 | __stext = .; | ||
| 26 | .text : { | ||
| 27 | TEXT_TEXT | ||
| 28 | SCHED_TEXT | ||
| 29 | LOCK_TEXT | ||
| 30 | *(.fixup) | ||
| 31 | *(.text.__*) | ||
| 32 | } | ||
| 33 | |||
| 34 | _etext = . ; /* End of text section */ | ||
| 35 | __etext = .; | ||
| 36 | |||
| 37 | . = ALIGN(4); /* Exception table */ | ||
| 38 | __start___ex_table = .; | ||
| 39 | __ex_table : { *(__ex_table) } | ||
| 40 | __stop___ex_table = .; | ||
| 41 | |||
| 42 | RODATA | ||
| 43 | |||
| 44 | . = ALIGN (4); | ||
| 45 | ___data_start = . ; | ||
| 46 | __Sdata = . ; | ||
| 47 | .data : { /* Data */ | ||
| 48 | DATA_DATA | ||
| 49 | } | ||
| 50 | __edata = . ; /* End of data section */ | ||
| 51 | _edata = . ; | ||
| 52 | |||
| 53 | . = ALIGN(PAGE_SIZE); /* init_task and stack, must be aligned */ | ||
| 54 | .data.init_task : { *(.data.init_task) } | ||
| 55 | |||
| 56 | . = ALIGN(PAGE_SIZE); /* Init code and data */ | ||
| 57 | __init_begin = .; | ||
| 58 | .init.text : { | ||
| 59 | _sinittext = .; | ||
| 60 | INIT_TEXT | ||
| 61 | _einittext = .; | ||
| 62 | } | ||
| 63 | .init.data : { INIT_DATA } | ||
| 64 | . = ALIGN(16); | ||
| 65 | __setup_start = .; | ||
| 66 | .init.setup : { *(.init.setup) } | ||
| 67 | __setup_end = .; | ||
| 68 | .initcall.init : { | ||
| 69 | __initcall_start = .; | ||
| 70 | INITCALLS | ||
| 71 | __initcall_end = .; | ||
| 72 | } | ||
| 73 | |||
| 74 | .con_initcall.init : { | ||
| 75 | __con_initcall_start = .; | ||
| 76 | *(.con_initcall.init) | ||
| 77 | __con_initcall_end = .; | ||
| 78 | } | ||
| 79 | SECURITY_INIT | ||
| 80 | |||
| 81 | #ifdef CONFIG_BLK_DEV_INITRD | ||
| 82 | .init.ramfs : { | ||
| 83 | __initramfs_start = .; | ||
| 84 | *(.init.ramfs) | ||
| 85 | __initramfs_end = .; | ||
| 86 | } | ||
| 87 | #endif | ||
| 88 | __vmlinux_end = .; /* last address of the physical file */ | ||
| 89 | |||
| 90 | /* | ||
| 91 | * We fill to the next page, so we can discard all init | ||
| 92 | * pages without needing to consider what payload might be | ||
| 93 | * appended to the kernel image. | ||
| 94 | */ | ||
| 95 | . = ALIGN(PAGE_SIZE); | ||
| 96 | |||
| 97 | __init_end = .; | ||
| 98 | |||
| 99 | __data_end = . ; /* Move to _edata ? */ | ||
| 100 | __bss_start = .; /* BSS */ | ||
| 101 | .bss : { | ||
| 102 | *(COMMON) | ||
| 103 | *(.bss) | ||
| 104 | } | ||
| 105 | |||
| 106 | . = ALIGN (0x20); | ||
| 107 | _end = .; | ||
| 108 | __end = .; | ||
| 109 | |||
| 110 | /* Sections to be discarded */ | ||
| 111 | /DISCARD/ : { | ||
| 112 | EXIT_TEXT | ||
| 113 | EXIT_DATA | ||
| 114 | *(.exitcall.exit) | ||
| 115 | } | ||
| 116 | |||
| 117 | dram_end = dram_start + CONFIG_ETRAX_DRAM_SIZE*1024*1024; | ||
| 118 | } | ||
diff --git a/arch/cris/arch-v32/boot/compressed/head.S b/arch/cris/arch-v32/boot/compressed/head.S index ea3012993b07..a4a65c5c669e 100644 --- a/arch/cris/arch-v32/boot/compressed/head.S +++ b/arch/cris/arch-v32/boot/compressed/head.S | |||
| @@ -28,7 +28,13 @@ _start: | |||
| 28 | beq dram_init_finished | 28 | beq dram_init_finished |
| 29 | nop | 29 | nop |
| 30 | 30 | ||
| 31 | #include "../../mach/dram_init.S" | 31 | #if defined CONFIG_ETRAXFS |
| 32 | #include "../../mach-fs/dram_init.S" | ||
| 33 | #elif defined CONFIG_CRIS_MACH_ARTPEC3 | ||
| 34 | #include "../../mach-a3/dram_init.S" | ||
| 35 | #else | ||
| 36 | #error Only ETRAXFS and ARTPEC-3 supported! | ||
| 37 | #endif | ||
| 32 | 38 | ||
| 33 | dram_init_finished: | 39 | dram_init_finished: |
| 34 | 40 | ||
| @@ -130,4 +136,10 @@ _cmd_line_addr: | |||
| 130 | _boot_source: | 136 | _boot_source: |
| 131 | .dword 0 | 137 | .dword 0 |
| 132 | 138 | ||
| 133 | #include "../../mach/hw_settings.S" | 139 | #if defined CONFIG_ETRAXFS |
| 140 | #include "../../mach-fs/hw_settings.S" | ||
| 141 | #elif defined CONFIG_CRIS_MACH_ARTPEC3 | ||
| 142 | #include "../../mach-a3/hw_settings.S" | ||
| 143 | #else | ||
| 144 | #error Only ETRAXFS and ARTPEC-3 supported! | ||
| 145 | #endif | ||
diff --git a/arch/cris/arch-v32/kernel/head.S b/arch/cris/arch-v32/kernel/head.S index f902d87fb5de..3db478eb5155 100644 --- a/arch/cris/arch-v32/kernel/head.S +++ b/arch/cris/arch-v32/kernel/head.S | |||
| @@ -10,8 +10,9 @@ | |||
| 10 | * The macros found in mmu_defs_asm.h uses the ## concatenation operator, so | 10 | * The macros found in mmu_defs_asm.h uses the ## concatenation operator, so |
| 11 | * -traditional must not be used when assembling this file. | 11 | * -traditional must not be used when assembling this file. |
| 12 | */ | 12 | */ |
| 13 | #include <hwregs/reg_rdwr.h> | 13 | #include <linux/autoconf.h> |
| 14 | #include <arch/memmap.h> | 14 | #include <arch/memmap.h> |
| 15 | #include <hwregs/reg_rdwr.h> | ||
| 15 | #include <hwregs/intr_vect.h> | 16 | #include <hwregs/intr_vect.h> |
| 16 | #include <hwregs/asm/mmu_defs_asm.h> | 17 | #include <hwregs/asm/mmu_defs_asm.h> |
| 17 | #include <hwregs/asm/reg_map_asm.h> | 18 | #include <hwregs/asm/reg_map_asm.h> |
| @@ -217,7 +218,14 @@ _inflash: | |||
| 217 | beq _dram_initialized | 218 | beq _dram_initialized |
| 218 | nop | 219 | nop |
| 219 | 220 | ||
| 220 | #include "../mach/dram_init.S" | 221 | #if defined CONFIG_ETRAXFS |
| 222 | #include "../mach-fs/dram_init.S" | ||
| 223 | #elif defined CONFIG_CRIS_MACH_ARTPEC3 | ||
| 224 | #include "../mach-a3/dram_init.S" | ||
| 225 | #else | ||
| 226 | #error Only ETRAXFS and ARTPEC-3 supported! | ||
| 227 | #endif | ||
| 228 | |||
| 221 | 229 | ||
| 222 | _dram_initialized: | 230 | _dram_initialized: |
| 223 | ;; Copy the text and data section to DRAM. This depends on that the | 231 | ;; Copy the text and data section to DRAM. This depends on that the |
| @@ -472,4 +480,10 @@ swapper_pg_dir = 0xc0002000 | |||
| 472 | 480 | ||
| 473 | .section ".init.data", "aw" | 481 | .section ".init.data", "aw" |
| 474 | 482 | ||
| 475 | #include "../mach/hw_settings.S" | 483 | #if defined CONFIG_ETRAXFS |
| 484 | #include "../mach-fs/hw_settings.S" | ||
| 485 | #elif defined CONFIG_CRIS_MACH_ARTPEC3 | ||
| 486 | #include "../mach-a3/hw_settings.S" | ||
| 487 | #else | ||
| 488 | #error Only ETRAXFS and ARTPEC-3 supported! | ||
| 489 | #endif | ||
diff --git a/arch/cris/arch-v32/vmlinux.lds.S b/arch/cris/kernel/vmlinux.lds.S index d5f28e40717c..0d2adfc794d4 100644 --- a/arch/cris/arch-v32/vmlinux.lds.S +++ b/arch/cris/kernel/vmlinux.lds.S | |||
| @@ -8,6 +8,7 @@ | |||
| 8 | * the kernel has booted. | 8 | * the kernel has booted. |
| 9 | */ | 9 | */ |
| 10 | 10 | ||
| 11 | #include <linux/autoconf.h> | ||
| 11 | #include <asm-generic/vmlinux.lds.h> | 12 | #include <asm-generic/vmlinux.lds.h> |
| 12 | #include <asm/page.h> | 13 | #include <asm/page.h> |
| 13 | 14 | ||
| @@ -17,22 +18,26 @@ | |||
| 17 | #define __CONFIG_ETRAX_VMEM_SIZE 0 | 18 | #define __CONFIG_ETRAX_VMEM_SIZE 0 |
| 18 | #endif | 19 | #endif |
| 19 | 20 | ||
| 21 | |||
| 20 | jiffies = jiffies_64; | 22 | jiffies = jiffies_64; |
| 21 | SECTIONS | 23 | SECTIONS |
| 22 | { | 24 | { |
| 23 | . = DRAM_VIRTUAL_BASE; | 25 | . = DRAM_VIRTUAL_BASE; |
| 24 | dram_start = .; | 26 | dram_start = .; |
| 27 | #ifdef CONFIG_ETRAX_ARCH_V10 | ||
| 28 | ibr_start = .; | ||
| 29 | #else | ||
| 25 | ebp_start = .; | 30 | ebp_start = .; |
| 26 | |||
| 27 | /* The boot section is only necessary until the VCS top */ | 31 | /* The boot section is only necessary until the VCS top */ |
| 28 | /* level testbench includes both flash and DRAM. */ | 32 | /* level testbench includes both flash and DRAM. */ |
| 29 | .boot : { *(.boot) } | 33 | .boot : { *(.boot) } |
| 34 | #endif | ||
| 30 | 35 | ||
| 31 | /* See head.S and pages reserved at the start. */ | 36 | /* see head.S and pages reserved at the start */ |
| 32 | . = DRAM_VIRTUAL_BASE + 0x4000; | 37 | . = DRAM_VIRTUAL_BASE + 0x4000; |
| 33 | 38 | ||
| 34 | _text = .; /* Text and read-only data. */ | 39 | _text = .; /* Text and read-only data. */ |
| 35 | text_start = .; /* Lots of aliases. */ | 40 | text_start = .; /* Lots of aliases. */ |
| 36 | _stext = .; | 41 | _stext = .; |
| 37 | __stext = .; | 42 | __stext = .; |
| 38 | .text : { | 43 | .text : { |
| @@ -43,10 +48,10 @@ SECTIONS | |||
| 43 | *(.text.__*) | 48 | *(.text.__*) |
| 44 | } | 49 | } |
| 45 | 50 | ||
| 46 | _etext = . ; /* End of text section. */ | 51 | _etext = . ; /* End of text section. */ |
| 47 | __etext = .; | 52 | __etext = .; |
| 48 | 53 | ||
| 49 | . = ALIGN(4); /* Exception table. */ | 54 | . = ALIGN(4); /* Exception table. */ |
| 50 | __start___ex_table = .; | 55 | __start___ex_table = .; |
| 51 | __ex_table : { *(__ex_table) } | 56 | __ex_table : { *(__ex_table) } |
| 52 | __stop___ex_table = .; | 57 | __stop___ex_table = .; |
| @@ -56,16 +61,16 @@ SECTIONS | |||
| 56 | . = ALIGN (4); | 61 | . = ALIGN (4); |
| 57 | ___data_start = . ; | 62 | ___data_start = . ; |
| 58 | __Sdata = . ; | 63 | __Sdata = . ; |
| 59 | .data : { /* Data */ | 64 | .data : { /* Data */ |
| 60 | DATA_DATA | 65 | DATA_DATA |
| 61 | } | 66 | } |
| 62 | __edata = . ; /* End of data section. */ | 67 | __edata = . ; /* End of data section. */ |
| 63 | _edata = . ; | 68 | _edata = . ; |
| 64 | 69 | ||
| 65 | . = ALIGN(PAGE_SIZE); /* init_task and stack, must be aligned. */ | 70 | . = ALIGN(PAGE_SIZE); /* init_task and stack, must be aligned. */ |
| 66 | .data.init_task : { *(.data.init_task) } | 71 | .data.init_task : { *(.data.init_task) } |
| 67 | 72 | ||
| 68 | . = ALIGN(PAGE_SIZE); /* Init code and data. */ | 73 | . = ALIGN(PAGE_SIZE); /* Init code and data. */ |
| 69 | __init_begin = .; | 74 | __init_begin = .; |
| 70 | .init.text : { | 75 | .init.text : { |
| 71 | _sinittext = .; | 76 | _sinittext = .; |
| @@ -77,9 +82,11 @@ SECTIONS | |||
| 77 | __setup_start = .; | 82 | __setup_start = .; |
| 78 | .init.setup : { *(.init.setup) } | 83 | .init.setup : { *(.init.setup) } |
| 79 | __setup_end = .; | 84 | __setup_end = .; |
| 85 | #ifdef CONFIG_ETRAX_ARCH_V32 | ||
| 80 | __start___param = .; | 86 | __start___param = .; |
| 81 | __param : { *(__param) } | 87 | __param : { *(__param) } |
| 82 | __stop___param = .; | 88 | __stop___param = .; |
| 89 | #endif | ||
| 83 | .initcall.init : { | 90 | .initcall.init : { |
| 84 | __initcall_start = .; | 91 | __initcall_start = .; |
| 85 | INITCALLS | 92 | INITCALLS |
| @@ -93,7 +100,17 @@ SECTIONS | |||
| 93 | } | 100 | } |
| 94 | SECURITY_INIT | 101 | SECURITY_INIT |
| 95 | 102 | ||
| 96 | __vmlinux_end = .; /* Last address of the physical file. */ | 103 | #ifdef CONFIG_ETRAX_ARCH_V10 |
| 104 | #ifdef CONFIG_BLK_DEV_INITRD | ||
| 105 | .init.ramfs : { | ||
| 106 | __initramfs_start = .; | ||
| 107 | *(.init.ramfs) | ||
| 108 | __initramfs_end = .; | ||
| 109 | } | ||
| 110 | #endif | ||
| 111 | #endif | ||
| 112 | __vmlinux_end = .; /* Last address of the physical file. */ | ||
| 113 | #ifdef CONFIG_ETRAX_ARCH_V32 | ||
| 97 | PERCPU(PAGE_SIZE) | 114 | PERCPU(PAGE_SIZE) |
| 98 | 115 | ||
| 99 | .init.ramfs : { | 116 | .init.ramfs : { |
| @@ -101,18 +118,19 @@ SECTIONS | |||
| 101 | *(.init.ramfs) | 118 | *(.init.ramfs) |
| 102 | __initramfs_end = .; | 119 | __initramfs_end = .; |
| 103 | } | 120 | } |
| 121 | #endif | ||
| 104 | 122 | ||
| 105 | /* | 123 | /* |
| 106 | * We fill to the next page, so we can discard all init | 124 | * We fill to the next page, so we can discard all init |
| 107 | * pages without needing to consider what payload might be | 125 | * pages without needing to consider what payload might be |
| 108 | * appended to the kernel image. | 126 | * appended to the kernel image. |
| 109 | */ | 127 | */ |
| 110 | . = ALIGN (PAGE_SIZE); | 128 | . = ALIGN(PAGE_SIZE); |
| 111 | 129 | ||
| 112 | __init_end = .; | 130 | __init_end = .; |
| 113 | 131 | ||
| 114 | __data_end = . ; /* Move to _edata? */ | 132 | __data_end = . ; /* Move to _edata ? */ |
| 115 | __bss_start = .; /* BSS. */ | 133 | __bss_start = .; /* BSS. */ |
| 116 | .bss : { | 134 | .bss : { |
| 117 | *(COMMON) | 135 | *(COMMON) |
| 118 | *(.bss) | 136 | *(.bss) |
