Subject: Re: Whee!
To: None <chopps@emunix.emich.edu, port-m68k@sun-lamp.cs.berkeley.edu>
From: Mike Hibler <mike@cs.utah.edu>
List: port-m68k
Date: 05/25/1994 10:25:08
I apologize for the exception frame format size change. Some history:
On the 68000, from which this code long ago originated, 2 bytes of padding
were required to longword align the exception stack (the HW pushed a 2-byte
PSW and 4-byte PC). However, with the 68010 and beyond, the frame was
already aligned and the 2 bytes of padding only threw it out of alignment.
I meant to fix this from day 1 (back in 1987) but it never happened until
a couple of years ago when I put in 68040 support. Since so many things
changed at that point anyway, I decided to go ahead and fix it while I was
in there. I couldn't just remove the pad word because it was being used
so I extended it by 2 bytes. Checking the RCS logs, the affected files I
see are:
cpu.h (clockframe)
frame.h (new pad)
reg.h (PC no longer included)
genassym.c (new constants)
kgdb_glue.c (stack pop in asm statement)
kgdb_stub.c (regs_to_gdb copy)
locore.s (tons o changes)
hpux_compat.c (ptrace code)
kern_exit.c (GETPS macro)
sys_process.c (location of PS/PC)
------------------------------------------------------------------------------