freebsd-skq/sys/isa
Bruce Evans 0f19e631e2 Fixed races accessing the RTC. The races apparently caused
apm_default_resume() to sometimes set a very wrong time.
(1) Accesses to the RTC index and data registers were not atomic enough.
    Interrupts were not masked.  This was only good enough until an
    interrupt handler (rtcintr()) started accessing the RTC in FreeBSD-2.0.
(2) Access to the block of time registers in inittodr() was not atomic
    enough.  inittodr() has 244us to read the time registers.  Interrupts
    were not masked.  This was only good enough until something (apm)
    started calling inittodr() after boot time in FreeBSD-2.0.
The fix for (2) also makes the timecounter update more atomic, although
this is currently unimportant due to the low resolution of the RTC.

Problem reported by:	mckay
1999-12-25 15:30:31 +00:00
..
ic $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
atkbd_isa.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
atkbdc_isa.c Remove the 'ivars' arguement to device_add_child() and 1999-12-03 08:41:24 +00:00
atrtc.c Fixed races accessing the RTC. The races apparently caused 1999-12-25 15:30:31 +00:00
fd.c Add a flag to disable FIFO probing. The code seems to have a chance of 1999-12-21 08:33:03 +00:00
fdc.h Add code to support ISA PnP. 1999-11-11 08:48:40 +00:00
fdreg.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
isa_common.c Remove the 'ivars' arguement to device_add_child() and 1999-12-03 08:41:24 +00:00
isa_common.h Change isa_get/set_flags() to device_get/set_flags(). 1999-09-07 08:42:49 +00:00
isa_if.m * Add struct resource_list* argument to resource_list_alloc and 1999-10-12 21:35:51 +00:00
isahint.c Allow a DMA channel of 0. This gets the on-board mss audio device working 1999-11-22 14:30:41 +00:00
isareg.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
isavar.h * Add struct resource_list* argument to resource_list_alloc and 1999-10-12 21:35:51 +00:00
joy.c Removed unnecessary include files. 1999-12-20 12:08:20 +00:00
pnp.c * Add some verbose logging to the PnP parser and fix a couple of bugs. 1999-10-14 21:03:03 +00:00
pnpparse.c * Add some verbose logging to the PnP parser and fix a couple of bugs. 1999-10-14 21:03:03 +00:00
pnpreg.h s/LOGIGAL/LOGICAL/ 1999-09-02 05:13:01 +00:00
pnpvar.h * Add some verbose logging to the PnP parser and fix a couple of bugs. 1999-10-14 21:03:03 +00:00
ppc.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ppcreg.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
psm.c - Add the device resume method. It supercedes the existing resume 1999-12-15 10:04:05 +00:00
rtc.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
sio.c Extract a list of extra isa pnp modem ID's from NetBSD and OpenBSD. Some 1999-12-21 09:16:03 +00:00
sioreg.h Restore the old sio* - bruce can fix it himself. 1999-09-08 10:59:03 +00:00
syscons_isa.c Change isa_get/set_flags() to device_get/set_flags(). 1999-09-07 08:42:49 +00:00
vga_isa.c Remove the 'ivars' arguement to device_add_child() and 1999-12-03 08:41:24 +00:00