diff options
author | Yatharth Kochar <yatharth.kochar@arm.com> | 2016-11-09 15:39:25 +0000 |
---|---|---|
committer | Yatharth Kochar <yatharth.kochar@arm.com> | 2016-12-01 11:02:51 +0000 |
commit | 69d59e0ce9f713b0fd4929908ec1649d29f2cbd4 (patch) | |
tree | fde05328ab9626b1aecdeff086b49c4fb81cc277 /include/lib | |
parent | c59428b1502f37c9b2f551613da1b491c4226d10 (diff) |
AArch32: Miscellaneous fixes in the AArch32 code
This patch makes following miscellaneous fixes:
* pl011_console.S: Fixed the bit mask used to check if the
transmit FIFO is full or empty.
* smcc_macros.S: Added `_fsxc` suffix while updating the SPSR.
By default the assembler assumes `_fc` suffix which does not
update all the fields in SPSR. By adding `_fsxc` suffix all
the fields gets updated.
* platform_helpers.S: Removed the weak definition for
`plat_my_core_pos()` as this is a mandatory function which
needs to be defined by all platforms.
Change-Id: I8302292533c943686fff8d7c749a07132c052a3b
Signed-off-by: Yatharth Kochar <yatharth.kochar@arm.com>
Diffstat (limited to 'include/lib')
-rw-r--r-- | include/lib/aarch32/smcc_macros.S | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/include/lib/aarch32/smcc_macros.S b/include/lib/aarch32/smcc_macros.S index c80c3e47..4d329f5d 100644 --- a/include/lib/aarch32/smcc_macros.S +++ b/include/lib/aarch32/smcc_macros.S @@ -109,7 +109,13 @@ msr spsr_und, r9 msr sp_und, r10 msr lr_und, r11 - msr spsr, r12 + /* + * Use the `_fsxc` suffix explicitly to instruct the assembler + * to update all the 32 bits of SPSR. Else, by default, the + * assembler assumes `_fc` suffix which only modifies + * f->[31:24] and c->[7:0] bits of SPSR. + */ + msr spsr_fsxc, r12 /* Restore the rest of the general purpose registers */ ldm r0, {r0-r12} |