* Fault Address from sigcontext for the various archs
@ 2001-03-05 18:41 Camm Maguire
0 siblings, 0 replies; only message in thread
From: Camm Maguire @ 2001-03-05 18:41 UTC (permalink / raw)
To: linux-kernel
Greetings! I'm trying to assist in porting gcl to the various Linux
archs, and the code as is needs the fault address from struct
sigcontext. i386 and m68k work, with solutions shown below. What
about the other archs? Where can I find the fault address around this
struct?
Thanks!
=============================================================================
i386
=============================================================================
#define GET_FAULT_ADDR(sig,code,sv,a) \
((void *)(((struct sigcontext_struct *)(&code))->cr2))
=============================================================================
m68k
=============================================================================
#define GET_FAULT_ADDR(sig,code,sv,a) \
({ \
struct sigcontext *scp = (struct sigcontext *)(sv);\
int format = (scp->sc_formatvec >> 12) & 0xf;\
unsigned long *framedata = (unsigned long *)(scp + 1);\
unsigned long ea;\
if (format == 0xa || format == 0xb)\
/* 68020/030 */\
ea = framedata[2];\
else if (format == 7)\
/* 68040 */\
ea = framedata[3];\
else if (format == 4) {\
/* 68060 */\
ea = framedata[0];\
if (framedata[1] & 0x08000000)\
/* correct addr on misaligned access */\
ea = (ea+4095)&(~4095);\
}\
ea;\
})
=============================================================================
--
Camm Maguire camm@enhanced.com
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2001-03-05 18:41 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-03-05 18:41 Fault Address from sigcontext for the various archs Camm Maguire
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox