Back to home page

OSCL-LXR

 
 

    


0001 /*
0002  * This file is subject to the terms and conditions of the GNU General Public
0003  * License.  See the file "COPYING" in the main directory of this archive
0004  * for more details.
0005  *
0006  * KVM/MIPS: Interrupts
0007  * Copyright (C) 2012  MIPS Technologies, Inc.  All rights reserved.
0008  * Authors: Sanjay Lal <sanjayl@kymasys.com>
0009  */
0010 
0011 /*
0012  * MIPS Exception Priorities, exceptions (including interrupts) are queued up
0013  * for the guest in the order specified by their priorities
0014  */
0015 
0016 #define MIPS_EXC_RESET              0
0017 #define MIPS_EXC_SRESET             1
0018 #define MIPS_EXC_DEBUG_ST           2
0019 #define MIPS_EXC_DEBUG              3
0020 #define MIPS_EXC_DDB                4
0021 #define MIPS_EXC_NMI                5
0022 #define MIPS_EXC_MCHK               6
0023 #define MIPS_EXC_INT_TIMER          7
0024 #define MIPS_EXC_INT_IO_1           8
0025 #define MIPS_EXC_INT_IO_2           9
0026 #define MIPS_EXC_EXECUTE            10
0027 #define MIPS_EXC_INT_IPI_1          11
0028 #define MIPS_EXC_INT_IPI_2          12
0029 #define MIPS_EXC_MAX                13
0030 /* XXXSL More to follow */
0031 
0032 #define C_TI        (_ULCAST_(1) << 30)
0033 
0034 extern u32 *kvm_priority_to_irq;
0035 u32 kvm_irq_to_priority(u32 irq);
0036 
0037 int kvm_mips_pending_timer(struct kvm_vcpu *vcpu);
0038 
0039 void kvm_mips_deliver_interrupts(struct kvm_vcpu *vcpu, u32 cause);