The Pedigree Project 0.1
Public Attributes | List of all members
IrqLineDiagnosticSnapshot Struct Reference

#include <IrqManager.h>

+ Collaboration diagram for IrqLineDiagnosticSnapshot:

Public Attributes

size_t snapshotGeneration
 
size_t observationTimestamp
 
size_t dispatchGeneration
 
size_t acknowledgedGeneration
 
size_t activeHardDispatchCount
 
size_t activeHardDispatchGeneration
 
size_t activeThreadedDispatchCount
 
size_t publicationCookie
 
size_t pendingCookie
 
size_t activeCookie
 
size_t completedCookie
 
size_t completedBatches
 
size_t pendingSinceTimestamp
 
size_t activeCallbackStartedTimestamp
 
size_t lastWakeLatency
 
size_t maximumWakeLatency
 
size_t lastCallbackRuntime
 
size_t maximumCallbackRuntime
 
size_t interruptCount
 
size_t spuriousCount
 
size_t unhandledCount
 
size_t publicationFailures
 
size_t removalRejections
 
size_t controllerContentions
 
size_t controllerPromptAttempts
 
size_t controllerPromptFailures
 
size_t controllerPromptDestination
 
size_t diagnosticPublicationFailures
 
uintptr_t workerIdentity
 
uintptr_t activeThreadedHandlerIdentity
 
uintptr_t workerDebugAddress
 
uintptr_t workerWaitQueue
 
uintptr_t workerWaitChannelOwner
 
uintptr_t workerWaitChannelValue
 
size_t workerWaitStateLevel
 
size_t handlerCount
 
uint16_t maskReasons
 
uint8_t line
 
IrqDelivery delivery
 
IrqTrigger trigger
 
IrqControllerAck controllerAck
 
IrqLineRelease lineRelease
 
IrqWorkerDebugState workerDebugState
 
IrqWorkerWaitReason workerWaitReason
 
IrqControllerPromptState controllerPromptState
 
bool configured
 
bool effectiveMasked
 
bool requestedEnabled
 
bool acknowledgementPending
 
bool threadedPending
 
bool dispatcherInitialised
 
bool dispatcherActive
 
bool dispatcherClosed
 
bool hardStageActive
 
bool workerDiagnosticAvailable
 
bool workerWaitActive
 
bool workerWaitQueued
 

Detailed Description

Detached debugger-facing state for one physical interrupt line.

This is deliberately a plain data object: consumers must not retain or dereference any live kernel object while the debugger has other CPUs stopped. The snapshot is best-effort while the machine is running, but a controller must always leave its last complete publication readable if it is interrupted partway through publishing a newer one.

Definition at line 220 of file include/pedigree/kernel/machine/IrqManager.h.

Member Data Documentation

◆ acknowledgedGeneration

size_t IrqLineDiagnosticSnapshot::acknowledgedGeneration

◆ acknowledgementPending

bool IrqLineDiagnosticSnapshot::acknowledgementPending

◆ activeCallbackStartedTimestamp

size_t IrqLineDiagnosticSnapshot::activeCallbackStartedTimestamp

◆ activeCookie

size_t IrqLineDiagnosticSnapshot::activeCookie

◆ activeHardDispatchCount

size_t IrqLineDiagnosticSnapshot::activeHardDispatchCount

◆ activeHardDispatchGeneration

size_t IrqLineDiagnosticSnapshot::activeHardDispatchGeneration

◆ activeThreadedDispatchCount

size_t IrqLineDiagnosticSnapshot::activeThreadedDispatchCount

◆ activeThreadedHandlerIdentity

uintptr_t IrqLineDiagnosticSnapshot::activeThreadedHandlerIdentity

◆ completedBatches

size_t IrqLineDiagnosticSnapshot::completedBatches

◆ completedCookie

size_t IrqLineDiagnosticSnapshot::completedCookie

◆ configured

bool IrqLineDiagnosticSnapshot::configured

◆ controllerAck

IrqControllerAck IrqLineDiagnosticSnapshot::controllerAck

◆ controllerContentions

size_t IrqLineDiagnosticSnapshot::controllerContentions

◆ controllerPromptAttempts

size_t IrqLineDiagnosticSnapshot::controllerPromptAttempts

◆ controllerPromptDestination

size_t IrqLineDiagnosticSnapshot::controllerPromptDestination

◆ controllerPromptFailures

