About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / timers / hpet.txt




Custom Search

Based on kernel version 3.15.4. Page generated on 2014-07-07 09:04 EST.

1			High Precision Event Timer Driver for Linux
2	
3	The High Precision Event Timer (HPET) hardware follows a specification
4	by Intel and Microsoft which can be found at
5	
6		http://www.intel.com/hardwaredesign/hpetspec_1.pdf
7	
8	Each HPET has one fixed-rate counter (at 10+ MHz, hence "High Precision")
9	and up to 32 comparators.  Normally three or more comparators are provided,
10	each of which can generate oneshot interrupts and at least one of which has
11	additional hardware to support periodic interrupts.  The comparators are
12	also called "timers", which can be misleading since usually timers are
13	independent of each other ... these share a counter, complicating resets.
14	
15	HPET devices can support two interrupt routing modes.  In one mode, the
16	comparators are additional interrupt sources with no particular system
17	role.  Many x86 BIOS writers don't route HPET interrupts at all, which
18	prevents use of that mode.  They support the other "legacy replacement"
19	mode where the first two comparators block interrupts from 8254 timers
20	and from the RTC.
21	
22	The driver supports detection of HPET driver allocation and initialization
23	of the HPET before the driver module_init routine is called.  This enables
24	platform code which uses timer 0 or 1 as the main timer to intercept HPET
25	initialization.  An example of this initialization can be found in
26	arch/x86/kernel/hpet.c.
27	
28	The driver provides a userspace API which resembles the API found in the
29	RTC driver framework.  An example user space program is provided in
30	file:Documentation/timers/hpet_example.c
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.