1*4b3cfe72SPavel Fedin /* 2*4b3cfe72SPavel Fedin * ARM KVM vGIC utility functions 3*4b3cfe72SPavel Fedin * 4*4b3cfe72SPavel Fedin * Copyright (c) 2015 Samsung Electronics 5*4b3cfe72SPavel Fedin * Written by Pavel Fedin 6*4b3cfe72SPavel Fedin * 7*4b3cfe72SPavel Fedin * This program is free software; you can redistribute it and/or modify 8*4b3cfe72SPavel Fedin * it under the terms of the GNU General Public License as published by 9*4b3cfe72SPavel Fedin * the Free Software Foundation, either version 2 of the License, or 10*4b3cfe72SPavel Fedin * (at your option) any later version. 11*4b3cfe72SPavel Fedin * 12*4b3cfe72SPavel Fedin * This program is distributed in the hope that it will be useful, 13*4b3cfe72SPavel Fedin * but WITHOUT ANY WARRANTY; without even the implied warranty of 14*4b3cfe72SPavel Fedin * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15*4b3cfe72SPavel Fedin * GNU General Public License for more details. 16*4b3cfe72SPavel Fedin * 17*4b3cfe72SPavel Fedin * You should have received a copy of the GNU General Public License along 18*4b3cfe72SPavel Fedin * with this program; if not, see <http://www.gnu.org/licenses/>. 19*4b3cfe72SPavel Fedin */ 20*4b3cfe72SPavel Fedin 21*4b3cfe72SPavel Fedin #ifndef QEMU_ARM_VGIC_COMMON_H 22*4b3cfe72SPavel Fedin #define QEMU_ARM_VGIC_COMMON_H 23*4b3cfe72SPavel Fedin 24*4b3cfe72SPavel Fedin /** 25*4b3cfe72SPavel Fedin * kvm_arm_gic_set_irq - Send an IRQ to the in-kernel vGIC 26*4b3cfe72SPavel Fedin * @num_irq: Total number of IRQs configured for the GIC instance 27*4b3cfe72SPavel Fedin * @irq: qemu internal IRQ line number: 28*4b3cfe72SPavel Fedin * [0..N-1] : external interrupts 29*4b3cfe72SPavel Fedin * [N..N+31] : PPI (internal) interrupts for CPU 0 30*4b3cfe72SPavel Fedin * [N+32..N+63] : PPI (internal interrupts for CPU 1 31*4b3cfe72SPavel Fedin * @level: level of the IRQ line. 32*4b3cfe72SPavel Fedin */ 33*4b3cfe72SPavel Fedin void kvm_arm_gic_set_irq(uint32_t num_irq, int irq, int level); 34*4b3cfe72SPavel Fedin 35*4b3cfe72SPavel Fedin #endif 36