arch/arm: Fix syscall number out of swi range in thumb mode

The immediate number is 8bits in thumb mode:
+---------------------+---------------+
|15 14 13 12 11 10 9 8|7 6 5 4 3 2 1 0|
+---------------------+---------------+
| 1  1  0  1  1  1 1 1|      imm8     |
+---------------------+---------------+

The immediate number is 24bits in arm mode:
+-----------+-------------------------------------------------------------------------+
|31 30 29 28|27 26 25 24|23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0|
+-----------+-----------+-------------------------------------------------------------+
|   cond    | 1  1  1  1|                                imm24                        |
+-----------+-----------+-------------------------------------------------------------+

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I62503cdc377fcee81864e88e981d389bce2e1b45
This commit is contained in:
Xiang Xiao 2021-03-16 22:26:18 +08:00 committed by Alan Carvalho de Assis
parent 02f6b80336
commit 335ba21657
3 changed files with 3 additions and 3 deletions

View File

@ -54,7 +54,7 @@
* Pre-processor Definitions
****************************************************************************/
#define SYS_syscall 0x900001
#define SYS_syscall 0x00
#if defined(__thumb__) || defined(__thumb2__)
# define SYS_smhcall 0xab

View File

@ -54,7 +54,7 @@
* Pre-processor Definitions
****************************************************************************/
#define SYS_syscall 0x900001
#define SYS_syscall 0x00
#if defined(__thumb__) || defined(__thumb2__)
# define SYS_smhcall 0xab

View File

@ -54,7 +54,7 @@
* Pre-processor Definitions
****************************************************************************/
#define SYS_syscall 0x900001
#define SYS_syscall 0x00
#if defined(__thumb__) || defined(__thumb2__)
# define SYS_smhcall 0xab