freebsd-skq/sys
John Baldwin 36273c5d79 Don't disable interrupts when calling a vm86 mode interrupt or routine
from user mode.  Don't disable interrupts when returning from vm86 mode
to user mode either.  Now, we only disable interrupts before calling a
hardware interrupt handler, which is the only time we _should_ be
disabling interrupts.

Because of this, err, feature, any routine that one called in vm86 mode
had to re-enable interrupts by setting the interrupt flag or interrupts
would remain disabled even after the routine returned.  For example, I
have a simple debugging routine that uses a vm86 mode function to dump
any arbitrary memory word that I use to read the BIOS timer or any other
memory location.  This function does 1 load instruction from memory and
then returns.  Since it didn't re-enable interrupts, the first time I
called it to read the BIOS timer, it disabled interrupts.   This also
affected the PXE bootstrap as it needs interrupts enabled while it is
processing.  This patch fixes both of those situations so that those
functions do not worry about having to enable interrupts.  Hardware
interrupt handlers worked fine with the old code because they always
enable interrupts as part of their routine.

If you have any problems with the loader after this commit, please
let me know.  I'd like to MFC it in a week or two since PXE support
needs it.

Noticed by:	ps, Michael Johnston <michael.johnston@intel.com>
2000-04-26 04:35:25 +00:00
..
alpha Remove unneeded <sys/buf.h> includes. 2000-04-18 15:15:39 +00:00
amd64 Fix a long-standing bug which caused massive character loss in remote 2000-04-25 01:41:57 +00:00
boot Don't disable interrupts when calling a vm86 mode interrupt or routine 2000-04-26 04:35:25 +00:00
cam Remove unneeded <sys/buf.h> includes. 2000-04-18 15:15:39 +00:00
coda Remove ~25 unneeded #include <sys/conf.h> 2000-04-19 14:58:28 +00:00
compat Fix include paths so that this builds correctly. 2000-04-21 05:54:11 +00:00
compile
conf Add linker_if.m to the mix. 2000-04-24 23:08:23 +00:00
contrib Enforce and respect the 8 unit limit. 2000-04-23 09:10:09 +00:00
crypto Remove ~25 unneeded #include <sys/conf.h> 2000-04-19 14:58:28 +00:00
ddb Add a new sysctl "debug.enter_debugger" (when the kernel is compiled 2000-01-27 22:27:34 +00:00
dev Ignore tulip chips on LanMedia WAN cards. 2000-04-25 21:45:45 +00:00
fs Quiet an unused variable warning by commenting out a variable declaration 2000-04-22 17:58:40 +00:00
geom Complete the bio/buf divorce for all code below devfs::strategy 2000-04-15 05:54:02 +00:00
gnu Remove ~25 unneeded #include <sys/conf.h> 2000-04-19 14:58:28 +00:00
i4b * Use sys/sys/random.h rather than a i386 specific one. 2000-04-24 17:30:08 +00:00
i386 Fix a long-standing bug which caused massive character loss in remote 2000-04-25 01:41:57 +00:00
isa Enable PnP attachment for parallel port controllers. 2000-04-22 15:08:50 +00:00
isofs/cd9660 Complete the bio/buf divorce for all code below devfs::strategy 2000-04-15 05:54:02 +00:00
kern Remove unused variable. 2000-04-26 00:20:01 +00:00
libkern Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
miscfs Quiet an unused variable warning by commenting out a variable declaration 2000-04-22 17:58:40 +00:00
modules More machdep/random.h -> sys/random.h fixes. 2000-04-25 05:06:31 +00:00
msdosfs Complete the bio/buf divorce for all code below devfs::strategy 2000-04-15 05:54:02 +00:00
net remove "register" specifiers to supress compiler warning. 2000-04-26 02:40:33 +00:00
netatalk Slight cleanup of aarp code 2000-03-29 17:12:09 +00:00
netatm Clean up some loose ends in the network code, including the X.25 and ISO 2000-02-13 03:32:07 +00:00
netgraph Remove ~25 unneeded #include <sys/conf.h> 2000-04-19 14:58:28 +00:00
netinet Let initialize th_sum before in6_cksum(), again. 2000-04-19 15:05:00 +00:00
netinet6 Remove ~25 unneeded #include <sys/conf.h> 2000-04-19 14:58:28 +00:00
netipx * Use sys/sys/random.h rather than a i386 specific one. 2000-04-24 17:30:08 +00:00
netkey comment the string after #endif 2000-01-15 05:15:06 +00:00
netnatm Clean up some loose ends in the network code, including the X.25 and ISO 2000-02-13 03:32:07 +00:00
netncp Do not panic if request issued by kernel. 2000-04-05 10:54:02 +00:00
netns Clean up some loose ends in the network code, including the X.25 and ISO 2000-02-13 03:32:07 +00:00
nfs Remove ~25 unneeded #include <sys/conf.h> 2000-04-19 14:58:28 +00:00
nfsclient Remove ~25 unneeded #include <sys/conf.h> 2000-04-19 14:58:28 +00:00
nfsserver Remove ~25 unneeded #include <sys/conf.h> 2000-04-19 14:58:28 +00:00
ntfs Remove ~25 unneeded #include <sys/conf.h> 2000-04-19 14:58:28 +00:00
nwfs Remove unneeded <sys/buf.h> includes. 2000-04-18 15:15:39 +00:00
pc98 Sync with sys/i386/conf/GENERIC revision 1.252. 2000-04-23 09:04:42 +00:00
pccard Checkin my first batch of New Mexico changes: 2000-04-25 06:07:27 +00:00
pci Ignore tulip chips on LanMedia WAN cards. 2000-04-25 21:45:45 +00:00
posix4 Add $FreeBSD$. 2000-04-22 15:13:06 +00:00
powerpc Remove B_READ, B_WRITE and B_FREEBUF and replace them with a new 2000-03-20 10:44:49 +00:00
rpc $Id$ -> $FreeBSD$ 1999-08-27 23:45:13 +00:00
svr4 Remove ~25 unneeded #include <sys/conf.h> 2000-04-19 14:58:28 +00:00
sys Clone the {b|bio}_offset field, and make sure it is always initialized 2000-04-25 10:51:18 +00:00
tools Use a seperate -c and -h mode. The vnode_if.c file is compiled only into 1999-12-12 16:43:05 +00:00
ufs Convert the magic MFS device to a VCHR. 2000-04-22 05:45:38 +00:00
vm Implement POSIX.1b shared memory objects. In this implementation, 2000-04-22 15:22:31 +00:00
Makefile Remove the old a.out-only boot loader, we don't use it any more. 2000-03-19 11:42:34 +00:00