|
The Pedigree Project 0.1
|
#include <PicIrqState.h>
Collaboration diagram for PicIrqState:Public Types | |
| enum class | TriggerMode : uint8_t { Unconfigured , Level , Edge } |
Public Member Functions | |
| bool | canRegister (size_t irq, const IrqPolicy &policy, IrqDelivery delivery) const |
| bool | canRegister (size_t irq, const IrqPolicy &policy) const |
| bool | canReservePciRoute (size_t irq) const |
| void | reservePciRoute (size_t irq) |
| bool | pciRouteReserved (size_t irq) const |
| bool | canRegisterScheduler (size_t irq, const IrqPolicy &policy) const |
| void | schedulerRegistered (size_t irq, const IrqPolicy &policy) |
| void | schedulerUnregistered (size_t irq) |
| bool | schedulerRegistered (size_t irq) const |
| void | handlerRegistered (size_t irq, const IrqPolicy &policy, IrqDelivery delivery) |
| void | handlerRegistered (size_t irq, const IrqPolicy &policy) |
| void | handlerUnregistered (size_t irq, IrqDelivery delivery) |
| void | handlerUnregistered (size_t irq) |
| size_t | beginDispatch (size_t irq) |
| void | completeDispatch (size_t irq, size_t dispatchGeneration, bool needsAcknowledgement) |
| bool | acknowledge (size_t irq) |
| void | beginThreadedDispatch (size_t irq) |
| bool | completeThreadedDispatch (size_t irq, size_t dispatchGeneration, bool allowRearm) |
| bool | threadedPending (size_t irq) const |
| bool | acknowledgementPending (size_t irq) const |
| void | beginLineTransition (size_t irq) |
| void | finishLineTransition (size_t irq) |
| bool | lineTransitionPending (size_t irq) const |
| size_t | handlerCount (size_t irq) const |
| size_t | hardHandlerCount (size_t irq) const |
| size_t | threadedHandlerCount (size_t irq) const |
| IrqDelivery | delivery (size_t irq) const |
| bool | edgeTriggered (size_t irq) const |
| IrqTrigger | trigger (size_t irq) const |
| IrqControllerAck | controllerAck (size_t irq) const |
| IrqLineRelease | lineRelease (size_t irq) const |
| bool | enabled (size_t irq) const |
| bool | requestedEnabled (size_t irq) const |
| size_t | dispatchGeneration (size_t irq) const |
| size_t | acknowledgedGeneration (size_t irq) const |
| void | setEnabled (size_t irq, bool enabled) |
| void | setAllEnabled (bool enabled) |
| uint16_t | mask () const |
| uint8_t | masterMask () const |
| uint8_t | slaveMask () const |
Static Public Attributes | |
| static constexpr size_t | LineCount = 16 |
| static constexpr size_t | CascadeIrq = 2 |
Private Member Functions | |
| void | rebuildMask () |
Static Private Member Functions | |
| static IrqDelivery | legacyDelivery (const IrqPolicy &policy) |
| static uint16_t | bit (size_t irq) |
| static bool | generationReached (size_t current, size_t target) |
Private Attributes | |
| uint16_t | m_Mask |
| TriggerMode | m_TriggerModes [LineCount] |
| IrqControllerAck | m_ControllerAck [LineCount] |
| size_t | m_HardHandlerCounts [LineCount] |
| size_t | m_ThreadedHandlerCounts [LineCount] |
| size_t | m_DispatchGenerations [LineCount] |
| size_t | m_AcknowledgedGenerations [LineCount] |
| bool | m_AcknowledgementPending [LineCount] |
| bool | m_ThreadedPending [LineCount] |
| bool | m_TransitionPending [LineCount] |
| bool | m_RequestedEnabled [LineCount] |
| bool | m_SchedulerOwned [LineCount] |
| bool | m_PciRouteReserved [LineCount] |
Software ownership state for the dual 8259 PIC.
The caller serialises every operation with controller-state ownership and writes the returned master/slave masks to hardware. Registration counts are updated independently of the callback registry's drain latency, so a new handler cannot be hidden by the final accounting step of an older unregister.
Definition at line 28 of file PicIrqState.h.
|
strong |
Definition at line 33 of file PicIrqState.h.
|
inline |
Definition at line 39 of file PicIrqState.h.
|
inline |
Definition at line 205 of file PicIrqState.h.
|
inline |
Definition at line 341 of file PicIrqState.h.
|
inline |
Definition at line 251 of file PicIrqState.h.
|
inline |
Definition at line 180 of file PicIrqState.h.
|
inline |
Definition at line 256 of file PicIrqState.h.
|
inline |
Applies a policy-requested mask until the bottom half completes.
Definition at line 220 of file PicIrqState.h.
Referenced by Pic::interrupt().
Here is the caller graph for this function:
|
inlinestaticprivate |
Definition at line 387 of file PicIrqState.h.
|
inline |
Definition at line 73 of file PicIrqState.h.
|
inline |
Definition at line 56 of file PicIrqState.h.
|
inline |
Definition at line 98 of file PicIrqState.h.
|
inline |
Definition at line 77 of file PicIrqState.h.
|
inline |
Completes a dispatch without losing an acknowledgement which raced the handler return. An acknowledgement covers every dispatch admitted before it observed the line.
Definition at line 194 of file PicIrqState.h.
Referenced by Pic::interrupt().
Here is the caller graph for this function:
|
inline |
Completes the latest threaded batch. A stale batch cannot reopen a line which has since delivered another occurrence.
Definition at line 232 of file PicIrqState.h.
|
inline |
Definition at line 314 of file PicIrqState.h.
|
inline |
Definition at line 288 of file PicIrqState.h.
|
inline |
Definition at line 336 of file PicIrqState.h.
|
inline |
Definition at line 304 of file PicIrqState.h.
|
inline |
Definition at line 326 of file PicIrqState.h.
|
inline |
Definition at line 262 of file PicIrqState.h.
|
inlinestaticprivate |
Definition at line 391 of file PicIrqState.h.
|
inline |
Definition at line 273 of file PicIrqState.h.
|
inline |
Definition at line 142 of file PicIrqState.h.
|
inline |
Definition at line 120 of file PicIrqState.h.
|
inline |
Definition at line 173 of file PicIrqState.h.
|
inline |
Definition at line 146 of file PicIrqState.h.
|
inline |
Definition at line 278 of file PicIrqState.h.
|
inlinestaticprivate |
Definition at line 378 of file PicIrqState.h.
|
inline |
Definition at line 319 of file PicIrqState.h.
|
inline |
Definition at line 268 of file PicIrqState.h.
|
inline |
Definition at line 365 of file PicIrqState.h.
|
inline |
Definition at line 369 of file PicIrqState.h.
|
inline |
Definition at line 93 of file PicIrqState.h.
|
inlineprivate |
Definition at line 395 of file PicIrqState.h.
|
inline |
Definition at line 331 of file PicIrqState.h.
|
inline |
Platform routing outlives the drivers which register its callbacks.
Definition at line 83 of file PicIrqState.h.
Referenced by Pic::reservePciRoute().
Here is the caller graph for this function:
|
inline |
Definition at line 115 of file PicIrqState.h.
|
inline |
Definition at line 103 of file PicIrqState.h.
|
inline |
Definition at line 109 of file PicIrqState.h.
|
inline |
Definition at line 352 of file PicIrqState.h.
|
inline |
Definition at line 346 of file PicIrqState.h.
|
inline |
Definition at line 373 of file PicIrqState.h.
|
inline |
Definition at line 283 of file PicIrqState.h.
|
inline |
Definition at line 246 of file PicIrqState.h.
|
inline |
Definition at line 309 of file PicIrqState.h.
|
staticconstexpr |
Definition at line 31 of file PicIrqState.h.
|
staticconstexpr |
Definition at line 30 of file PicIrqState.h.
|
private |
Definition at line 418 of file PicIrqState.h.
|
private |
Definition at line 419 of file PicIrqState.h.
|
private |
Definition at line 414 of file PicIrqState.h.
|
private |
Definition at line 417 of file PicIrqState.h.
|
private |
Definition at line 415 of file PicIrqState.h.
|
private |
Definition at line 412 of file PicIrqState.h.
|
private |
Definition at line 424 of file PicIrqState.h.
|
private |
Definition at line 422 of file PicIrqState.h.
|
private |
Definition at line 423 of file PicIrqState.h.
|
private |
Definition at line 416 of file PicIrqState.h.
|
private |
Definition at line 420 of file PicIrqState.h.
|
private |
Definition at line 421 of file PicIrqState.h.
|
private |
Definition at line 413 of file PicIrqState.h.