Date: Wed, 6 Nov 2002 17:34:23 -0800 (PST) From: David Xu <davidxu@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/i386/i386 exception.s genassym.c trap.c vm86.c vm86bios.s src/sys/i386/include pcb.h vm86.h Message-ID: <200211070134.gA71YNn0045906@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
davidxu 2002/11/06 17:34:23 PST Modified files: sys/i386/i386 exception.s genassym.c trap.c vm86.c vm86bios.s sys/i386/include pcb.h vm86.h Log: 1.Fix smp race between kernel vm86 BIOS calling and userland vm86 mode code, remove global variable in_vm86call, set vm86 calling flag in PCB flags. 2.Fix vm86 BIOS calling preempted problem by changing vm86_lock mutex type from MTX_DEF to MTX_SPIN. vm86pcb is not remembered in thread struct, when the thread calling vm86 BIOS is preempted by interrupt thread, and later switching back to the thread would cause incorrect context be loaded into CPU registers, this leads to kernel crash. Revision Changes Path 1.99 +3 -2 src/sys/i386/i386/exception.s 1.131 +1 -0 src/sys/i386/i386/genassym.c 1.237 +5 -7 src/sys/i386/i386/trap.c 1.49 +6 -5 src/sys/i386/i386/vm86.c 1.29 +1 -6 src/sys/i386/i386/vm86bios.s 1.49 +2 -0 src/sys/i386/include/pcb.h 1.17 +0 -1 src/sys/i386/include/vm86.h To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200211070134.gA71YNn0045906>