1/* 2 * Copyright 2014, General Dynamics C4 Systems 3 * 4 * SPDX-License-Identifier: GPL-2.0-only 5 */ 6 7#pragma once 8 9#include <types.h> 10#include <api/failures.h> 11#include <object/structures.h> 12#include <arch/object/interrupt.h> 13#include <plat/machine.h> 14 15exception_t decodeIRQControlInvocation(word_t invLabel, word_t length, 16 cte_t *srcSlot, extra_caps_t excaps, 17 word_t *buffer); 18exception_t invokeIRQControl(irq_t irq, cte_t *handlerSlot, cte_t *controlSlot); 19exception_t decodeIRQHandlerInvocation(word_t invLabel, irq_t irq, 20 extra_caps_t excaps); 21void invokeIRQHandler_AckIRQ(irq_t irq); 22void invokeIRQHandler_SetIRQHandler(irq_t irq, cap_t cap, cte_t *slot); 23void invokeIRQHandler_ClearIRQHandler(irq_t irq); 24void deletingIRQHandler(irq_t irq); 25void deletedIRQHandler(irq_t irq); 26void handleInterrupt(irq_t irq); 27bool_t isIRQActive(irq_t irq); 28void setIRQState(irq_state_t irqState, irq_t irq); 29 30