FreeRTOS-Kernel/portable/GCC
Amit Tomar c13719d2d0
fix alignment exception for ullPortInterruptNesting. (#317)
* fix alignment exception for ullPortInterruptNesting.

While loading (LDR X5, ullPortInterruptNestingConst) the ullPortInterruptNesting
variable, the program control seems to be stuck and there is no abort or stack
trace observed (as there is no exception handler is installed to catch unaligned
access exception).

Program control moves forward, if one just declares this varible to be 2 bytes
aligned but then varible is not updated properly.

One of my colleague, pointed out that issue is due to the fact that
ullPortInterruptNesting must be at 8 bytes aligned address but since
"vApplicationIRQHandler" (that has 4 bytes of address) is sitting between
two 8 bytes aligned addresses that forces ullPortInterruptNesting to be at
4 byte aligned address, causing all sort of mess.

It works on QEMU (on ARM64) as it is, since there is no such check for
unaligned access but on real hardware it is prohibited.

Workaround to this problem is, either we skip 4 byets (using .align 4) after
vApplicationIRQHandler declaration or declare it the end of all declarations.
This commit does the latter one.

Signed-off-by: Amit Singh Tomar <atomar25opensource@gmail.com>

* Update portASM.S

Remove 1 tab = 4 spaces

Co-authored-by: Amit Singh Tomar <atomar25opensource@gmail.com>
Co-authored-by: alfred gedeon <28123637+alfred2g@users.noreply.github.com>
Co-authored-by: Joseph Julicher <jjulicher@mac.com>
2021-12-29 13:53:10 -07:00
..
ARM7_AT91FR40008 Normalize files with mixed line endings (introduced in commit 3a413d1) 2021-06-01 17:55:18 -07:00
ARM7_AT91SAM7S Normalize files with mixed line endings (introduced in commit 3a413d1) 2021-06-01 17:55:18 -07:00
ARM7_LPC23xx Normalize files with mixed line endings (introduced in commit 3a413d1) 2021-06-01 17:55:18 -07:00
ARM7_LPC2000 Normalize files with mixed line endings (introduced in commit 3a413d1) 2021-06-01 17:55:18 -07:00
ARM_CA9 fix typo (#399) 2021-10-06 15:32:07 -07:00
ARM_CA53_64_BIT fix alignment exception for ullPortInterruptNesting. (#317) 2021-12-29 13:53:10 -07:00
ARM_CA53_64_BIT_SRE Update comments for the ARM_CA53_64_BIT_SRE port (#403) 2021-10-16 13:45:03 -07:00
ARM_CM0 Normalize files with mixed line endings (introduced in commit 3a413d1) 2021-06-01 17:55:18 -07:00
ARM_CM3 fix typo (#399) 2021-10-06 15:32:07 -07:00
ARM_CM3_MPU Add option to disable unprivileged critical sections 2021-11-15 15:09:12 -08:00
ARM_CM4_MPU Add option to disable unprivileged critical sections 2021-11-15 15:09:12 -08:00
ARM_CM4F fix typo (#399) 2021-10-06 15:32:07 -07:00
ARM_CM7 fix typo (#399) 2021-10-06 15:32:07 -07:00
ARM_CM23 Fix free secure context for Cortex-M23 ports 2021-09-10 16:44:36 -07:00
ARM_CM23_NTZ/non_secure Associate secure context with task handle 2021-09-10 16:44:36 -07:00
ARM_CM33 Implement secure stack sealing as per ARM's recommendation 2021-09-10 16:44:36 -07:00
ARM_CM33_NTZ/non_secure Associate secure context with task handle 2021-09-10 16:44:36 -07:00
ARM_CR5 fix typo (#399) 2021-10-06 15:32:07 -07:00
ARM_CRx_No_GIC Normalize files with mixed line endings (introduced in commit 3a413d1) 2021-06-01 17:55:18 -07:00
ATMega323 Normalize files with mixed line endings (introduced in commit 3a413d1) 2021-06-01 17:55:18 -07:00
AVR32_UC3 Update license text for ports that were previously missed. 2021-05-27 19:57:55 -07:00
AVR_AVRDx Remove AVR ports from main repo (#394) 2021-09-14 19:25:46 -07:00
AVR_Mega0 Remove AVR ports from main repo (#394) 2021-09-14 19:25:46 -07:00
ColdFire_V2 Normalize files with mixed line endings (introduced in commit 3a413d1) 2021-06-01 17:55:18 -07:00
CORTUS_APS3 Normalize files with mixed line endings (introduced in commit 3a413d1) 2021-06-01 17:55:18 -07:00
H8S2329 Normalize files with mixed line endings (introduced in commit 3a413d1) 2021-06-01 17:55:18 -07:00
HCS12 Normalize files with mixed line endings (introduced in commit 3a413d1) 2021-06-01 17:55:18 -07:00
IA32_flat Normalize files with mixed line endings (introduced in commit 3a413d1) 2021-06-01 17:55:18 -07:00
MCF5235 Replace two dashes and one whitespace with their corresponding ASCII characters. (#362) 2021-06-30 15:07:55 -07:00
MicroBlaze Normalize files with mixed line endings (introduced in commit 3a413d1) 2021-06-01 17:55:18 -07:00
MicroBlazeV8 Normalize files with mixed line endings (introduced in commit 3a413d1) 2021-06-01 17:55:18 -07:00
MicroBlazeV9 Normalize files with mixed line endings (introduced in commit 3a413d1) 2021-06-01 17:55:18 -07:00
MSP430F449 Normalize files with mixed line endings (introduced in commit 3a413d1) 2021-06-01 17:55:18 -07:00
NiosII Fix: Interrut Handler Register Function and Exception Process (#41) 2021-12-28 10:54:23 -07:00
PPC405_Xilinx Normalize files with mixed line endings (introduced in commit 3a413d1) 2021-06-01 17:55:18 -07:00
PPC440_Xilinx Normalize files with mixed line endings (introduced in commit 3a413d1) 2021-06-01 17:55:18 -07:00
RISC-V RISC-V: No #error on RV64 regarding byte alignment (#367) 2021-12-28 11:52:33 -08:00
RL78 Normalize files with mixed line endings (introduced in commit 3a413d1) 2021-06-01 17:55:18 -07:00
RX100 Normalize files with mixed line endings (introduced in commit 3a413d1) 2021-06-01 17:55:18 -07:00
RX200 Normalize files with mixed line endings (introduced in commit 3a413d1) 2021-06-01 17:55:18 -07:00
RX600 Normalize files with mixed line endings (introduced in commit 3a413d1) 2021-06-01 17:55:18 -07:00
RX600v2 Normalize files with mixed line endings (introduced in commit 3a413d1) 2021-06-01 17:55:18 -07:00
RX700v3_DPFPU Add SPDX-License-Identifier: MIT to MIT licensed files. 2021-05-27 19:57:55 -07:00
STR75x Normalize files with mixed line endings (introduced in commit 3a413d1) 2021-06-01 17:55:18 -07:00
TriCore_1782 Normalize files with mixed line endings (introduced in commit 3a413d1) 2021-06-01 17:55:18 -07:00