43 enum class HardStageDisposition :
size_t {
54 bool initialiseSplitIrq();
68 bool shutdownSplitIrq();
71 virtual HardStageDisposition
hardIrq(irq_id_t number, InterruptState& state,
size_t& work) = 0;
95#if HOSTED && PEDIGREE_HOSTED_SMOKE_TESTS
99 void setRegistrationPublishedHookForTest(RegistrationPublishedHook hook);
100 size_t publicationFailuresForTest()
const;
101 size_t pendingWorkForTest()
const;
102 size_t deferredIrqsForTest()
const;
103 size_t completedBatchesForTest()
const;
104 bool publishWorkForTest(
size_t work);
105 void rejectNextPublicationForTest();
109 static constexpr size_t MaxRegistrations = 16;
117 static void dispatchThreaded(
void* context, uint8_t line,
size_t cookie);
118 void dispatchThreaded();
120 bool publishWork(
size_t work);
123 size_t m_RegistrationCount;
133 size_t m_PendingWork;
135#if HOSTED && PEDIGREE_HOSTED_SMOKE_TESTS
136 RegistrationPublishedHook m_RegistrationPublishedHook;