GNU Binutils with patches for OS216
修訂 | ea5c7acffa6ddf695474979d9657bb817e1eec77 (tree) |
---|---|
時間 | 2016-08-26 22:30:04 |
作者 | Thomas Preud'homme <thomas.preudhomme@arm....> |
Commiter | Thomas Preud'homme |
2016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
Backport from mainline
2016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
gas/
* config/tc-arm.c (v7m_psrs): Add MSPLIM, PSPLIM, MSPLIM_NS,
PSPLIM_NS, PRIMASK_NS, BASEPRI_NS, FAULTMASK_NS, CONTROL_NS, SP_NS and
their lowecase counterpart special registers. Write register
identifier in hex.
* testsuite/gas/arm/archv8m-cmse-msr.s: Reorganize tests per
operation, special register and then case. Use different register for
each operation. Add tests for new special registers.
* testsuite/gas/arm/archv8m-cmse-msr-base.d: Adapt expected result
accordingly.
* testsuite/gas/arm/archv8m-cmse-msr-main.d: Likewise.
* testsuite/gas/arm/archv8m-main-dsp-4.d: Likewise.
opcodes/
* arm-dis.c (psr_name): Use hex as case labels. Add detection for
MSPLIM, PSPLIM, MSPLIM_NS, PSPLIM_NS, PRIMASK_NS, BASEPRI_NS,
FAULTMASK_NS, CONTROL_NS and SP_NS special registers.
@@ -1,3 +1,20 @@ | ||
1 | +2016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com> | |
2 | + | |
3 | + Backport from mainline | |
4 | + 2016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com> | |
5 | + | |
6 | + * config/tc-arm.c (v7m_psrs): Add MSPLIM, PSPLIM, MSPLIM_NS, | |
7 | + PSPLIM_NS, PRIMASK_NS, BASEPRI_NS, FAULTMASK_NS, CONTROL_NS, SP_NS and | |
8 | + their lowecase counterpart special registers. Write register | |
9 | + identifier in hex. | |
10 | + * testsuite/gas/arm/archv8m-cmse-msr.s: Reorganize tests per | |
11 | + operation, special register and then case. Use different register for | |
12 | + each operation. Add tests for new special registers. | |
13 | + * testsuite/gas/arm/archv8m-cmse-msr-base.d: Adapt expected result | |
14 | + accordingly. | |
15 | + * testsuite/gas/arm/archv8m-cmse-msr-main.d: Likewise. | |
16 | + * testsuite/gas/arm/archv8m-main-dsp-4.d: Likewise. | |
17 | + | |
1 | 18 | 2016-08-25 Thomas Preud'homme <thomas.preudhomme@arm.com> |
2 | 19 | |
3 | 20 | Backport from mainline |
@@ -18388,24 +18388,33 @@ static const struct asm_psr psrs[] = | ||
18388 | 18388 | /* Table of V7M psr names. */ |
18389 | 18389 | static const struct asm_psr v7m_psrs[] = |
18390 | 18390 | { |
18391 | - {"apsr", 0 }, {"APSR", 0 }, | |
18392 | - {"iapsr", 1 }, {"IAPSR", 1 }, | |
18393 | - {"eapsr", 2 }, {"EAPSR", 2 }, | |
18394 | - {"psr", 3 }, {"PSR", 3 }, | |
18395 | - {"xpsr", 3 }, {"XPSR", 3 }, {"xPSR", 3 }, | |
18396 | - {"ipsr", 5 }, {"IPSR", 5 }, | |
18397 | - {"epsr", 6 }, {"EPSR", 6 }, | |
18398 | - {"iepsr", 7 }, {"IEPSR", 7 }, | |
18399 | - {"msp", 8 }, {"MSP", 8 }, | |
18400 | - {"psp", 9 }, {"PSP", 9 }, | |
18401 | - {"primask", 16}, {"PRIMASK", 16}, | |
18402 | - {"basepri", 17}, {"BASEPRI", 17}, | |
18403 | - {"basepri_max", 18}, {"BASEPRI_MAX", 18}, | |
18404 | - {"basepri_max", 18}, {"BASEPRI_MASK", 18}, /* Typo, preserved for backwards compatibility. */ | |
18405 | - {"faultmask", 19}, {"FAULTMASK", 19}, | |
18406 | - {"control", 20}, {"CONTROL", 20}, | |
18407 | - {"msp_ns", 0x88}, {"MSP_NS", 0x88}, | |
18408 | - {"psp_ns", 0x89}, {"PSP_NS", 0x89} | |
18391 | + {"apsr", 0x0 }, {"APSR", 0x0 }, | |
18392 | + {"iapsr", 0x1 }, {"IAPSR", 0x1 }, | |
18393 | + {"eapsr", 0x2 }, {"EAPSR", 0x2 }, | |
18394 | + {"psr", 0x3 }, {"PSR", 0x3 }, | |
18395 | + {"xpsr", 0x3 }, {"XPSR", 0x3 }, {"xPSR", 3 }, | |
18396 | + {"ipsr", 0x5 }, {"IPSR", 0x5 }, | |
18397 | + {"epsr", 0x6 }, {"EPSR", 0x6 }, | |
18398 | + {"iepsr", 0x7 }, {"IEPSR", 0x7 }, | |
18399 | + {"msp", 0x8 }, {"MSP", 0x8 }, | |
18400 | + {"psp", 0x9 }, {"PSP", 0x9 }, | |
18401 | + {"msplim", 0xa }, {"MSPLIM", 0xa }, | |
18402 | + {"psplim", 0xb }, {"PSPLIM", 0xb }, | |
18403 | + {"primask", 0x10}, {"PRIMASK", 0x10}, | |
18404 | + {"basepri", 0x11}, {"BASEPRI", 0x11}, | |
18405 | + {"basepri_max", 0x12}, {"BASEPRI_MAX", 0x12}, | |
18406 | + {"basepri_max", 0x12}, {"BASEPRI_MASK", 0x12}, /* Typo, preserved for backwards compatibility. */ | |
18407 | + {"faultmask", 0x13}, {"FAULTMASK", 0x13}, | |
18408 | + {"control", 0x14}, {"CONTROL", 0x14}, | |
18409 | + {"msp_ns", 0x88}, {"MSP_NS", 0x88}, | |
18410 | + {"psp_ns", 0x89}, {"PSP_NS", 0x89}, | |
18411 | + {"msplim_ns", 0x8a}, {"MSPLIM_NS", 0x8a}, | |
18412 | + {"psplim_ns", 0x8b}, {"PSPLIM_NS", 0x8b}, | |
18413 | + {"primask_ns", 0x90}, {"PRIMASK_NS", 0x90}, | |
18414 | + {"basepri_ns", 0x91}, {"BASEPRI_NS", 0x91}, | |
18415 | + {"faultmask_ns", 0x93}, {"FAULTMASK_NS", 0x93}, | |
18416 | + {"control_ns", 0x94}, {"CONTROL_NS", 0x94}, | |
18417 | + {"sp_ns", 0x98}, {"SP_NS", 0x98 } | |
18409 | 18418 | }; |
18410 | 18419 | |
18411 | 18420 | /* Table of all shift-in-operand names. */ |
@@ -6,19 +6,71 @@ | ||
6 | 6 | .*: +file format .*arm.* |
7 | 7 | |
8 | 8 | Disassembly of section .text: |
9 | -0+.* <[^>]*> f380 8808 msr MSP, r0 | |
10 | -0+.* <[^>]*> f380 8888 msr MSP_NS, r0 | |
11 | -0+.* <[^>]*> f380 8809 msr PSP, r0 | |
12 | -0+.* <[^>]*> f380 8889 msr PSP_NS, r0 | |
13 | -0+.* <[^>]*> f380 8808 msr MSP, r0 | |
14 | -0+.* <[^>]*> f380 8888 msr MSP_NS, r0 | |
15 | -0+.* <[^>]*> f380 8809 msr PSP, r0 | |
16 | -0+.* <[^>]*> f380 8889 msr PSP_NS, r0 | |
17 | 9 | 0+.* <[^>]*> f3ef 8008 mrs r0, MSP |
18 | 10 | 0+.* <[^>]*> f3ef 8088 mrs r0, MSP_NS |
19 | -0+.* <[^>]*> f3ef 8009 mrs r0, PSP | |
20 | -0+.* <[^>]*> f3ef 8089 mrs r0, PSP_NS | |
21 | 11 | 0+.* <[^>]*> f3ef 8008 mrs r0, MSP |
22 | 12 | 0+.* <[^>]*> f3ef 8088 mrs r0, MSP_NS |
23 | -0+.* <[^>]*> f3ef 8009 mrs r0, PSP | |
24 | -0+.* <[^>]*> f3ef 8089 mrs r0, PSP_NS | |
13 | +0+.* <[^>]*> f3ef 8109 mrs r1, PSP | |
14 | +0+.* <[^>]*> f3ef 8189 mrs r1, PSP_NS | |
15 | +0+.* <[^>]*> f3ef 8109 mrs r1, PSP | |
16 | +0+.* <[^>]*> f3ef 8189 mrs r1, PSP_NS | |
17 | +0+.* <[^>]*> f3ef 820a mrs r2, MSPLIM | |
18 | +0+.* <[^>]*> f3ef 828a mrs r2, MSPLIM_NS | |
19 | +0+.* <[^>]*> f3ef 820a mrs r2, MSPLIM | |
20 | +0+.* <[^>]*> f3ef 828a mrs r2, MSPLIM_NS | |
21 | +0+.* <[^>]*> f3ef 830b mrs r3, PSPLIM | |
22 | +0+.* <[^>]*> f3ef 838b mrs r3, PSPLIM_NS | |
23 | +0+.* <[^>]*> f3ef 830b mrs r3, PSPLIM | |
24 | +0+.* <[^>]*> f3ef 838b mrs r3, PSPLIM_NS | |
25 | +0+.* <[^>]*> f3ef 8410 mrs r4, PRIMASK | |
26 | +0+.* <[^>]*> f3ef 8490 mrs r4, PRIMASK_NS | |
27 | +0+.* <[^>]*> f3ef 8410 mrs r4, PRIMASK | |
28 | +0+.* <[^>]*> f3ef 8490 mrs r4, PRIMASK_NS | |
29 | +0+.* <[^>]*> f3ef 8511 mrs r5, BASEPRI | |
30 | +0+.* <[^>]*> f3ef 8591 mrs r5, BASEPRI_NS | |
31 | +0+.* <[^>]*> f3ef 8511 mrs r5, BASEPRI | |
32 | +0+.* <[^>]*> f3ef 8591 mrs r5, BASEPRI_NS | |
33 | +0+.* <[^>]*> f3ef 8613 mrs r6, FAULTMASK | |
34 | +0+.* <[^>]*> f3ef 8693 mrs r6, FAULTMASK_NS | |
35 | +0+.* <[^>]*> f3ef 8613 mrs r6, FAULTMASK | |
36 | +0+.* <[^>]*> f3ef 8693 mrs r6, FAULTMASK_NS | |
37 | +0+.* <[^>]*> f3ef 8714 mrs r7, CONTROL | |
38 | +0+.* <[^>]*> f3ef 8794 mrs r7, CONTROL_NS | |
39 | +0+.* <[^>]*> f3ef 8714 mrs r7, CONTROL | |
40 | +0+.* <[^>]*> f3ef 8794 mrs r7, CONTROL_NS | |
41 | +0+.* <[^>]*> f3ef 8898 mrs r8, SP_NS | |
42 | +0+.* <[^>]*> f3ef 8898 mrs r8, SP_NS | |
43 | +0+.* <[^>]*> f380 8808 msr MSP, r0 | |
44 | +0+.* <[^>]*> f380 8888 msr MSP_NS, r0 | |
45 | +0+.* <[^>]*> f380 8808 msr MSP, r0 | |
46 | +0+.* <[^>]*> f380 8888 msr MSP_NS, r0 | |
47 | +0+.* <[^>]*> f381 8809 msr PSP, r1 | |
48 | +0+.* <[^>]*> f381 8889 msr PSP_NS, r1 | |
49 | +0+.* <[^>]*> f381 8809 msr PSP, r1 | |
50 | +0+.* <[^>]*> f381 8889 msr PSP_NS, r1 | |
51 | +0+.* <[^>]*> f382 880a msr MSPLIM, r2 | |
52 | +0+.* <[^>]*> f382 888a msr MSPLIM_NS, r2 | |
53 | +0+.* <[^>]*> f382 880a msr MSPLIM, r2 | |
54 | +0+.* <[^>]*> f382 888a msr MSPLIM_NS, r2 | |
55 | +0+.* <[^>]*> f383 880b msr PSPLIM, r3 | |
56 | +0+.* <[^>]*> f383 888b msr PSPLIM_NS, r3 | |
57 | +0+.* <[^>]*> f383 880b msr PSPLIM, r3 | |
58 | +0+.* <[^>]*> f383 888b msr PSPLIM_NS, r3 | |
59 | +0+.* <[^>]*> f384 8810 msr PRIMASK, r4 | |
60 | +0+.* <[^>]*> f384 8890 msr PRIMASK_NS, r4 | |
61 | +0+.* <[^>]*> f384 8810 msr PRIMASK, r4 | |
62 | +0+.* <[^>]*> f384 8890 msr PRIMASK_NS, r4 | |
63 | +0+.* <[^>]*> f385 8811 msr BASEPRI, r5 | |
64 | +0+.* <[^>]*> f385 8891 msr BASEPRI_NS, r5 | |
65 | +0+.* <[^>]*> f385 8811 msr BASEPRI, r5 | |
66 | +0+.* <[^>]*> f385 8891 msr BASEPRI_NS, r5 | |
67 | +0+.* <[^>]*> f386 8813 msr FAULTMASK, r6 | |
68 | +0+.* <[^>]*> f386 8893 msr FAULTMASK_NS, r6 | |
69 | +0+.* <[^>]*> f386 8813 msr FAULTMASK, r6 | |
70 | +0+.* <[^>]*> f386 8893 msr FAULTMASK_NS, r6 | |
71 | +0+.* <[^>]*> f387 8814 msr CONTROL, r7 | |
72 | +0+.* <[^>]*> f387 8894 msr CONTROL_NS, r7 | |
73 | +0+.* <[^>]*> f387 8814 msr CONTROL, r7 | |
74 | +0+.* <[^>]*> f387 8894 msr CONTROL_NS, r7 | |
75 | +0+.* <[^>]*> f388 8898 msr SP_NS, r8 | |
76 | +0+.* <[^>]*> f388 8898 msr SP_NS, r8 |
@@ -6,19 +6,71 @@ | ||
6 | 6 | .*: +file format .*arm.* |
7 | 7 | |
8 | 8 | Disassembly of section .text: |
9 | -0+.* <[^>]*> f380 8808 msr MSP, r0 | |
10 | -0+.* <[^>]*> f380 8888 msr MSP_NS, r0 | |
11 | -0+.* <[^>]*> f380 8809 msr PSP, r0 | |
12 | -0+.* <[^>]*> f380 8889 msr PSP_NS, r0 | |
13 | -0+.* <[^>]*> f380 8808 msr MSP, r0 | |
14 | -0+.* <[^>]*> f380 8888 msr MSP_NS, r0 | |
15 | -0+.* <[^>]*> f380 8809 msr PSP, r0 | |
16 | -0+.* <[^>]*> f380 8889 msr PSP_NS, r0 | |
17 | 9 | 0+.* <[^>]*> f3ef 8008 mrs r0, MSP |
18 | 10 | 0+.* <[^>]*> f3ef 8088 mrs r0, MSP_NS |
19 | -0+.* <[^>]*> f3ef 8009 mrs r0, PSP | |
20 | -0+.* <[^>]*> f3ef 8089 mrs r0, PSP_NS | |
21 | 11 | 0+.* <[^>]*> f3ef 8008 mrs r0, MSP |
22 | 12 | 0+.* <[^>]*> f3ef 8088 mrs r0, MSP_NS |
23 | -0+.* <[^>]*> f3ef 8009 mrs r0, PSP | |
24 | -0+.* <[^>]*> f3ef 8089 mrs r0, PSP_NS | |
13 | +0+.* <[^>]*> f3ef 8109 mrs r1, PSP | |
14 | +0+.* <[^>]*> f3ef 8189 mrs r1, PSP_NS | |
15 | +0+.* <[^>]*> f3ef 8109 mrs r1, PSP | |
16 | +0+.* <[^>]*> f3ef 8189 mrs r1, PSP_NS | |
17 | +0+.* <[^>]*> f3ef 820a mrs r2, MSPLIM | |
18 | +0+.* <[^>]*> f3ef 828a mrs r2, MSPLIM_NS | |
19 | +0+.* <[^>]*> f3ef 820a mrs r2, MSPLIM | |
20 | +0+.* <[^>]*> f3ef 828a mrs r2, MSPLIM_NS | |
21 | +0+.* <[^>]*> f3ef 830b mrs r3, PSPLIM | |
22 | +0+.* <[^>]*> f3ef 838b mrs r3, PSPLIM_NS | |
23 | +0+.* <[^>]*> f3ef 830b mrs r3, PSPLIM | |
24 | +0+.* <[^>]*> f3ef 838b mrs r3, PSPLIM_NS | |
25 | +0+.* <[^>]*> f3ef 8410 mrs r4, PRIMASK | |
26 | +0+.* <[^>]*> f3ef 8490 mrs r4, PRIMASK_NS | |
27 | +0+.* <[^>]*> f3ef 8410 mrs r4, PRIMASK | |
28 | +0+.* <[^>]*> f3ef 8490 mrs r4, PRIMASK_NS | |
29 | +0+.* <[^>]*> f3ef 8511 mrs r5, BASEPRI | |
30 | +0+.* <[^>]*> f3ef 8591 mrs r5, BASEPRI_NS | |
31 | +0+.* <[^>]*> f3ef 8511 mrs r5, BASEPRI | |
32 | +0+.* <[^>]*> f3ef 8591 mrs r5, BASEPRI_NS | |
33 | +0+.* <[^>]*> f3ef 8613 mrs r6, FAULTMASK | |
34 | +0+.* <[^>]*> f3ef 8693 mrs r6, FAULTMASK_NS | |
35 | +0+.* <[^>]*> f3ef 8613 mrs r6, FAULTMASK | |
36 | +0+.* <[^>]*> f3ef 8693 mrs r6, FAULTMASK_NS | |
37 | +0+.* <[^>]*> f3ef 8714 mrs r7, CONTROL | |
38 | +0+.* <[^>]*> f3ef 8794 mrs r7, CONTROL_NS | |
39 | +0+.* <[^>]*> f3ef 8714 mrs r7, CONTROL | |
40 | +0+.* <[^>]*> f3ef 8794 mrs r7, CONTROL_NS | |
41 | +0+.* <[^>]*> f3ef 8898 mrs r8, SP_NS | |
42 | +0+.* <[^>]*> f3ef 8898 mrs r8, SP_NS | |
43 | +0+.* <[^>]*> f380 8808 msr MSP, r0 | |
44 | +0+.* <[^>]*> f380 8888 msr MSP_NS, r0 | |
45 | +0+.* <[^>]*> f380 8808 msr MSP, r0 | |
46 | +0+.* <[^>]*> f380 8888 msr MSP_NS, r0 | |
47 | +0+.* <[^>]*> f381 8809 msr PSP, r1 | |
48 | +0+.* <[^>]*> f381 8889 msr PSP_NS, r1 | |
49 | +0+.* <[^>]*> f381 8809 msr PSP, r1 | |
50 | +0+.* <[^>]*> f381 8889 msr PSP_NS, r1 | |
51 | +0+.* <[^>]*> f382 880a msr MSPLIM, r2 | |
52 | +0+.* <[^>]*> f382 888a msr MSPLIM_NS, r2 | |
53 | +0+.* <[^>]*> f382 880a msr MSPLIM, r2 | |
54 | +0+.* <[^>]*> f382 888a msr MSPLIM_NS, r2 | |
55 | +0+.* <[^>]*> f383 880b msr PSPLIM, r3 | |
56 | +0+.* <[^>]*> f383 888b msr PSPLIM_NS, r3 | |
57 | +0+.* <[^>]*> f383 880b msr PSPLIM, r3 | |
58 | +0+.* <[^>]*> f383 888b msr PSPLIM_NS, r3 | |
59 | +0+.* <[^>]*> f384 8810 msr PRIMASK, r4 | |
60 | +0+.* <[^>]*> f384 8890 msr PRIMASK_NS, r4 | |
61 | +0+.* <[^>]*> f384 8810 msr PRIMASK, r4 | |
62 | +0+.* <[^>]*> f384 8890 msr PRIMASK_NS, r4 | |
63 | +0+.* <[^>]*> f385 8811 msr BASEPRI, r5 | |
64 | +0+.* <[^>]*> f385 8891 msr BASEPRI_NS, r5 | |
65 | +0+.* <[^>]*> f385 8811 msr BASEPRI, r5 | |
66 | +0+.* <[^>]*> f385 8891 msr BASEPRI_NS, r5 | |
67 | +0+.* <[^>]*> f386 8813 msr FAULTMASK, r6 | |
68 | +0+.* <[^>]*> f386 8893 msr FAULTMASK_NS, r6 | |
69 | +0+.* <[^>]*> f386 8813 msr FAULTMASK, r6 | |
70 | +0+.* <[^>]*> f386 8893 msr FAULTMASK_NS, r6 | |
71 | +0+.* <[^>]*> f387 8814 msr CONTROL, r7 | |
72 | +0+.* <[^>]*> f387 8894 msr CONTROL_NS, r7 | |
73 | +0+.* <[^>]*> f387 8814 msr CONTROL, r7 | |
74 | +0+.* <[^>]*> f387 8894 msr CONTROL_NS, r7 | |
75 | +0+.* <[^>]*> f388 8898 msr SP_NS, r8 | |
76 | +0+.* <[^>]*> f388 8898 msr SP_NS, r8 |
@@ -1,16 +1,109 @@ | ||
1 | -msr MSP, r0 | |
2 | -msr MSP_NS, r0 | |
3 | -msr PSP, r0 | |
4 | -msr PSP_NS, r0 | |
5 | -msr msp, r0 | |
6 | -msr msp_ns, r0 | |
7 | -msr psp, r0 | |
8 | -msr psp_ns, r0 | |
1 | +T: | |
2 | +## MRS ## | |
3 | + | |
4 | +# MSP | |
9 | 5 | mrs r0, MSP |
10 | 6 | mrs r0, MSP_NS |
11 | -mrs r0, PSP | |
12 | -mrs r0, PSP_NS | |
13 | 7 | mrs r0, msp |
14 | 8 | mrs r0, msp_ns |
15 | -mrs r0, psp | |
16 | -mrs r0, psp_ns | |
9 | + | |
10 | +# PSP | |
11 | +mrs r1, PSP | |
12 | +mrs r1, PSP_NS | |
13 | +mrs r1, psp | |
14 | +mrs r1, psp_ns | |
15 | + | |
16 | +# MSPLIM | |
17 | +mrs r2, MSPLIM | |
18 | +mrs r2, MSPLIM_NS | |
19 | +mrs r2, msplim | |
20 | +mrs r2, msplim_ns | |
21 | + | |
22 | +# PSPLIM | |
23 | +mrs r3, PSPLIM | |
24 | +mrs r3, PSPLIM_NS | |
25 | +mrs r3, psplim | |
26 | +mrs r3, psplim_ns | |
27 | + | |
28 | +# PRIMASK | |
29 | +mrs r4, PRIMASK | |
30 | +mrs r4, PRIMASK_NS | |
31 | +mrs r4, primask | |
32 | +mrs r4, primask_ns | |
33 | + | |
34 | +# BASEPRI | |
35 | +mrs r5, BASEPRI | |
36 | +mrs r5, BASEPRI_NS | |
37 | +mrs r5, basepri | |
38 | +mrs r5, basepri_ns | |
39 | + | |
40 | +# FAULTMASK | |
41 | +mrs r6, FAULTMASK | |
42 | +mrs r6, FAULTMASK_NS | |
43 | +mrs r6, faultmask | |
44 | +mrs r6, faultmask_ns | |
45 | + | |
46 | +# CONTROL | |
47 | +mrs r7, CONTROL | |
48 | +mrs r7, CONTROL_NS | |
49 | +mrs r7, control | |
50 | +mrs r7, control_ns | |
51 | + | |
52 | +# SP_NS | |
53 | +mrs r8, SP_NS | |
54 | +mrs r8, sp_ns | |
55 | + | |
56 | + | |
57 | +## MSR ## | |
58 | + | |
59 | +# MSP | |
60 | +msr MSP, r0 | |
61 | +msr MSP_NS, r0 | |
62 | +msr msp, r0 | |
63 | +msr msp_ns, r0 | |
64 | + | |
65 | +# PSP | |
66 | +msr PSP, r1 | |
67 | +msr PSP_NS, r1 | |
68 | +msr psp, r1 | |
69 | +msr psp_ns, r1 | |
70 | + | |
71 | +# MSPLIM | |
72 | +msr MSPLIM, r2 | |
73 | +msr MSPLIM_NS, r2 | |
74 | +msr msplim, r2 | |
75 | +msr msplim_ns, r2 | |
76 | + | |
77 | +# PSPLIM | |
78 | +msr PSPLIM, r3 | |
79 | +msr PSPLIM_NS, r3 | |
80 | +msr psplim, r3 | |
81 | +msr psplim_ns, r3 | |
82 | + | |
83 | +# PRIMASK | |
84 | +msr PRIMASK, r4 | |
85 | +msr PRIMASK_NS, r4 | |
86 | +msr primask, r4 | |
87 | +msr primask_ns, r4 | |
88 | + | |
89 | +# BASEPRI | |
90 | +msr BASEPRI, r5 | |
91 | +msr BASEPRI_NS, r5 | |
92 | +msr basepri, r5 | |
93 | +msr basepri_ns, r5 | |
94 | + | |
95 | +# FAULTMASK | |
96 | +msr FAULTMASK, r6 | |
97 | +msr FAULTMASK_NS, r6 | |
98 | +msr faultmask, r6 | |
99 | +msr faultmask_ns, r6 | |
100 | + | |
101 | +# CONTROL | |
102 | +msr CONTROL, r7 | |
103 | +msr CONTROL_NS, r7 | |
104 | +msr control, r7 | |
105 | +msr control_ns, r7 | |
106 | + | |
107 | +# SP_NS | |
108 | +msr SP_NS, r8 | |
109 | +msr sp_ns, r8 |
@@ -6,19 +6,71 @@ | ||
6 | 6 | .*: +file format .*arm.* |
7 | 7 | |
8 | 8 | Disassembly of section .text: |
9 | -0+.* <[^>]*> f380 8808 msr MSP, r0 | |
10 | -0+.* <[^>]*> f380 8888 msr MSP_NS, r0 | |
11 | -0+.* <[^>]*> f380 8809 msr PSP, r0 | |
12 | -0+.* <[^>]*> f380 8889 msr PSP_NS, r0 | |
13 | -0+.* <[^>]*> f380 8808 msr MSP, r0 | |
14 | -0+.* <[^>]*> f380 8888 msr MSP_NS, r0 | |
15 | -0+.* <[^>]*> f380 8809 msr PSP, r0 | |
16 | -0+.* <[^>]*> f380 8889 msr PSP_NS, r0 | |
17 | 9 | 0+.* <[^>]*> f3ef 8008 mrs r0, MSP |
18 | 10 | 0+.* <[^>]*> f3ef 8088 mrs r0, MSP_NS |
19 | -0+.* <[^>]*> f3ef 8009 mrs r0, PSP | |
20 | -0+.* <[^>]*> f3ef 8089 mrs r0, PSP_NS | |
21 | 11 | 0+.* <[^>]*> f3ef 8008 mrs r0, MSP |
22 | 12 | 0+.* <[^>]*> f3ef 8088 mrs r0, MSP_NS |
23 | -0+.* <[^>]*> f3ef 8009 mrs r0, PSP | |
24 | -0+.* <[^>]*> f3ef 8089 mrs r0, PSP_NS | |
13 | +0+.* <[^>]*> f3ef 8109 mrs r1, PSP | |
14 | +0+.* <[^>]*> f3ef 8189 mrs r1, PSP_NS | |
15 | +0+.* <[^>]*> f3ef 8109 mrs r1, PSP | |
16 | +0+.* <[^>]*> f3ef 8189 mrs r1, PSP_NS | |
17 | +0+.* <[^>]*> f3ef 820a mrs r2, MSPLIM | |
18 | +0+.* <[^>]*> f3ef 828a mrs r2, MSPLIM_NS | |
19 | +0+.* <[^>]*> f3ef 820a mrs r2, MSPLIM | |
20 | +0+.* <[^>]*> f3ef 828a mrs r2, MSPLIM_NS | |
21 | +0+.* <[^>]*> f3ef 830b mrs r3, PSPLIM | |
22 | +0+.* <[^>]*> f3ef 838b mrs r3, PSPLIM_NS | |
23 | +0+.* <[^>]*> f3ef 830b mrs r3, PSPLIM | |
24 | +0+.* <[^>]*> f3ef 838b mrs r3, PSPLIM_NS | |
25 | +0+.* <[^>]*> f3ef 8410 mrs r4, PRIMASK | |
26 | +0+.* <[^>]*> f3ef 8490 mrs r4, PRIMASK_NS | |
27 | +0+.* <[^>]*> f3ef 8410 mrs r4, PRIMASK | |
28 | +0+.* <[^>]*> f3ef 8490 mrs r4, PRIMASK_NS | |
29 | +0+.* <[^>]*> f3ef 8511 mrs r5, BASEPRI | |
30 | +0+.* <[^>]*> f3ef 8591 mrs r5, BASEPRI_NS | |
31 | +0+.* <[^>]*> f3ef 8511 mrs r5, BASEPRI | |
32 | +0+.* <[^>]*> f3ef 8591 mrs r5, BASEPRI_NS | |
33 | +0+.* <[^>]*> f3ef 8613 mrs r6, FAULTMASK | |
34 | +0+.* <[^>]*> f3ef 8693 mrs r6, FAULTMASK_NS | |
35 | +0+.* <[^>]*> f3ef 8613 mrs r6, FAULTMASK | |
36 | +0+.* <[^>]*> f3ef 8693 mrs r6, FAULTMASK_NS | |
37 | +0+.* <[^>]*> f3ef 8714 mrs r7, CONTROL | |
38 | +0+.* <[^>]*> f3ef 8794 mrs r7, CONTROL_NS | |
39 | +0+.* <[^>]*> f3ef 8714 mrs r7, CONTROL | |
40 | +0+.* <[^>]*> f3ef 8794 mrs r7, CONTROL_NS | |
41 | +0+.* <[^>]*> f3ef 8898 mrs r8, SP_NS | |
42 | +0+.* <[^>]*> f3ef 8898 mrs r8, SP_NS | |
43 | +0+.* <[^>]*> f380 8808 msr MSP, r0 | |
44 | +0+.* <[^>]*> f380 8888 msr MSP_NS, r0 | |
45 | +0+.* <[^>]*> f380 8808 msr MSP, r0 | |
46 | +0+.* <[^>]*> f380 8888 msr MSP_NS, r0 | |
47 | +0+.* <[^>]*> f381 8809 msr PSP, r1 | |
48 | +0+.* <[^>]*> f381 8889 msr PSP_NS, r1 | |
49 | +0+.* <[^>]*> f381 8809 msr PSP, r1 | |
50 | +0+.* <[^>]*> f381 8889 msr PSP_NS, r1 | |
51 | +0+.* <[^>]*> f382 880a msr MSPLIM, r2 | |
52 | +0+.* <[^>]*> f382 888a msr MSPLIM_NS, r2 | |
53 | +0+.* <[^>]*> f382 880a msr MSPLIM, r2 | |
54 | +0+.* <[^>]*> f382 888a msr MSPLIM_NS, r2 | |
55 | +0+.* <[^>]*> f383 880b msr PSPLIM, r3 | |
56 | +0+.* <[^>]*> f383 888b msr PSPLIM_NS, r3 | |
57 | +0+.* <[^>]*> f383 880b msr PSPLIM, r3 | |
58 | +0+.* <[^>]*> f383 888b msr PSPLIM_NS, r3 | |
59 | +0+.* <[^>]*> f384 8810 msr PRIMASK, r4 | |
60 | +0+.* <[^>]*> f384 8890 msr PRIMASK_NS, r4 | |
61 | +0+.* <[^>]*> f384 8810 msr PRIMASK, r4 | |
62 | +0+.* <[^>]*> f384 8890 msr PRIMASK_NS, r4 | |
63 | +0+.* <[^>]*> f385 8811 msr BASEPRI, r5 | |
64 | +0+.* <[^>]*> f385 8891 msr BASEPRI_NS, r5 | |
65 | +0+.* <[^>]*> f385 8811 msr BASEPRI, r5 | |
66 | +0+.* <[^>]*> f385 8891 msr BASEPRI_NS, r5 | |
67 | +0+.* <[^>]*> f386 8813 msr FAULTMASK, r6 | |
68 | +0+.* <[^>]*> f386 8893 msr FAULTMASK_NS, r6 | |
69 | +0+.* <[^>]*> f386 8813 msr FAULTMASK, r6 | |
70 | +0+.* <[^>]*> f386 8893 msr FAULTMASK_NS, r6 | |
71 | +0+.* <[^>]*> f387 8814 msr CONTROL, r7 | |
72 | +0+.* <[^>]*> f387 8894 msr CONTROL_NS, r7 | |
73 | +0+.* <[^>]*> f387 8814 msr CONTROL, r7 | |
74 | +0+.* <[^>]*> f387 8894 msr CONTROL_NS, r7 | |
75 | +0+.* <[^>]*> f388 8898 msr SP_NS, r8 | |
76 | +0+.* <[^>]*> f388 8898 msr SP_NS, r8 |
@@ -1,3 +1,12 @@ | ||
1 | +2016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com> | |
2 | + | |
3 | + Backport from mainline | |
4 | + 2016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com> | |
5 | + | |
6 | + * arm-dis.c (psr_name): Use hex as case labels. Add detection for | |
7 | + MSPLIM, PSPLIM, MSPLIM_NS, PSPLIM_NS, PRIMASK_NS, BASEPRI_NS, | |
8 | + FAULTMASK_NS, CONTROL_NS and SP_NS special registers. | |
9 | + | |
1 | 10 | 2016-03-29 Thomas Preud'homme <thomas.preudhomme@arm.com> |
2 | 11 | |
3 | 12 | * arm-dis.c (get_sym_code_type): Use ARM_GET_SYM_BRANCH_TYPE to get |
@@ -5242,22 +5242,31 @@ psr_name (int regno) | ||
5242 | 5242 | { |
5243 | 5243 | switch (regno) |
5244 | 5244 | { |
5245 | - case 0: return "APSR"; | |
5246 | - case 1: return "IAPSR"; | |
5247 | - case 2: return "EAPSR"; | |
5248 | - case 3: return "PSR"; | |
5249 | - case 5: return "IPSR"; | |
5250 | - case 6: return "EPSR"; | |
5251 | - case 7: return "IEPSR"; | |
5252 | - case 8: return "MSP"; | |
5253 | - case 9: return "PSP"; | |
5254 | - case 16: return "PRIMASK"; | |
5255 | - case 17: return "BASEPRI"; | |
5256 | - case 18: return "BASEPRI_MAX"; | |
5257 | - case 19: return "FAULTMASK"; | |
5258 | - case 20: return "CONTROL"; | |
5245 | + case 0x0: return "APSR"; | |
5246 | + case 0x1: return "IAPSR"; | |
5247 | + case 0x2: return "EAPSR"; | |
5248 | + case 0x3: return "PSR"; | |
5249 | + case 0x5: return "IPSR"; | |
5250 | + case 0x6: return "EPSR"; | |
5251 | + case 0x7: return "IEPSR"; | |
5252 | + case 0x8: return "MSP"; | |
5253 | + case 0x9: return "PSP"; | |
5254 | + case 0xa: return "MSPLIM"; | |
5255 | + case 0xb: return "PSPLIM"; | |
5256 | + case 0x10: return "PRIMASK"; | |
5257 | + case 0x11: return "BASEPRI"; | |
5258 | + case 0x12: return "BASEPRI_MAX"; | |
5259 | + case 0x13: return "FAULTMASK"; | |
5260 | + case 0x14: return "CONTROL"; | |
5259 | 5261 | case 0x88: return "MSP_NS"; |
5260 | 5262 | case 0x89: return "PSP_NS"; |
5263 | + case 0x8a: return "MSPLIM_NS"; | |
5264 | + case 0x8b: return "PSPLIM_NS"; | |
5265 | + case 0x90: return "PRIMASK_NS"; | |
5266 | + case 0x91: return "BASEPRI_NS"; | |
5267 | + case 0x93: return "FAULTMASK_NS"; | |
5268 | + case 0x94: return "CONTROL_NS"; | |
5269 | + case 0x98: return "SP_NS"; | |
5261 | 5270 | default: return "<unknown>"; |
5262 | 5271 | } |
5263 | 5272 | } |