diff options
Diffstat (limited to 'firmware/target')
-rw-r--r-- | firmware/target/arm/imx31/app.lds | 1 | ||||
-rw-r--r-- | firmware/target/arm/ipod/app.lds | 19 | ||||
-rw-r--r-- | firmware/target/arm/iriver/app.lds | 19 | ||||
-rw-r--r-- | firmware/target/arm/olympus/app.lds | 19 | ||||
-rw-r--r-- | firmware/target/arm/sandisk/app.lds | 19 | ||||
-rw-r--r-- | firmware/target/arm/usb-drv-arc.c | 9 |
6 files changed, 49 insertions, 37 deletions
diff --git a/firmware/target/arm/imx31/app.lds b/firmware/target/arm/imx31/app.lds index 7a7bd550d1..3725daca04 100644 --- a/firmware/target/arm/imx31/app.lds +++ b/firmware/target/arm/imx31/app.lds @@ -152,6 +152,7 @@ SECTIONS .devbss (NOLOAD) : { _devbssdata = .; + *(.qharray) *(.devbss*) _devbssend = .; } > DEVBSS diff --git a/firmware/target/arm/ipod/app.lds b/firmware/target/arm/ipod/app.lds index bf5eae0515..ccd23eb31b 100644 --- a/firmware/target/arm/ipod/app.lds +++ b/firmware/target/arm/ipod/app.lds @@ -104,7 +104,16 @@ SECTIONS _vectorscopy = LOADADDR(.vectors); - .iram IRAMORIG : + .ibss IRAMORIG (NOLOAD) : + { + _iedata = .; + *(.qharray) + *(.ibss) + . = ALIGN(0x4); + _iend = .; + } > IRAM + + .iram _iend : { _iramstart = .; *(.icode) @@ -116,14 +125,6 @@ SECTIONS _iramcopy = LOADADDR(.iram); - .ibss (NOLOAD) : - { - _iedata = .; - *(.ibss) - . = ALIGN(0x4); - _iend = .; - } > IRAM - .idle_stacks (NOLOAD) : { *(.idle_stacks) diff --git a/firmware/target/arm/iriver/app.lds b/firmware/target/arm/iriver/app.lds index bf5eae0515..ccd23eb31b 100644 --- a/firmware/target/arm/iriver/app.lds +++ b/firmware/target/arm/iriver/app.lds @@ -104,7 +104,16 @@ SECTIONS _vectorscopy = LOADADDR(.vectors); - .iram IRAMORIG : + .ibss IRAMORIG (NOLOAD) : + { + _iedata = .; + *(.qharray) + *(.ibss) + . = ALIGN(0x4); + _iend = .; + } > IRAM + + .iram _iend : { _iramstart = .; *(.icode) @@ -116,14 +125,6 @@ SECTIONS _iramcopy = LOADADDR(.iram); - .ibss (NOLOAD) : - { - _iedata = .; - *(.ibss) - . = ALIGN(0x4); - _iend = .; - } > IRAM - .idle_stacks (NOLOAD) : { *(.idle_stacks) diff --git a/firmware/target/arm/olympus/app.lds b/firmware/target/arm/olympus/app.lds index bf5eae0515..ccd23eb31b 100644 --- a/firmware/target/arm/olympus/app.lds +++ b/firmware/target/arm/olympus/app.lds @@ -104,7 +104,16 @@ SECTIONS _vectorscopy = LOADADDR(.vectors); - .iram IRAMORIG : + .ibss IRAMORIG (NOLOAD) : + { + _iedata = .; + *(.qharray) + *(.ibss) + . = ALIGN(0x4); + _iend = .; + } > IRAM + + .iram _iend : { _iramstart = .; *(.icode) @@ -116,14 +125,6 @@ SECTIONS _iramcopy = LOADADDR(.iram); - .ibss (NOLOAD) : - { - _iedata = .; - *(.ibss) - . = ALIGN(0x4); - _iend = .; - } > IRAM - .idle_stacks (NOLOAD) : { *(.idle_stacks) diff --git a/firmware/target/arm/sandisk/app.lds b/firmware/target/arm/sandisk/app.lds index bf5eae0515..ccd23eb31b 100644 --- a/firmware/target/arm/sandisk/app.lds +++ b/firmware/target/arm/sandisk/app.lds @@ -104,7 +104,16 @@ SECTIONS _vectorscopy = LOADADDR(.vectors); - .iram IRAMORIG : + .ibss IRAMORIG (NOLOAD) : + { + _iedata = .; + *(.qharray) + *(.ibss) + . = ALIGN(0x4); + _iend = .; + } > IRAM + + .iram _iend : { _iramstart = .; *(.icode) @@ -116,14 +125,6 @@ SECTIONS _iramcopy = LOADADDR(.iram); - .ibss (NOLOAD) : - { - _iedata = .; - *(.ibss) - . = ALIGN(0x4); - _iend = .; - } > IRAM - .idle_stacks (NOLOAD) : { *(.idle_stacks) diff --git a/firmware/target/arm/usb-drv-arc.c b/firmware/target/arm/usb-drv-arc.c index a2f8819962..92955e1ac2 100644 --- a/firmware/target/arm/usb-drv-arc.c +++ b/firmware/target/arm/usb-drv-arc.c @@ -338,8 +338,15 @@ struct queue_head { unsigned int wait; /* for softwate use, indicates if the transfer is blocking */ } __attribute__((packed)); +#if CONFIG_CPU == IMX31L +static struct queue_head qh_array[NUM_ENDPOINTS*2] + QHARRAY_ATTR __attribute__((aligned (2048))); +#else +/* This still needs to be 2048 byte aligned, but QHARRAY_ATTR should take + care of that */ static struct queue_head qh_array[NUM_ENDPOINTS*2] - USBDEVBSS_ATTR __attribute__((aligned (2048))); + QHARRAY_ATTR __attribute__((aligned (4))); +#endif static struct wakeup transfer_completion_signal[NUM_ENDPOINTS*2] SHAREDBSS_ATTR; |