On Thu, Feb 19, 2015 at 01:50:59PM +0000, Wei Liu wrote: > Hi all > > When I was trying to debug a double fault on 5.6, I found the trap frame > looked a bit strange. After some investigation and reading source > code, I found that double fault handling looked problematic. > > Per Intel SDM volume 3A, processor will push 0 to stack as error code when > double fault occurs. Shouldn't it use TRAP instead of ZTRAP in vector.S? > I think i386's locore.S looks OK in that regard. > > I only started reading OpenBSD source code since yesterday, feel free > to correct / ignore me if I'm wrong. > > Wei. > > --- vector.S.~1.34.~ Sat Nov 2 14:23:38 2013 > +++ vector.S Thu Feb 19 12:01:16 2015 > @@ -126,7 +126,7 @@ > call _C_LABEL(fpudna) > INTRFASTEXIT > IDTVEC(trap08) > - ZTRAP(T_DOUBLEFLT) > + TRAP(T_DOUBLEFLT) > IDTVEC(trap09) > ZTRAP(T_FPOPFLT) > IDTVEC(trap0a) >
Finally got around to committing this, sorry for the delay. -ml
