/*
* 68020 C stack frame - uses generic frame functions
*/
static
struct ftype{
short fmt;
short len;
char *name;
} ftype[] = { /* section 6.5.7 page 6-24 */
{ 0, 4*2, "Short Format" },
{ 1, 4*2, "Throwaway" },
{ 2, 6*2, "Instruction Exception" },
{ 3, 6*2, "MC68040 Floating Point Exception" },
{ 8, 29*2, "MC68010 Bus Fault" },
{ 7, 30*2, "MC68040 Bus Fault" },
{ 9, 10*2, "Coprocessor mid-Instruction" },
{ 10, 16*2, "MC68020 Short Bus Fault" },
{ 11, 46*2, "MC68020 Long Bus Fault" },
{ 0, 0, 0 }
};
int
framelen(void)
{
long l;
short fvo;
ulong efl[2], stktop;
struct ftype *ft;
int i, size, vec;
uchar *ef=(uchar*)efl;
/* The kernel proc pointer on a 68020 is always
* at #8xxxxxxx; on the 68040 NeXT, the address
* is always #04xxxxxx. the sun3 port at sidney
* uses 0xf8xxxxxx to 0xffxxxxxx.
*/
m68020vec = 0;
get4(cormap, mach->kbase, SEGDATA, (&l));
if ((l&0xfc000000) == 0x04000000) /* if NeXT */
size = 30*2;
else
size = 46*2; /* 68020 */