arm: allow accessing GPRs in ESF by their real name
The ESF was built using the 'alias' names of the GPRs (a1, lr, pc, etc) rather than their 'real' name (rN). Change-Id: I49cae5e94869a79a3165dc7f2347d8cec39dbf67 Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
This commit is contained in:
parent
85138855f0
commit
2ace19ede8
2 changed files with 16 additions and 15 deletions
|
@ -38,14 +38,15 @@
|
||||||
* Define a default ESF for use with _NanoFatalErrorHandler() in the event
|
* Define a default ESF for use with _NanoFatalErrorHandler() in the event
|
||||||
* the caller does not have a NANO_ESF to pass
|
* the caller does not have a NANO_ESF to pass
|
||||||
*/
|
*/
|
||||||
const NANO_ESF _default_esf = {0xdeaddead, /* a1 */
|
const NANO_ESF _default_esf = {
|
||||||
0xdeaddead, /* a2 */
|
{0xdeaddead}, /* r0/a1 */
|
||||||
0xdeaddead, /* a3 */
|
{0xdeaddead}, /* r1/a2 */
|
||||||
0xdeaddead, /* a4 */
|
{0xdeaddead}, /* r2/a3 */
|
||||||
0xdeaddead, /* ip */
|
{0xdeaddead}, /* r3/a4 */
|
||||||
0xdeaddead, /* lr */
|
{0xdeaddead}, /* r12/ip */
|
||||||
0xdeaddead, /* pc */
|
{0xdeaddead}, /* r14/lr */
|
||||||
0xdeaddead, /* xpsr */
|
{0xdeaddead}, /* r15/pc */
|
||||||
|
0xdeaddead, /* xpsr */
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -34,13 +34,13 @@ GTEXT(_ExcExit);
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
struct __esf {
|
struct __esf {
|
||||||
uint32_t a1; /* r0 */
|
sys_define_gpr_with_alias(a1, r0);
|
||||||
uint32_t a2; /* r1 */
|
sys_define_gpr_with_alias(a2, r1);
|
||||||
uint32_t a3; /* r2 */
|
sys_define_gpr_with_alias(a3, r2);
|
||||||
uint32_t a4; /* r3 */
|
sys_define_gpr_with_alias(a4, r3);
|
||||||
uint32_t ip; /* r12 */
|
sys_define_gpr_with_alias(ip, r12);
|
||||||
uint32_t lr; /* r14 */
|
sys_define_gpr_with_alias(lr, r14);
|
||||||
uint32_t pc; /* r15 */
|
sys_define_gpr_with_alias(pc, r15);
|
||||||
uint32_t xpsr;
|
uint32_t xpsr;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue