summaryrefslogtreecommitdiffstats
path: root/sys/isa/rtc.h
Commit message (Collapse)AuthorAgeFilesLines
* Implement new event timers infrastructure. It provides unified APIs formav2010-06-201-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | writing event timer drivers, for choosing best possible drivers by machine independent code and for operating them to supply kernel with hardclock(), statclock() and profclock() events in unified fashion on various hardware. Infrastructure provides support for both per-CPU (independent for every CPU core) and global timers in periodic and one-shot modes. MI management code at this moment uses only periodic mode, but one-shot mode use planned for later, as part of tickless kernel project. For this moment infrastructure used on i386 and amd64 architectures. Other archs are welcome to follow, while their current operation should not be affected. This patch updates existing drivers (i8254, RTC and LAPIC) for the new order, and adds event timers support into the HPET driver. These drivers have different capabilities: LAPIC - per-CPU timer, supports periodic and one-shot operation, may freeze in C3 state, calibrated on first use, so may be not exactly precise. HPET - depending on hardware can work as per-CPU or global, supports periodic and one-shot operation, usually provides several event timers. i8254 - global, limited to periodic mode, because same hardware used also as time counter. RTC - global, supports only periodic mode, set of frequencies in Hz limited by powers of 2. Depending on hardware capabilities, drivers preferred in following orders, either LAPIC, HPETs, i8254, RTC or HPETs, LAPIC, i8254, RTC. User may explicitly specify wanted timers via loader tunables or sysctls: kern.eventtimer.timer1 and kern.eventtimer.timer2. If requested driver is unavailable or unoperational, system will try to replace it. If no more timers available or "NONE" specified for second, system will operate using only one timer, multiplying it's frequency by few times and uing respective dividers to honor hz, stathz and profhz values, set during initial setup.
* Rename statclock_disable variable to atrtcclock_disable that it actually is,mav2009-05-031-0/+2
| | | | | | | | | | | | | and hide it inside of atrtc driver. Add new tunable hint.atrtc.0.clock controlling it. Setting it to 0 disables using RTC clock as stat-/ profclock sources. Teach i386 and amd64 SMP platforms to emulate stat-/profclocks using i8254 hardclock, when LAPIC and RTC clocks are disabled. This allows to reduce global interrupt rate of idle system down to about 100 interrupts per core, permitting C3 and deeper C-states provide maximum CPU power efficiency.
* atrtc.c is a repocopy of the RTC device driver from i386/isa/clock.cphk2008-04-141-0/+11
| | | | | In addition to the device driver functionality, it exposes a number of functions which various other bits of code use to fondle the RTC chip.
* Remove advertising clause from University of California Regent'simp2004-04-071-4/+0
| | | | | | | license, per letter dated July 22, 1999 and email from Peter Wemm, Alan Cox and Robert Watson. Approved by: core, peter, alc, rwatson
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Improve a couple of comment.phk1998-07-111-6/+7
| | | | | | PR: 7242 Reviewed by: phk Submitted by: Peter Jeremy <peter.jeremyp@alcatel.com.au>
* Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are notpeter1997-02-221-1/+1
| | | | ready for it yet.
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-141-1/+1
| | | | | | | | This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
* BIOS manufacturers don't seem to have a unique idea about 2.88 MBjoerg1995-10-091-1/+2
| | | | floppy drive types in the CMOS; add 0x50 as an alias for 2.88 MB.
* Here is a minor patch for FreeBSD 2.0R to allow it to recognizejoerg1994-12-041-1/+2
| | | | | | | 2.88MB floppy drives. All it does is set the type to 1.44MB if it finds the 2.88MB drive. Submitted by: Andrew Gillham <gillham@andrews.edu>
* resettodr() implemented, inittodr() fixedache1994-09-201-4/+9
| | | | Submitted by: me & chris@gnome.co.uk
* Enable use of the RTC chip for the statistical clock. While this doeswollman1994-08-151-1/+19
| | | | | | | | | | | not provide the full accuracy of a randomized statistical clock, it does provide greater accuracy than the previous method, while not significantly increasing overhead. It also provides profiling support at 1024 Hz. You must re-compile config before making a new kernel, or you will end up with unresolved symbols. Reviewed uy: Bruce evans said it worked for him.
* RTCFDT_720K (physical drive 720K) added.ache1993-12-181-1/+2
|
* Made all header files idempotent and moved incorrect common data fromwollman1993-11-071-1/+5
| | | | | headers into a related source file. Also fixed a bug in ed_probe() where it was possible to fall off the end of the function
* Removed all patch kit headers, sccsid and rcsid strings, put $Id$ in, somergrimes1993-10-161-1/+2
| | | | minor cleanup. Added $Id$ to files that did not have any version info, etc
* Initial import, 0.1 + pk 0.2.4-B1rgrimes1993-06-121-0/+85
OpenPOWER on IntegriCloud