Aufgabe 6: Synchronisation
Ticker Class Reference
The Ticker device demonstrates HPET interrupts. More...
#include <device/ticker.h>
Inheritance diagram for Ticker:
Collaboration diagram for Ticker:Public Member Functions | |
| bool | windup (uint64_t us) |
| Windup / initialize. More... | |
| bool | prologue () override |
| Prologue of timer interrupts. More... | |
| void | epilogue () override |
| Epilogue of timer interrupts. More... | |
| uint64_t | interval () const |
| Retrieve the interrupt interval. More... | |
| void | activate () |
| Activate the timer. | |
| void | stop () |
| Stop the timer. | |
Public Member Functions inherited from Gate | |
| Gate () | |
| Constructor. | |
| virtual | ~Gate () |
| Destructor. More... | |
| virtual bool | prologue ()=0 |
| Device-specific interrupt handling routine that is executed immediately after the interrupt occurs (asynchronously). More... | |
| virtual void | epilogue () |
| Possibly delayed, synchronously executed Device-specific interrupt handling routine. More... | |
Detailed Description
The Ticker device demonstrates HPET interrupts.
Periodic HPET interrupts increase the counter, which is displayed on a designated spot on the screen and shows the current systems runtime.
Member Function Documentation
| bool Ticker::windup | ( | uint64_t | us | ) |
Windup / initialize.
Assigns itself to the Plugbox and initializes a HPET::Comparator in such a way that regular interrupts are triggered approx. every us microseconds when Ticker::activate() is called.
- Note
- This method must find a comparator capable of periodic interrupts.
- For IOAPIC::config use Trigger Mode `LEVEL` with Polarity `LOW` to ensure operation on both Qemu/KVM and our test hardware.
- Parameters
-
us Desired interrupt interval in microseconds.
- Returns
- Indicates if the interval could be set.
|
overridevirtual |
Prologue of timer interrupts.
- Returns
trueif the interrupt was issued by the HPET and Ticker::epilogue should be executed.
Implements Gate.
|
overridevirtual |
Epilogue of timer interrupts.
Increases and displays the counter value (uptime)
Reimplemented from Gate.
|
inline |
Retrieve the interrupt interval.
- Returns
- Interval in microseconds
The documentation for this class was generated from the following files:
- device/ticker.h
- device/ticker.cc