diff options
author | raj <raj@FreeBSD.org> | 2008-03-02 17:05:57 +0000 |
---|---|---|
committer | raj <raj@FreeBSD.org> | 2008-03-02 17:05:57 +0000 |
commit | 3dea77f93cd358a469b5ae398a5e67d559db283a (patch) | |
tree | 76f303c015b8c2be4e37152e35c1592f6dbff209 /sys/powerpc/include/frame.h | |
parent | 86936eba803f0ae2cade1d704dbb8b6f3fb96974 (diff) | |
download | FreeBSD-src-3dea77f93cd358a469b5ae398a5e67d559db283a.zip FreeBSD-src-3dea77f93cd358a469b5ae398a5e67d559db283a.tar.gz |
Unify and generalize PowerPC headers, adjust AIM code accordingly.
Rework of this area is a pre-requirement for importing e500 support (and
other PowerPC core variations in the future). Mainly the following
headers are refactored so that we can cover for low-level differences between
various machines within PowerPC architecture:
<machine/pcpu.h>
<machine/pcb.h>
<machine/kdb.h>
<machine/hid.h>
<machine/frame.h>
Areas which use the above are adjusted and cleaned up.
Credits for this rework go to marcel@
Approved by: cognet (mentor)
MFp4: e500
Diffstat (limited to 'sys/powerpc/include/frame.h')
-rw-r--r-- | sys/powerpc/include/frame.h | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/sys/powerpc/include/frame.h b/sys/powerpc/include/frame.h index 09b7a95..9f714e8 100644 --- a/sys/powerpc/include/frame.h +++ b/sys/powerpc/include/frame.h @@ -50,15 +50,25 @@ struct trapframe { register_t fixreg[32]; register_t lr; - int cr; - int xer; + int cr; + int xer; register_t ctr; register_t srr0; register_t srr1; - register_t dar; /* dar & dsisr are only filled on a DSI trap */ - int dsisr; - int exc; + int exc; + union { + struct { + /* dar & dsisr are only filled on a DSI trap */ + register_t dar; + int dsisr; + } aim; + struct { + register_t dear; + register_t esr; + } booke; + } cpu; }; + /* * This is to ensure alignment of the stackpointer */ |