freebsd-dev/sys/isa
John Baldwin e8ce55117b Use the local APIC timer to drive the various kernel clocks on SMP machines
rather than forwarding interrupts from the clock devices around using IPIs:
- Add an IDT vector that pushes a clock frame and calls
  lapic_handle_timer().
- Add functions to program the local APIC timer including setting the
  divisor, and setting up the timer to either down a periodic countdown
  or one-shot countdown.
- Add a lapic_setup_clock() function that the BSP calls from
  cpu_init_clocks() to setup the local APIC timer if it is going to be
  used.  The setup uses a one-shot countdown to calibrate the timer.  We
  then program the timer on each CPU to fire at a frequency of hz * 3.
  stathz is defined as freq / 23 (hz * 3 / 23), and profhz is defined as
  freq / 2 (hz * 3 / 2).  This gives the clocks relatively prime divisors
  while keeping a low LCM for the frequency of the clock interrupts.
  Thanks to Peter Jeremy for suggesting this approach.
- Remove the hardclock and statclock forwarding code including the two
  associated IPIs.  The bitmap IPI handler has now effectively degenerated
  to just IPI_AST.
- When the local APIC timer is used we don't turn the RTC on at all, but
  we still enable interrupts on the ISA timer 0 (i8254) for timecounting
  purposes.
2005-02-08 20:25:07 +00:00
..
atkbd_isa.c add missing #include <sys/module.h> 2004-05-30 20:27:19 +00:00
atkbdc_isa.c Remove local hacks to set flags now that the device probe does this for us. 2004-10-14 22:21:59 +00:00
atrtc.c Use the local APIC timer to drive the various kernel clocks on SMP machines 2005-02-08 20:25:07 +00:00
isa_common.c Protect against wrapping. This appaers to fix some hangs that people 2005-01-23 03:03:58 +00:00
isa_common.h Get rid of #ifdef for legacy system. Move that into the MD code. 2004-12-24 23:03:17 +00:00
isa_if.m /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 22:18:23 +00:00
isahint.c Remove local hacks to set flags now that the device probe does this for us. 2004-10-14 22:21:59 +00:00
isareg.h Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
isavar.h Since we are quite unlikely to ever face another platform which 2005-02-06 13:46:39 +00:00
orm.c These option roms are defined in the ISA standard, and in the ISA 2004-07-05 17:26:04 +00:00
pnp.c Make the other pnp messages more explicit as well... 2004-12-24 22:18:19 +00:00
pnpparse.c Use __FBSDID(). 2003-06-11 00:34:37 +00:00
pnpreg.h /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 22:18:23 +00:00
pnpvar.h Various style(9) items before of some more extensive work: 2004-12-24 22:08:57 +00:00
psm.c Make life for owners of Synaptics Touchpads more pleasant :-) 2005-01-10 13:05:58 +00:00
rtc.h Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
syscons_isa.c Converge towards i386. I originally resisted creating <machine/pc/bios.h> 2004-09-24 01:08:34 +00:00
vga_isa.c Stop printing the VGA registers during verbose boot, in order to not 2004-11-03 09:07:44 +00:00