1/* 2 * Copyright (c) 2010, ETH Zurich. 3 * All rights reserved. 4 * 5 * This file is distributed under the terms in the attached LICENSE file. 6 * If you do not find this file, copies can be found by writing to: 7 * ETH Zurich D-INFK, Universitaetstrasse 6, CH-8092 Zurich. Attn: Systems Group. 8 */ 9 10#ifndef KERNEL_ARCH_ARM_IRQ_H 11#define KERNEL_ARCH_ARM_IRQ_H 12 13/* 14 * INTIDs from exceptions to and including SPIs 15 */ 16#define NUM_INTR (1024) 17 18/// Size of hardware IRQ dispatch table == #NIDT - #NEXCEPTIONS exceptions 19#define NDISPATCH (NUM_INTR) 20 21struct capability; 22struct idc_recv_msg; 23 24errval_t irq_table_set(unsigned int nidt, capaddr_t endpoint); 25errval_t irq_table_delete(unsigned int nidt); 26errval_t irq_connect(struct capability *irq_dest, capaddr_t endpoint); 27errval_t irq_table_alloc_dest_cap(uint8_t dcn_vbits, capaddr_t dcn, 28 capaddr_t out_cap_addr, int vec_hint); 29 30struct kcb; 31errval_t irq_table_notify_domains(struct kcb *kcb); 32void send_user_interrupt(int irq); 33 34#endif // KERNEL_ARCH_ARM_IRQ_H 35