|
The Pedigree Project 0.1
|
machine-specific kernel interface More...
Collaboration diagram for machine-specifc kernel:Modules | |
| x86-common | |
| x86-common machine-specific kernel | |
Classes | |
| class | IrqHandlerBase |
| class | IrqHandler |
| class | HardIrqHandler |
| class | IrqPolicy |
| struct | IrqLineDiagnosticSnapshot |
| class | IrqManager |
| class | SchedulerTimer |
| class | SchedulerTimerHandler |
| class | Timer |
| class | TimerHandler |
Enumerations | |
| enum class | IrqDisposition { NotHandled , Handled , IrqDisposition::Quiesced } |
| enum class | HardIrqDisposition { NotHandled = 0 , Handled , HardIrqDisposition::KeepMasked } |
| enum class | IrqTrigger : uint8_t { Edge , Level , Synthetic } |
| enum class | IrqControllerAck : uint8_t { None , BeforeHardStage , AfterHardStage } |
| enum class | IrqLineRelease : uint8_t { AfterHardStage , AfterThreadedCompletion } |
| enum class | IrqDelivery : uint8_t { None , Hard , Threaded , Mixed } |
| enum | IrqMaskReason : uint16_t { IrqMaskNone = 0 , IrqMaskNoHandler = 1U << 0 , IrqMaskAdministrativelyDisabled = 1U << 1 , IrqMaskAwaitingAcknowledgement = 1U << 2 , IrqMaskAwaitingThreadedCompletion = 1U << 3 , IrqMaskMitigated = 1U << 4 , IrqMaskShuttingDown = 1U << 5 , IrqMaskControllerContention = 1U << 6 } |
| enum class | IrqWorkerDebugState : uint8_t { Unavailable , None , SemaphoreWait , ConditionWait , Joining , FutexWait , EventWait , ProcessWait , CallbackDrain } |
| enum class | IrqWorkerWaitReason : uint8_t { Unavailable , Waiting , Signalled , Event , Unwinding , Terminating , Spurious } |
| enum class | IrqControllerPromptState : uint8_t { NotRequired , Submitted , Failed } |
Functions | |
| typedef | MACHINE_SPECIFIC_NAME (irq_id_t) irq_id_t |
machine-specific kernel interface
machine-specific kernel interface
|
strong |
Result of a bounded hard-IRQ callback.
Definition at line 44 of file IrqHandler.h.
|
strong |
Controller acknowledgement order relative to the bounded hard stage.
Definition at line 47 of file include/pedigree/kernel/machine/IrqManager.h.
|
strong |
Last terminal state of the PIC controller-worker reschedule prompt.
Definition at line 205 of file include/pedigree/kernel/machine/IrqManager.h.
|
strong |
Delivery context currently configured for a physical interrupt line.
Definition at line 161 of file include/pedigree/kernel/machine/IrqManager.h.
|
strong |
Result of an ordinary thread-context IRQ callback.
Definition at line 31 of file IrqHandler.h.
|
strong |
Point at which a controller-masked line may be made live again.
Definition at line 54 of file include/pedigree/kernel/machine/IrqManager.h.
| enum IrqMaskReason : uint16_t |
Independent reasons an interrupt line is not currently live.
Definition at line 169 of file include/pedigree/kernel/machine/IrqManager.h.
|
strong |
Source-declared trigger semantics used for safe controller behaviour. The PC PCI registration path configures its selected ELCR line as level triggered while masked. Interrupt routing to that line remains platform-owned.
Definition at line 40 of file include/pedigree/kernel/machine/IrqManager.h.
|
strong |
Detached higher-level state for a threaded IRQ worker.
Definition at line 181 of file include/pedigree/kernel/machine/IrqManager.h.
|
strong |
Detached wake state for a threaded IRQ worker's active WaitQueue record.
Definition at line 194 of file include/pedigree/kernel/machine/IrqManager.h.
| typedef MACHINE_SPECIFIC_NAME | ( | irq_id_t | ) |
Define a type for IRQ identifications