Software Developers Hpet Spec 1 0a – Download as PDF File .pdf), Text File .txt ) or read online. Updated HPET web link, added WSPT and WDAT, updated WDRT description and web link. Clarified that the endian-ness of data value. High Precision Event Timer Driver for Linux The High Precision Event Timer ( HPET) hardware follows a specification by Intel and Microsoft, revision 1.
||23 February 2017
|PDF File Size:
|ePub File Size:
||Free* [*Free Regsitration Required]
This means that hhpet write to timer N comparator register will have the usual meaning, while second next write will write directly to the accumulator.
Support High Precision Event Timer (HPET) on x86 guests — Nova Specs documentation
Operators can indicate specificztion desire to have HPET in the guest by specifying a placement trait trait: Keep in mind that allowed interrupt routing may be insane.
Writes of 0 have no effect. Must not be zero, must be less or equal to 0x05F5E, or nanoseconds.
This specigication was last modified on 31 Octoberat Views Read View source View history. About This site Joining Editing help Recent changes.
This has the express advantage of being independent of the CPU frequency and still provides a very reasonable sub-microsecond resolution and accuracy. End users can indicate their desire to have HPET in the guest by uploading their own images with the same trait. Save specifiication tick either from ACPI table or configuration register. Otherwise it has no effect. If it is set, software can clear it by writing 1 to this bit.
The operator has to remember to set both extra specs, which is kind of gross UX. You can help by adding to it.
High Precision Event Timer – Wikipedia
If we do get down to the virt driver and the trait is set, and the driver for whatever reason e. Common Devices Interrupts Time. Otherwise, this bit will be ignored and reading it will always return 0. Note A corresponding flavor extra spec will not be introduced since enabling HPET is really a per-image concern rather than a resource concern for capacity planning. Determine if timer N is periodic capable, save that information to avoid re-reading it every time.
High Precision Event Timer
It was developed jointly by Intel and Microsoft and has been incorporated in PC chipsets since circa If 32 bit reads are performed on 64 bit counter, consult 2. Also, the routing as well as allowed routing of comparator interrupts is independent, so hlet have to detect and set it up for each of them individually. A corresponding flavor extra spec will not be introduced since enabling HPET is really a per-image concern rather than a resource concern for specificatiom planning.
For bit timer, if this field is set, the timer will be forced to work in bit mode. Bit 3 is also quite straightforward – 1 means periodic timer. Comparators are NOT required to support this mode; you must detect this capability hper initializing a comparator.
Hhpet following table skips reserved registers defined in the specification. If it’s not, please analyze the meaning of specific fields in registers used above.
If the timer is set to 32 bit mode, it will also generate an interrupt when the counter wraps around. Newer operating systems tend to be able to use either.
Detailed explanation is provided further in the article. A few options to use Traits were considered hpte described in the next section, but we end up choosing the simpler approach due to the following reasons:. If an illegal value is written, then value read back from this field will not match the written value.
The following operating systems are known to be able to use HPET: If you need any information not covered by this article, consult the HPET specification. The comparator spevification value is never written by the hardware, you are free to write to it and read from it at any time, therefore you can change at what value in the main counter the interrupt will be generated.
Keep in specificatioh you have to initialize both the main counter and all of the comparators. Once scheduled to a compute node, the virt driver looks for trait: From Wikipedia, the free encyclopedia.