size_t IrqLineDiagnosticSnapshot::controllerPromptFailures

◆ controllerPromptState

IrqControllerPromptState IrqLineDiagnosticSnapshot::controllerPromptState

◆ delivery

IrqDelivery IrqLineDiagnosticSnapshot::delivery

◆ diagnosticPublicationFailures

size_t IrqLineDiagnosticSnapshot::diagnosticPublicationFailures

◆ dispatcherActive

bool IrqLineDiagnosticSnapshot::dispatcherActive

◆ dispatcherClosed

bool IrqLineDiagnosticSnapshot::dispatcherClosed

◆ dispatcherInitialised

bool IrqLineDiagnosticSnapshot::dispatcherInitialised

◆ dispatchGeneration

size_t IrqLineDiagnosticSnapshot::dispatchGeneration

◆ effectiveMasked

bool IrqLineDiagnosticSnapshot::effectiveMasked

◆ handlerCount

size_t IrqLineDiagnosticSnapshot::handlerCount

◆ hardStageActive

bool IrqLineDiagnosticSnapshot::hardStageActive

◆ interruptCount

size_t IrqLineDiagnosticSnapshot::interruptCount

◆ lastCallbackRuntime

size_t IrqLineDiagnosticSnapshot::lastCallbackRuntime

◆ lastWakeLatency

size_t IrqLineDiagnosticSnapshot::lastWakeLatency

◆ line

uint8_t IrqLineDiagnosticSnapshot::line

◆ lineRelease

IrqLineRelease IrqLineDiagnosticSnapshot::lineRelease

◆ maskReasons

uint16_t IrqLineDiagnosticSnapshot::maskReasons

◆ maximumCallbackRuntime

size_t IrqLineDiagnosticSnapshot::maximumCallbackRuntime

◆ maximumWakeLatency

size_t IrqLineDiagnosticSnapshot::maximumWakeLatency

◆ observationTimestamp

size_t IrqLineDiagnosticSnapshot::observationTimestamp

◆ pendingCookie

size_t IrqLineDiagnosticSnapshot::pendingCookie

◆ pendingSinceTimestamp

size_t IrqLineDiagnosticSnapshot::pendingSinceTimestamp

Independent best-effort samples; stopped-world snapshots are coherent.

Definition at line 234 of file include/pedigree/kernel/machine/IrqManager.h.

◆ publicationCookie

size_t IrqLineDiagnosticSnapshot::publicationCookie

◆ publicationFailures

size_t IrqLineDiagnosticSnapshot::publicationFailures

◆ removalRejections

size_t IrqLineDiagnosticSnapshot::removalRejections

◆ requestedEnabled

bool IrqLineDiagnosticSnapshot::requestedEnabled

◆ snapshotGeneration

size_t IrqLineDiagnosticSnapshot::snapshotGeneration

◆ spuriousCount

size_t IrqLineDiagnosticSnapshot::spuriousCount

◆ threadedPending

bool IrqLineDiagnosticSnapshot::threadedPending

◆ trigger

IrqTrigger IrqLineDiagnosticSnapshot::trigger

◆ unhandledCount

size_t IrqLineDiagnosticSnapshot::unhandledCount

◆ workerDebugAddress

uintptr_t IrqLineDiagnosticSnapshot::workerDebugAddress

◆ workerDebugState

IrqWorkerDebugState IrqLineDiagnosticSnapshot::workerDebugState

◆ workerDiagnosticAvailable

bool IrqLineDiagnosticSnapshot::workerDiagnosticAvailable

◆ workerIdentity

uintptr_t IrqLineDiagnosticSnapshot::workerIdentity

◆ workerWaitActive

bool IrqLineDiagnosticSnapshot::workerWaitActive

◆ workerWaitChannelOwner

uintptr_t IrqLineDiagnosticSnapshot::workerWaitChannelOwner

◆ workerWaitChannelValue

uintptr_t IrqLineDiagnosticSnapshot::workerWaitChannelValue

◆ workerWaitQueue

uintptr_t IrqLineDiagnosticSnapshot::workerWaitQueue

◆ workerWaitQueued

bool IrqLineDiagnosticSnapshot::workerWaitQueued

◆ workerWaitReason

IrqWorkerWaitReason IrqLineDiagnosticSnapshot::workerWaitReason

◆ workerWaitStateLevel

size_t IrqLineDiagnosticSnapshot::workerWaitStateLevel

The documentation for this struct was generated from the following file: