Use a critical region to protect pushing of curproc's npx state to
curpcb in vm86_bioscall(). I don't know if the state is ever in the npx at that point.
This commit is contained in:
parent
c2b095ab72
commit
259089eefc
@ -65,6 +65,8 @@ ENTRY(vm86_bioscall)
|
||||
pushl %gs
|
||||
|
||||
#ifdef DEV_NPX
|
||||
pushfl
|
||||
cli
|
||||
movl PCPU(CURPROC),%ecx
|
||||
cmpl %ecx,PCPU(NPXPROC) /* do we need to save fp? */
|
||||
jne 1f
|
||||
@ -77,9 +79,10 @@ ENTRY(vm86_bioscall)
|
||||
call npxsave
|
||||
popl %ecx
|
||||
popl %edx /* recover our pcb */
|
||||
1:
|
||||
popfl
|
||||
#endif
|
||||
|
||||
1:
|
||||
movl SCR_VMFRAME(%edx),%ebx /* target frame location */
|
||||
movl %ebx,%edi /* destination */
|
||||
movl SCR_ARGFRAME(%edx),%esi /* source (set on entry) */
|
||||
|
Loading…
Reference in New Issue
Block a user