diff options
-rw-r--r-- | firmware/target/arm/bits-armv4.S | 12 | ||||
-rw-r--r-- | firmware/target/arm/bits-armv6.S | 6 | ||||
-rw-r--r-- | firmware/target/arm/boot-pp502x-bl-usb.lds | 11 | ||||
-rw-r--r-- | firmware/target/arm/imx233/app.lds | 8 | ||||
-rw-r--r-- | firmware/target/arm/imx233/boot.lds | 8 | ||||
-rw-r--r-- | firmware/target/arm/imx31/app.lds | 15 | ||||
-rw-r--r-- | firmware/target/arm/imx31/boot.lds | 12 | ||||
-rw-r--r-- | firmware/target/arm/lcd-as-memframe.S | 12 | ||||
-rw-r--r-- | firmware/target/arm/mmu-arm.S | 18 | ||||
-rw-r--r-- | firmware/target/arm/mmu-armv6.S | 16 | ||||
-rw-r--r-- | firmware/target/arm/s3c2440/app.lds | 6 | ||||
-rw-r--r-- | firmware/target/arm/s3c2440/boot.lds | 12 | ||||
-rw-r--r-- | firmware/target/arm/sandisk/app.lds | 11 | ||||
-rw-r--r-- | firmware/target/arm/tcc780x/app.lds | 11 | ||||
-rw-r--r-- | firmware/target/arm/tcc780x/boot.lds | 9 | ||||
-rw-r--r-- | firmware/target/arm/tms320dm320/app.lds | 8 | ||||
-rw-r--r-- | firmware/target/arm/tms320dm320/boot.lds | 8 |
17 files changed, 79 insertions, 104 deletions
diff --git a/firmware/target/arm/bits-armv4.S b/firmware/target/arm/bits-armv4.S index 542e362f77..fdfc9f3227 100644 --- a/firmware/target/arm/bits-armv4.S +++ b/firmware/target/arm/bits-armv4.S | |||
@@ -22,7 +22,7 @@ | |||
22 | /*************************************************************************** | 22 | /*************************************************************************** |
23 | * void bitmod32(volatile uint32_t *addr, uint32_t bits, uint32_t mask) | 23 | * void bitmod32(volatile uint32_t *addr, uint32_t bits, uint32_t mask) |
24 | */ | 24 | */ |
25 | .section .text, "ax", %progbits | 25 | .section .text.bitmod32, "ax", %progbits |
26 | .align 2 | 26 | .align 2 |
27 | .global bitmod32 | 27 | .global bitmod32 |
28 | .type bitmod32, %function | 28 | .type bitmod32, %function |
@@ -42,7 +42,7 @@ bitmod32: | |||
42 | /*************************************************************************** | 42 | /*************************************************************************** |
43 | * void bitset32(volatile uint32_t *addr, uint32_t mask) | 43 | * void bitset32(volatile uint32_t *addr, uint32_t mask) |
44 | */ | 44 | */ |
45 | .section .text, "ax", %progbits | 45 | .section .text.bitset32, "ax", %progbits |
46 | .align 2 | 46 | .align 2 |
47 | .global bitset32 | 47 | .global bitset32 |
48 | .type bitset32, %function | 48 | .type bitset32, %function |
@@ -61,7 +61,7 @@ bitset32: | |||
61 | /*************************************************************************** | 61 | /*************************************************************************** |
62 | * void bitclr32(volatile uint32_t *addr, uint32_t mask) | 62 | * void bitclr32(volatile uint32_t *addr, uint32_t mask) |
63 | */ | 63 | */ |
64 | .section .text, "ax", %progbits | 64 | .section .text.bitclr32, "ax", %progbits |
65 | .align 2 | 65 | .align 2 |
66 | .global bitclr32 | 66 | .global bitclr32 |
67 | .type bitclr32, %function | 67 | .type bitclr32, %function |
@@ -79,7 +79,7 @@ bitclr32: | |||
79 | /*************************************************************************** | 79 | /*************************************************************************** |
80 | * void bitmod16(volatile uint16_t *addr, uint16_t bits, uint16_t mask) | 80 | * void bitmod16(volatile uint16_t *addr, uint16_t bits, uint16_t mask) |
81 | */ | 81 | */ |
82 | .section .text, "ax", %progbits | 82 | .section .text.bitmod16, "ax", %progbits |
83 | .align 2 | 83 | .align 2 |
84 | .global bitmod16 | 84 | .global bitmod16 |
85 | .type bitmod16, %function | 85 | .type bitmod16, %function |
@@ -99,7 +99,7 @@ bitmod16: | |||
99 | /*************************************************************************** | 99 | /*************************************************************************** |
100 | * void bitset16(volatile uint16_t *addr, uint16_t mask) | 100 | * void bitset16(volatile uint16_t *addr, uint16_t mask) |
101 | */ | 101 | */ |
102 | .section .text, "ax", %progbits | 102 | .section .text.bitset16, "ax", %progbits |
103 | .align 2 | 103 | .align 2 |
104 | .global bitset16 | 104 | .global bitset16 |
105 | .type bitset16, %function | 105 | .type bitset16, %function |
@@ -118,7 +118,7 @@ bitset16: | |||
118 | /*************************************************************************** | 118 | /*************************************************************************** |
119 | * void bitclr16(volatile uint16_t *addr, uint16_t mask) | 119 | * void bitclr16(volatile uint16_t *addr, uint16_t mask) |
120 | */ | 120 | */ |
121 | .section .text, "ax", %progbits | 121 | .section .text.bitclr16, "ax", %progbits |
122 | .align 2 | 122 | .align 2 |
123 | .global bitclr16 | 123 | .global bitclr16 |
124 | .type bitclr16, %function | 124 | .type bitclr16, %function |
diff --git a/firmware/target/arm/bits-armv6.S b/firmware/target/arm/bits-armv6.S index 0a15805f87..fbac7f9cf9 100644 --- a/firmware/target/arm/bits-armv6.S +++ b/firmware/target/arm/bits-armv6.S | |||
@@ -22,7 +22,7 @@ | |||
22 | /*************************************************************************** | 22 | /*************************************************************************** |
23 | * void bitmod32(volatile uint32_t *addr, uint32_t bits, uint32_t mask) | 23 | * void bitmod32(volatile uint32_t *addr, uint32_t bits, uint32_t mask) |
24 | */ | 24 | */ |
25 | .section .text, "ax", %progbits | 25 | .section .text.bitmod32, "ax", %progbits |
26 | .align 2 | 26 | .align 2 |
27 | .global bitmod32 | 27 | .global bitmod32 |
28 | .type bitmod32, %function | 28 | .type bitmod32, %function |
@@ -41,7 +41,7 @@ bitmod32: | |||
41 | /*************************************************************************** | 41 | /*************************************************************************** |
42 | * void bitset32(volatile uint32_t *addr, uint32_t mask) | 42 | * void bitset32(volatile uint32_t *addr, uint32_t mask) |
43 | */ | 43 | */ |
44 | .section .text, "ax", %progbits | 44 | .section .text.bitset32, "ax", %progbits |
45 | .align 2 | 45 | .align 2 |
46 | .global bitset32 | 46 | .global bitset32 |
47 | .type bitset32, %function | 47 | .type bitset32, %function |
@@ -59,7 +59,7 @@ bitset32: | |||
59 | /*************************************************************************** | 59 | /*************************************************************************** |
60 | * void bitclr32(volatile uint32_t *addr, uint32_t mask) | 60 | * void bitclr32(volatile uint32_t *addr, uint32_t mask) |
61 | */ | 61 | */ |
62 | .section .text, "ax", %progbits | 62 | .section .text.bitclr32, "ax", %progbits |
63 | .align 2 | 63 | .align 2 |
64 | .global bitclr32 | 64 | .global bitclr32 |
65 | .type bitclr32, %function | 65 | .type bitclr32, %function |
diff --git a/firmware/target/arm/boot-pp502x-bl-usb.lds b/firmware/target/arm/boot-pp502x-bl-usb.lds index 30a8c0e716..e721991c5a 100644 --- a/firmware/target/arm/boot-pp502x-bl-usb.lds +++ b/firmware/target/arm/boot-pp502x-bl-usb.lds | |||
@@ -39,10 +39,7 @@ SECTIONS | |||
39 | 39 | ||
40 | .rodata : | 40 | .rodata : |
41 | { | 41 | { |
42 | *(.rodata) /* problems without this, dunno why */ | ||
43 | *(.rodata*) | 42 | *(.rodata*) |
44 | *(.rodata.str1.1) | ||
45 | *(.rodata.str1.4) | ||
46 | . = ALIGN(0x4); | 43 | . = ALIGN(0x4); |
47 | } > DRAM | 44 | } > DRAM |
48 | 45 | ||
@@ -73,7 +70,7 @@ SECTIONS | |||
73 | { | 70 | { |
74 | _iedata = .; | 71 | _iedata = .; |
75 | *(.qharray) | 72 | *(.qharray) |
76 | *(.ibss) | 73 | *(.ibss*) |
77 | . = ALIGN(0x4); | 74 | . = ALIGN(0x4); |
78 | _iend = .; | 75 | _iend = .; |
79 | } > IRAM | 76 | } > IRAM |
@@ -81,9 +78,9 @@ SECTIONS | |||
81 | .iram _iend : | 78 | .iram _iend : |
82 | { | 79 | { |
83 | _iramstart = .; | 80 | _iramstart = .; |
84 | *(.icode) | 81 | *(.icode*) |
85 | *(.irodata) | 82 | *(.irodata*) |
86 | *(.idata) | 83 | *(.idata*) |
87 | _iramend = .; | 84 | _iramend = .; |
88 | } > IRAM AT> DRAM | 85 | } > IRAM AT> DRAM |
89 | 86 | ||
diff --git a/firmware/target/arm/imx233/app.lds b/firmware/target/arm/imx233/app.lds index 0eeecc1ab8..1dc929c778 100644 --- a/firmware/target/arm/imx233/app.lds +++ b/firmware/target/arm/imx233/app.lds | |||
@@ -52,9 +52,9 @@ SECTIONS | |||
52 | _iramstart = .; // always 0 | 52 | _iramstart = .; // always 0 |
53 | *(.vectors) | 53 | *(.vectors) |
54 | KEEP(*(.vectors));// otherwise there are no references to it and the linker strip it | 54 | KEEP(*(.vectors));// otherwise there are no references to it and the linker strip it |
55 | *(.icode) | 55 | *(.icode*) |
56 | *(.irodata) | 56 | *(.irodata*) |
57 | *(.idata) | 57 | *(.idata*) |
58 | . = ALIGN(0x4); | 58 | . = ALIGN(0x4); |
59 | _iramend = .; | 59 | _iramend = .; |
60 | } > IRAM AT> DRAM | 60 | } > IRAM AT> DRAM |
@@ -65,7 +65,7 @@ SECTIONS | |||
65 | { | 65 | { |
66 | _iedata = .; | 66 | _iedata = .; |
67 | *(.qharray) | 67 | *(.qharray) |
68 | *(.ibss) | 68 | *(.ibss*) |
69 | . = ALIGN(0x4); | 69 | . = ALIGN(0x4); |
70 | _iend = .; | 70 | _iend = .; |
71 | } > IRAM | 71 | } > IRAM |
diff --git a/firmware/target/arm/imx233/boot.lds b/firmware/target/arm/imx233/boot.lds index d909b9fbd1..ac1209a475 100644 --- a/firmware/target/arm/imx233/boot.lds +++ b/firmware/target/arm/imx233/boot.lds | |||
@@ -44,9 +44,9 @@ SECTIONS | |||
44 | _iramstart = .; // always 0 | 44 | _iramstart = .; // always 0 |
45 | *(.vectors) | 45 | *(.vectors) |
46 | KEEP(*(.vectors));// otherwise there are no references to it and the linker strip it | 46 | KEEP(*(.vectors));// otherwise there are no references to it and the linker strip it |
47 | *(.icode) | 47 | *(.icode*) |
48 | *(.irodata) | 48 | *(.irodata*) |
49 | *(.idata) | 49 | *(.idata*) |
50 | . = ALIGN(0x4); | 50 | . = ALIGN(0x4); |
51 | _iramend = .; | 51 | _iramend = .; |
52 | } > IRAM AT> DRAM | 52 | } > IRAM AT> DRAM |
@@ -62,7 +62,7 @@ SECTIONS | |||
62 | { | 62 | { |
63 | _iedata = .; | 63 | _iedata = .; |
64 | *(.qharray) | 64 | *(.qharray) |
65 | *(.ibss) | 65 | *(.ibss*) |
66 | . = ALIGN(0x4); | 66 | . = ALIGN(0x4); |
67 | _iend = .; | 67 | _iend = .; |
68 | } > IRAM | 68 | } > IRAM |
diff --git a/firmware/target/arm/imx31/app.lds b/firmware/target/arm/imx31/app.lds index 60187fe433..ac91ffd767 100644 --- a/firmware/target/arm/imx31/app.lds +++ b/firmware/target/arm/imx31/app.lds | |||
@@ -46,7 +46,7 @@ SECTIONS | |||
46 | . = ALIGN(0x200); | 46 | . = ALIGN(0x200); |
47 | *(.init.text) | 47 | *(.init.text) |
48 | *(.text*) | 48 | *(.text*) |
49 | *(.icode) | 49 | *(.icode*) |
50 | *(.glue_7) | 50 | *(.glue_7) |
51 | *(.glue_7t) | 51 | *(.glue_7t) |
52 | . = ALIGN(0x4); | 52 | . = ALIGN(0x4); |
@@ -54,18 +54,15 @@ SECTIONS | |||
54 | 54 | ||
55 | .rodata : | 55 | .rodata : |
56 | { | 56 | { |
57 | *(.rodata) /* problems without this, dunno why */ | ||
58 | *(.rodata*) | 57 | *(.rodata*) |
59 | *(.rodata.str1.1) | 58 | *(.irodata*) |
60 | *(.rodata.str1.4) | ||
61 | *(.irodata) | ||
62 | . = ALIGN(0x4); | 59 | . = ALIGN(0x4); |
63 | } > DRAM | 60 | } > DRAM |
64 | 61 | ||
65 | .data : | 62 | .data : |
66 | { | 63 | { |
67 | *(.data*) | 64 | *(.data*) |
68 | *(.idata) | 65 | *(.idata*) |
69 | . = ALIGN(0x4); | 66 | . = ALIGN(0x4); |
70 | } > DRAM | 67 | } > DRAM |
71 | 68 | ||
@@ -102,8 +99,8 @@ SECTIONS | |||
102 | { | 99 | { |
103 | . = ALIGN(4); | 100 | . = ALIGN(4); |
104 | _initstart = .; | 101 | _initstart = .; |
105 | *(.init) | 102 | *(.init*) |
106 | *(.initdata) | 103 | *(.initdata*) |
107 | _initend = .; | 104 | _initend = .; |
108 | } > INIT AT> DRAM | 105 | } > INIT AT> DRAM |
109 | 106 | ||
@@ -122,7 +119,7 @@ SECTIONS | |||
122 | { | 119 | { |
123 | _edata = .; | 120 | _edata = .; |
124 | *(.bss*) | 121 | *(.bss*) |
125 | *(.ibss) | 122 | *(.ibss*) |
126 | *(COMMON) | 123 | *(COMMON) |
127 | . = ALIGN(0x4); | 124 | . = ALIGN(0x4); |
128 | } > DRAM | 125 | } > DRAM |
diff --git a/firmware/target/arm/imx31/boot.lds b/firmware/target/arm/imx31/boot.lds index 03b92c8dea..be1d98e507 100644 --- a/firmware/target/arm/imx31/boot.lds +++ b/firmware/target/arm/imx31/boot.lds | |||
@@ -30,7 +30,7 @@ SECTIONS | |||
30 | { | 30 | { |
31 | *(.init.text) | 31 | *(.init.text) |
32 | *(.text*) | 32 | *(.text*) |
33 | *(.icode) | 33 | *(.icode*) |
34 | *(.glue_7) | 34 | *(.glue_7) |
35 | *(.glue_7t) | 35 | *(.glue_7t) |
36 | . = ALIGN(0x4); | 36 | . = ALIGN(0x4); |
@@ -38,21 +38,17 @@ SECTIONS | |||
38 | 38 | ||
39 | .rodata : | 39 | .rodata : |
40 | { | 40 | { |
41 | *(.rodata) /* problems without this, dunno why */ | ||
42 | *(.rodata*) | 41 | *(.rodata*) |
43 | *(.rodata.str1.1) | 42 | *(.irodata*) |
44 | *(.rodata.str1.4) | ||
45 | . = ALIGN(0x4); | 43 | . = ALIGN(0x4); |
46 | |||
47 | /* Pseudo-allocate the copies of the data sections */ | 44 | /* Pseudo-allocate the copies of the data sections */ |
48 | _datacopy = .; | 45 | _datacopy = .; |
49 | } > DRAM | 46 | } > DRAM |
50 | 47 | ||
51 | .data : | 48 | .data : |
52 | { | 49 | { |
53 | *(.irodata) | ||
54 | *(.idata) | ||
55 | *(.data*) | 50 | *(.data*) |
51 | *(.idata*) | ||
56 | _dataend = . ; | 52 | _dataend = . ; |
57 | } > DRAM | 53 | } > DRAM |
58 | 54 | ||
@@ -93,7 +89,7 @@ SECTIONS | |||
93 | { | 89 | { |
94 | _edata = .; | 90 | _edata = .; |
95 | *(.bss*); | 91 | *(.bss*); |
96 | *(.ibss); | 92 | *(.ibss*); |
97 | *(COMMON) | 93 | *(COMMON) |
98 | . = ALIGN(0x4); | 94 | . = ALIGN(0x4); |
99 | } > DRAM | 95 | } > DRAM |
diff --git a/firmware/target/arm/lcd-as-memframe.S b/firmware/target/arm/lcd-as-memframe.S index 87cbb611ca..dccc947649 100644 --- a/firmware/target/arm/lcd-as-memframe.S +++ b/firmware/target/arm/lcd-as-memframe.S | |||
@@ -28,7 +28,7 @@ | |||
28 | * void lcd_copy_buffer_rect(fb_data *dst, fb_data *src, int width, | 28 | * void lcd_copy_buffer_rect(fb_data *dst, fb_data *src, int width, |
29 | * int height); | 29 | * int height); |
30 | */ | 30 | */ |
31 | .section .icode, "ax", %progbits | 31 | .section .icode.lcd_copy_buffer_rect, "ax", %progbits |
32 | .align 2 | 32 | .align 2 |
33 | .global lcd_copy_buffer_rect | 33 | .global lcd_copy_buffer_rect |
34 | .type lcd_copy_buffer_rect, %function | 34 | .type lcd_copy_buffer_rect, %function |
@@ -55,7 +55,7 @@ lcd_copy_buffer_rect: @ | |||
55 | @ align (rw) | 55 | @ align (rw) |
56 | and r14, r14, #0xe @ r14 = 0 (16), 2, 4, 6, 8, 10, 12, 14 | 56 | and r14, r14, #0xe @ r14 = 0 (16), 2, 4, 6, 8, 10, 12, 14 |
57 | add pc, pc, r14, lsl #3 @ branch to 32-byte align | 57 | add pc, pc, r14, lsl #3 @ branch to 32-byte align |
58 | nop @ | 58 | nop @ |
59 | b 30f @ rw % 16 = 0 or 1? use octword loop | 59 | b 30f @ rw % 16 = 0 or 1? use octword loop |
60 | nop @ | 60 | nop @ |
61 | nop @ | 61 | nop @ |
@@ -93,7 +93,7 @@ lcd_copy_buffer_rect: @ | |||
93 | ldmia r1!, { r6-r12, r14 } @ | 93 | ldmia r1!, { r6-r12, r14 } @ |
94 | subs r2, r2, #16 @ | 94 | subs r2, r2, #16 @ |
95 | stmia r0!, { r6-r12, r14 } @ | 95 | stmia r0!, { r6-r12, r14 } @ |
96 | bgt 30b @ octword loop @ | 96 | bgt 30b @ octword loop @ |
97 | 40: @ finish line @ | 97 | 40: @ finish line @ |
98 | ldreqh r6, [r1], #2 @ finish last halfword if eq ... | 98 | ldreqh r6, [r1], #2 @ finish last halfword if eq ... |
99 | add r1, r1, r4, lsl #1 @ | 99 | add r1, r1, r4, lsl #1 @ |
@@ -123,7 +123,7 @@ lcd_copy_buffer_rect: @ | |||
123 | * 1 3 + > down | 123 | * 1 3 + > down |
124 | * 2 4 \/ left | 124 | * 2 4 \/ left |
125 | */ | 125 | */ |
126 | .section .icode, "ax", %progbits | 126 | .section .icode.lcd_write_yuv420_lines, "ax", %progbits |
127 | .align 2 | 127 | .align 2 |
128 | .global lcd_write_yuv420_lines | 128 | .global lcd_write_yuv420_lines |
129 | .type lcd_write_yuv420_lines, %function | 129 | .type lcd_write_yuv420_lines, %function |
@@ -376,7 +376,7 @@ lcd_write_yuv420_lines: | |||
376 | * 4 2 5 3 | 3 7 2 6 | 3 5 7 1 2 4 6 0 col2 \/ | 376 | * 4 2 5 3 | 3 7 2 6 | 3 5 7 1 2 4 6 0 col2 \/ |
377 | * 0 6 1 7 5 1 4 0 | 377 | * 0 6 1 7 5 1 4 0 |
378 | */ | 378 | */ |
379 | .section .icode, "ax", %progbits | 379 | .section .icode.lcd_write_yuv420_lines_odither, "ax", %progbits |
380 | .align 2 | 380 | .align 2 |
381 | .global lcd_write_yuv420_lines_odither | 381 | .global lcd_write_yuv420_lines_odither |
382 | .type lcd_write_yuv420_lines_odither, %function | 382 | .type lcd_write_yuv420_lines_odither, %function |
@@ -410,7 +410,7 @@ lcd_write_yuv420_lines_odither: | |||
410 | add r12, r7, r7, asl #2 @ | 410 | add r12, r7, r7, asl #2 @ |
411 | add r12, r12, r12, asl #4 @ | 411 | add r12, r12, r12, asl #4 @ |
412 | add r7, r12, r7, asl #6 @ | 412 | add r7, r12, r7, asl #6 @ |
413 | @ | 413 | @ |
414 | sub r8, r8, #128 @ Cb -= 128 | 414 | sub r8, r8, #128 @ Cb -= 128 |
415 | sub r9, r9, #128 @ Cr -= 128 | 415 | sub r9, r9, #128 @ Cr -= 128 |
416 | @ | 416 | @ |
diff --git a/firmware/target/arm/mmu-arm.S b/firmware/target/arm/mmu-arm.S index 39f0edbfce..88f9095d2f 100644 --- a/firmware/target/arm/mmu-arm.S +++ b/firmware/target/arm/mmu-arm.S | |||
@@ -85,7 +85,7 @@ | |||
85 | /* | 85 | /* |
86 | * void ttb_init(void); | 86 | * void ttb_init(void); |
87 | */ | 87 | */ |
88 | .section .text, "ax", %progbits | 88 | .section .text.ttb_init, "ax", %progbits |
89 | .align 2 | 89 | .align 2 |
90 | .global ttb_init | 90 | .global ttb_init |
91 | .type ttb_init, %function | 91 | .type ttb_init, %function |
@@ -100,7 +100,7 @@ ttb_init: | |||
100 | /* | 100 | /* |
101 | * void map_section(unsigned int pa, unsigned int va, int mb, int flags); | 101 | * void map_section(unsigned int pa, unsigned int va, int mb, int flags); |
102 | */ | 102 | */ |
103 | .section .text, "ax", %progbits | 103 | .section .text.map_section, "ax", %progbits |
104 | .align 2 | 104 | .align 2 |
105 | .global map_section | 105 | .global map_section |
106 | .type map_section, %function | 106 | .type map_section, %function |
@@ -148,7 +148,7 @@ map_section: | |||
148 | /* | 148 | /* |
149 | * void enable_mmu(void); | 149 | * void enable_mmu(void); |
150 | */ | 150 | */ |
151 | .section .text, "ax", %progbits | 151 | .section .text.enable_mmu, "ax", %progbits |
152 | .align 2 | 152 | .align 2 |
153 | .global enable_mmu | 153 | .global enable_mmu |
154 | .type enable_mmu, %function | 154 | .type enable_mmu, %function |
@@ -180,7 +180,7 @@ enable_mmu: | |||
180 | * from DCache afterwards | 180 | * from DCache afterwards |
181 | * void commit_discard_dcache_range(const void *base, unsigned int size); | 181 | * void commit_discard_dcache_range(const void *base, unsigned int size); |
182 | */ | 182 | */ |
183 | .section .text, "ax", %progbits | 183 | .section .text.commit_discard_dcache_range, "ax", %progbits |
184 | .align 2 | 184 | .align 2 |
185 | .global commit_discard_dcache_range | 185 | .global commit_discard_dcache_range |
186 | .type commit_discard_dcache_range, %function | 186 | .type commit_discard_dcache_range, %function |
@@ -228,7 +228,7 @@ invalidate_dcache_range: | |||
228 | * Write DCache back to RAM for the given range | 228 | * Write DCache back to RAM for the given range |
229 | * void commit_dcache_range(const void *base, unsigned int size); | 229 | * void commit_dcache_range(const void *base, unsigned int size); |
230 | */ | 230 | */ |
231 | .section .text, "ax", %progbits | 231 | .section .text.commit_dcache_range, "ax", %progbits |
232 | .align 2 | 232 | .align 2 |
233 | .global commit_dcache_range | 233 | .global commit_dcache_range |
234 | .type commit_dcache_range, %function | 234 | .type commit_dcache_range, %function |
@@ -277,7 +277,7 @@ clean_dcache_range: | |||
277 | * will *NOT* do write back except for buffer edges not on a line boundary | 277 | * will *NOT* do write back except for buffer edges not on a line boundary |
278 | * void discard_dcache_range(const void *base, unsigned int size); | 278 | * void discard_dcache_range(const void *base, unsigned int size); |
279 | */ | 279 | */ |
280 | .section .text, "ax", %progbits | 280 | .section .text.discard_dcache_range, "ax", %progbits |
281 | .align 2 | 281 | .align 2 |
282 | .global discard_dcache_range | 282 | .global discard_dcache_range |
283 | .type discard_dcache_range, %function | 283 | .type discard_dcache_range, %function |
@@ -335,7 +335,7 @@ dump_dcache_range: | |||
335 | * Write entire DCache back to RAM | 335 | * Write entire DCache back to RAM |
336 | * void commit_dcache(void); | 336 | * void commit_dcache(void); |
337 | */ | 337 | */ |
338 | .section .text, "ax", %progbits | 338 | .section .text.commit_dcache, "ax", %progbits |
339 | .align 2 | 339 | .align 2 |
340 | .global commit_dcache | 340 | .global commit_dcache |
341 | .type commit_dcache, %function | 341 | .type commit_dcache, %function |
@@ -372,7 +372,7 @@ cpucache_flush: | |||
372 | * Commit and discard entire DCache, will do writeback | 372 | * Commit and discard entire DCache, will do writeback |
373 | * void commit_discard_dcache(void); | 373 | * void commit_discard_dcache(void); |
374 | */ | 374 | */ |
375 | .section .icode, "ax", %progbits | 375 | .section .icode.commit_discard_dcache, "ax", %progbits |
376 | .align 2 | 376 | .align 2 |
377 | .global commit_discard_dcache | 377 | .global commit_discard_dcache |
378 | .type commit_discard_dcache, %function | 378 | .type commit_discard_dcache, %function |
@@ -405,7 +405,7 @@ invalidate_dcache: | |||
405 | * Discards the entire ICache, and commit+discards the entire DCache | 405 | * Discards the entire ICache, and commit+discards the entire DCache |
406 | * void commit_discard_idcache(void); | 406 | * void commit_discard_idcache(void); |
407 | */ | 407 | */ |
408 | .section .icode, "ax", %progbits | 408 | .section .icode.commit_discard_idcache, "ax", %progbits |
409 | .align 2 | 409 | .align 2 |
410 | .global commit_discard_idcache | 410 | .global commit_discard_idcache |
411 | .type commit_discard_idcache, %function | 411 | .type commit_discard_idcache, %function |
diff --git a/firmware/target/arm/mmu-armv6.S b/firmware/target/arm/mmu-armv6.S index 12381adf8b..c4cb49ea26 100644 --- a/firmware/target/arm/mmu-armv6.S +++ b/firmware/target/arm/mmu-armv6.S | |||
@@ -32,7 +32,7 @@ | |||
32 | * from DCache afterwards | 32 | * from DCache afterwards |
33 | * void commit_discard_dcache_range(const void *base, unsigned int size); | 33 | * void commit_discard_dcache_range(const void *base, unsigned int size); |
34 | */ | 34 | */ |
35 | .section .text, "ax", %progbits | 35 | .section .text.commit_discard_dcache_range, "ax", %progbits |
36 | .align 2 | 36 | .align 2 |
37 | .global commit_discard_dcache_range | 37 | .global commit_discard_dcache_range |
38 | .type commit_discard_dcache_range, %function | 38 | .type commit_discard_dcache_range, %function |
@@ -56,7 +56,7 @@ invalidate_dcache_range: | |||
56 | * Write DCache back to RAM for the given range | 56 | * Write DCache back to RAM for the given range |
57 | * void commit_dcache_range(const void *base, unsigned int size); | 57 | * void commit_dcache_range(const void *base, unsigned int size); |
58 | */ | 58 | */ |
59 | .section .text, "ax", %progbits | 59 | .section .text.commit_dcache_range, "ax", %progbits |
60 | .align 2 | 60 | .align 2 |
61 | .global commit_dcache_range | 61 | .global commit_dcache_range |
62 | .type commit_dcache_range, %function | 62 | .type commit_dcache_range, %function |
@@ -79,7 +79,7 @@ clean_dcache_range: | |||
79 | * will *NOT* do write back except for buffer edges not on a line boundary | 79 | * will *NOT* do write back except for buffer edges not on a line boundary |
80 | * void discard_dcache_range(const void *base, unsigned int size); | 80 | * void discard_dcache_range(const void *base, unsigned int size); |
81 | */ | 81 | */ |
82 | .section .text, "ax", %progbits | 82 | .section .text.discard_dcache_range, "ax", %progbits |
83 | .align 2 | 83 | .align 2 |
84 | .global discard_dcache_range | 84 | .global discard_dcache_range |
85 | .type discard_dcache_range, %function | 85 | .type discard_dcache_range, %function |
@@ -90,7 +90,7 @@ discard_dcache_range: | |||
90 | dump_dcache_range: | 90 | dump_dcache_range: |
91 | add r1, r0, r1 @ size -> end | 91 | add r1, r0, r1 @ size -> end |
92 | cmp r1, r0 @ end <= start? | 92 | cmp r1, r0 @ end <= start? |
93 | bxls lr @ | 93 | bxls lr @ |
94 | tst r0, #31 @ Check first line for bits set | 94 | tst r0, #31 @ Check first line for bits set |
95 | bicne r0, r0, #31 @ Clear low five bits (down) | 95 | bicne r0, r0, #31 @ Clear low five bits (down) |
96 | mcrne p15, 0, r0, c7, c14, 1 @ Clean and invalidate line by MVA | 96 | mcrne p15, 0, r0, c7, c14, 1 @ Clean and invalidate line by MVA |
@@ -114,7 +114,7 @@ dump_dcache_range: | |||
114 | * Write entire DCache back to RAM | 114 | * Write entire DCache back to RAM |
115 | * void commit_dcache(void); | 115 | * void commit_dcache(void); |
116 | */ | 116 | */ |
117 | .section .text, "ax", %progbits | 117 | .section .text.commit_dcache, "ax", %progbits |
118 | .align 2 | 118 | .align 2 |
119 | .global commit_dcache | 119 | .global commit_dcache |
120 | .type commit_dcache, %function | 120 | .type commit_dcache, %function |
@@ -136,7 +136,7 @@ cpucache_flush: | |||
136 | * Clean and invalidate entire DCache, will do writeback | 136 | * Clean and invalidate entire DCache, will do writeback |
137 | * void commit_discard_dcache(void); | 137 | * void commit_discard_dcache(void); |
138 | */ | 138 | */ |
139 | .section .icode, "ax", %progbits | 139 | .section .icode.commit_discard_dcache, "ax", %progbits |
140 | .align 2 | 140 | .align 2 |
141 | .global commit_discard_dcache | 141 | .global commit_discard_dcache |
142 | .type commit_discard_dcache, %function | 142 | .type commit_discard_dcache, %function |
@@ -149,13 +149,13 @@ invalidate_dcache: | |||
149 | mcr p15, 0, r0, c7, c10, 4 @ Data synchronization barrier | 149 | mcr p15, 0, r0, c7, c10, 4 @ Data synchronization barrier |
150 | bx lr @ | 150 | bx lr @ |
151 | .size commit_discard_dcache, .-commit_discard_dcache | 151 | .size commit_discard_dcache, .-commit_discard_dcache |
152 | 152 | ||
153 | 153 | ||
154 | /* | 154 | /* |
155 | * Discards the entire ICache, and commit+discards the entire DCache | 155 | * Discards the entire ICache, and commit+discards the entire DCache |
156 | * void cpucache_commit_discard(void); | 156 | * void cpucache_commit_discard(void); |
157 | */ | 157 | */ |
158 | .section .icode, "ax", %progbits | 158 | .section .icode.cpucache_commit_discard, "ax", %progbits |
159 | .align 2 | 159 | .align 2 |
160 | .global cpucache_commit_discard | 160 | .global cpucache_commit_discard |
161 | .type cpucache_commit_discard, %function | 161 | .type cpucache_commit_discard, %function |
diff --git a/firmware/target/arm/s3c2440/app.lds b/firmware/target/arm/s3c2440/app.lds index bfd672d1a3..bdc7380a54 100644 --- a/firmware/target/arm/s3c2440/app.lds +++ b/firmware/target/arm/s3c2440/app.lds | |||
@@ -43,9 +43,8 @@ SECTIONS | |||
43 | .text : | 43 | .text : |
44 | { | 44 | { |
45 | _textstart = .; | 45 | _textstart = .; |
46 | *(.text) | ||
47 | *(.text*) | 46 | *(.text*) |
48 | *(.icode) | 47 | *(.icode*) |
49 | *(.glue_7) | 48 | *(.glue_7) |
50 | *(.glue_7t) | 49 | *(.glue_7t) |
51 | . = ALIGN(0x4); | 50 | . = ALIGN(0x4); |
@@ -55,10 +54,7 @@ SECTIONS | |||
55 | 54 | ||
56 | .rodata : | 55 | .rodata : |
57 | { | 56 | { |
58 | *(.rodata) /* problems without this, dunno why */ | ||
59 | *(.rodata*) | 57 | *(.rodata*) |
60 | *(.rodata.str1.1) | ||
61 | *(.rodata.str1.4) | ||
62 | *(.irodata*) | 58 | *(.irodata*) |
63 | . = ALIGN(0x4); | 59 | . = ALIGN(0x4); |
64 | } > DRAM | 60 | } > DRAM |
diff --git a/firmware/target/arm/s3c2440/boot.lds b/firmware/target/arm/s3c2440/boot.lds index 731201fbb7..13b6344afb 100644 --- a/firmware/target/arm/s3c2440/boot.lds +++ b/firmware/target/arm/s3c2440/boot.lds | |||
@@ -31,9 +31,8 @@ SECTIONS | |||
31 | .text : | 31 | .text : |
32 | { | 32 | { |
33 | _textstart = .; | 33 | _textstart = .; |
34 | *(.text) | ||
35 | *(.text*) | 34 | *(.text*) |
36 | *(.icode) | 35 | *(.icode*) |
37 | *(.glue_7) | 36 | *(.glue_7) |
38 | *(.glue_7t) | 37 | *(.glue_7t) |
39 | . = ALIGN(0x4); | 38 | . = ALIGN(0x4); |
@@ -43,18 +42,15 @@ SECTIONS | |||
43 | 42 | ||
44 | .rodata : | 43 | .rodata : |
45 | { | 44 | { |
46 | *(.rodata) /* problems without this, dunno why */ | ||
47 | *(.rodata*) | 45 | *(.rodata*) |
48 | *(.rodata.str1.1) | 46 | *(.irodata*) |
49 | *(.rodata.str1.4) | ||
50 | *(.irodata) | ||
51 | . = ALIGN(0x4); | 47 | . = ALIGN(0x4); |
52 | } > DRAM | 48 | } > DRAM |
53 | 49 | ||
54 | .data : | 50 | .data : |
55 | { | 51 | { |
56 | *(.data*) | 52 | *(.data*) |
57 | *(.idata) | 53 | *(.idata*) |
58 | . = ALIGN(0x4); | 54 | . = ALIGN(0x4); |
59 | } > DRAM | 55 | } > DRAM |
60 | 56 | ||
@@ -77,7 +73,7 @@ SECTIONS | |||
77 | { | 73 | { |
78 | _edata = .; | 74 | _edata = .; |
79 | *(.bss*) | 75 | *(.bss*) |
80 | *(.ibss) | 76 | *(.ibss*) |
81 | *(COMMON) | 77 | *(COMMON) |
82 | . = ALIGN(0x4); | 78 | . = ALIGN(0x4); |
83 | _end = .; | 79 | _end = .; |
diff --git a/firmware/target/arm/sandisk/app.lds b/firmware/target/arm/sandisk/app.lds index a98f33dd9f..57e1d4f256 100644 --- a/firmware/target/arm/sandisk/app.lds +++ b/firmware/target/arm/sandisk/app.lds | |||
@@ -51,10 +51,7 @@ SECTIONS | |||
51 | 51 | ||
52 | .rodata : | 52 | .rodata : |
53 | { | 53 | { |
54 | *(.rodata) /* problems without this, dunno why */ | ||
55 | *(.rodata*) | 54 | *(.rodata*) |
56 | *(.rodata.str1.1) | ||
57 | *(.rodata.str1.4) | ||
58 | . = ALIGN(0x4); | 55 | . = ALIGN(0x4); |
59 | } > DRAM | 56 | } > DRAM |
60 | 57 | ||
@@ -95,7 +92,7 @@ SECTIONS | |||
95 | { | 92 | { |
96 | _iedata = .; | 93 | _iedata = .; |
97 | *(.qharray) | 94 | *(.qharray) |
98 | *(.ibss) | 95 | *(.ibss*) |
99 | . = ALIGN(0x4); | 96 | . = ALIGN(0x4); |
100 | _iend = .; | 97 | _iend = .; |
101 | } > IRAM | 98 | } > IRAM |
@@ -103,9 +100,9 @@ SECTIONS | |||
103 | .iram _iend : | 100 | .iram _iend : |
104 | { | 101 | { |
105 | _iramstart = .; | 102 | _iramstart = .; |
106 | *(.icode) | 103 | *(.icode*) |
107 | *(.irodata) | 104 | *(.irodata*) |
108 | *(.idata) | 105 | *(.idata*) |
109 | . = ALIGN(0x4); | 106 | . = ALIGN(0x4); |
110 | _iramend = .; | 107 | _iramend = .; |
111 | } > IRAM AT> DRAM | 108 | } > IRAM AT> DRAM |
diff --git a/firmware/target/arm/tcc780x/app.lds b/firmware/target/arm/tcc780x/app.lds index e84ea05de7..e56c7f5cb7 100644 --- a/firmware/target/arm/tcc780x/app.lds +++ b/firmware/target/arm/tcc780x/app.lds | |||
@@ -51,10 +51,7 @@ SECTIONS | |||
51 | 51 | ||
52 | .rodata : | 52 | .rodata : |
53 | { | 53 | { |
54 | *(.rodata) /* problems without this, dunno why */ | ||
55 | *(.rodata*) | 54 | *(.rodata*) |
56 | *(.rodata.str1.1) | ||
57 | *(.rodata.str1.4) | ||
58 | . = ALIGN(0x4); | 55 | . = ALIGN(0x4); |
59 | } > DRAM | 56 | } > DRAM |
60 | 57 | ||
@@ -97,9 +94,9 @@ SECTIONS | |||
97 | .iram : | 94 | .iram : |
98 | { | 95 | { |
99 | _iramstart = .; | 96 | _iramstart = .; |
100 | *(.irodata) | 97 | *(.irodata*) |
101 | *(.idata) | 98 | *(.idata*) |
102 | *(.icode) | 99 | *(.icode*) |
103 | . = ALIGN(0x4); | 100 | . = ALIGN(0x4); |
104 | _iramend = .; | 101 | _iramend = .; |
105 | } > SRAM AT> DRAM | 102 | } > SRAM AT> DRAM |
@@ -109,7 +106,7 @@ SECTIONS | |||
109 | .ibss (NOLOAD) : | 106 | .ibss (NOLOAD) : |
110 | { | 107 | { |
111 | _iedata = .; | 108 | _iedata = .; |
112 | *(.ibss) | 109 | *(.ibss*) |
113 | . = ALIGN(0x4); | 110 | . = ALIGN(0x4); |
114 | _iend = .; | 111 | _iend = .; |
115 | } > SRAM | 112 | } > SRAM |
diff --git a/firmware/target/arm/tcc780x/boot.lds b/firmware/target/arm/tcc780x/boot.lds index 82b4619819..e54e09f91e 100644 --- a/firmware/target/arm/tcc780x/boot.lds +++ b/firmware/target/arm/tcc780x/boot.lds | |||
@@ -27,16 +27,15 @@ SECTIONS | |||
27 | { | 27 | { |
28 | .text : { | 28 | .text : { |
29 | *(.init.text) | 29 | *(.init.text) |
30 | *(.text) | ||
31 | *(.text*) | 30 | *(.text*) |
32 | *(.glue_7) | 31 | *(.glue_7) |
33 | *(.glue_7t) | 32 | *(.glue_7t) |
34 | } > DRAM | 33 | } > DRAM |
35 | 34 | ||
36 | .data : { | 35 | .data : { |
37 | *(.icode) | 36 | *(.icode*) |
38 | *(.irodata) | 37 | *(.irodata*) |
39 | *(.idata) | 38 | *(.idata*) |
40 | *(.data*) | 39 | *(.data*) |
41 | *(.rodata.*) | 40 | *(.rodata.*) |
42 | . = ALIGN(0x4); | 41 | . = ALIGN(0x4); |
@@ -55,7 +54,7 @@ SECTIONS | |||
55 | .bss (NOLOAD) : { | 54 | .bss (NOLOAD) : { |
56 | _edata = .; | 55 | _edata = .; |
57 | *(.bss*); | 56 | *(.bss*); |
58 | *(.ibss); | 57 | *(.ibss*); |
59 | *(COMMON) | 58 | *(COMMON) |
60 | _end = .; | 59 | _end = .; |
61 | } > DRAM | 60 | } > DRAM |
diff --git a/firmware/target/arm/tms320dm320/app.lds b/firmware/target/arm/tms320dm320/app.lds index a1b29dda6f..a3dadb64ed 100644 --- a/firmware/target/arm/tms320dm320/app.lds +++ b/firmware/target/arm/tms320dm320/app.lds | |||
@@ -115,9 +115,9 @@ SECTIONS | |||
115 | { | 115 | { |
116 | . = ALIGN(0x4); | 116 | . = ALIGN(0x4); |
117 | _iramstart = .; | 117 | _iramstart = .; |
118 | *(.icode) | 118 | *(.icode*) |
119 | *(.irodata) | 119 | *(.irodata*) |
120 | *(.idata) | 120 | *(.idata*) |
121 | _iramend = .; | 121 | _iramend = .; |
122 | } > ITCM AT> DRAM | 122 | } > ITCM AT> DRAM |
123 | 123 | ||
@@ -137,7 +137,7 @@ SECTIONS | |||
137 | { | 137 | { |
138 | . = ALIGN(0x4); | 138 | . = ALIGN(0x4); |
139 | _ibss_start = .; | 139 | _ibss_start = .; |
140 | *(.ibss) | 140 | *(.ibss*) |
141 | _ibss_end = .; | 141 | _ibss_end = .; |
142 | } > ITCM | 142 | } > ITCM |
143 | 143 | ||
diff --git a/firmware/target/arm/tms320dm320/boot.lds b/firmware/target/arm/tms320dm320/boot.lds index 65649d7268..43ed6486e9 100644 --- a/firmware/target/arm/tms320dm320/boot.lds +++ b/firmware/target/arm/tms320dm320/boot.lds | |||
@@ -136,9 +136,9 @@ SECTIONS | |||
136 | { | 136 | { |
137 | . = ALIGN(0x4); | 137 | . = ALIGN(0x4); |
138 | _iramstart = .; | 138 | _iramstart = .; |
139 | *(.icode) | 139 | *(.icode*) |
140 | *(.irodata) | 140 | *(.irodata*) |
141 | *(.idata) | 141 | *(.idata*) |
142 | _iramend = .; | 142 | _iramend = .; |
143 | } > IRAM AT> FLASH | 143 | } > IRAM AT> FLASH |
144 | 144 | ||
@@ -148,7 +148,7 @@ SECTIONS | |||
148 | { | 148 | { |
149 | . = ALIGN(0x4); | 149 | . = ALIGN(0x4); |
150 | _ibss_start = .; | 150 | _ibss_start = .; |
151 | *(.ibss) | 151 | *(.ibss*) |
152 | _ibss_end = .; | 152 | _ibss_end = .; |
153 | } > IRAM | 153 | } > IRAM |
154 | 154 | ||