Since all the files are in arch/mips/kvm/, there's no need of the prefixes "kvm_" and "kvm_mips_". Reviewed-by: James Hogan <james.hogan@imgtec.com> Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@imgtec.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
		
			
				
	
	
		
			53 lines
		
	
	
	
		
			2 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
	
		
			2 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * This file is subject to the terms and conditions of the GNU General Public
 | 
						|
 * License.  See the file "COPYING" in the main directory of this archive
 | 
						|
 * for more details.
 | 
						|
 *
 | 
						|
 * KVM/MIPS: Interrupts
 | 
						|
 * Copyright (C) 2012  MIPS Technologies, Inc.  All rights reserved.
 | 
						|
 * Authors: Sanjay Lal <sanjayl@kymasys.com>
 | 
						|
 */
 | 
						|
 | 
						|
/*
 | 
						|
 * MIPS Exception Priorities, exceptions (including interrupts) are queued up
 | 
						|
 * for the guest in the order specified by their priorities
 | 
						|
 */
 | 
						|
 | 
						|
#define MIPS_EXC_RESET              0
 | 
						|
#define MIPS_EXC_SRESET             1
 | 
						|
#define MIPS_EXC_DEBUG_ST           2
 | 
						|
#define MIPS_EXC_DEBUG              3
 | 
						|
#define MIPS_EXC_DDB                4
 | 
						|
#define MIPS_EXC_NMI                5
 | 
						|
#define MIPS_EXC_MCHK               6
 | 
						|
#define MIPS_EXC_INT_TIMER          7
 | 
						|
#define MIPS_EXC_INT_IO             8
 | 
						|
#define MIPS_EXC_EXECUTE            9
 | 
						|
#define MIPS_EXC_INT_IPI_1          10
 | 
						|
#define MIPS_EXC_INT_IPI_2          11
 | 
						|
#define MIPS_EXC_MAX                12
 | 
						|
/* XXXSL More to follow */
 | 
						|
 | 
						|
extern char mips32_exception[], mips32_exceptionEnd[];
 | 
						|
extern char mips32_GuestException[], mips32_GuestExceptionEnd[];
 | 
						|
 | 
						|
#define C_TI        (_ULCAST_(1) << 30)
 | 
						|
 | 
						|
#define KVM_MIPS_IRQ_DELIVER_ALL_AT_ONCE (0)
 | 
						|
#define KVM_MIPS_IRQ_CLEAR_ALL_AT_ONCE   (0)
 | 
						|
 | 
						|
void kvm_mips_queue_irq(struct kvm_vcpu *vcpu, uint32_t priority);
 | 
						|
void kvm_mips_dequeue_irq(struct kvm_vcpu *vcpu, uint32_t priority);
 | 
						|
int kvm_mips_pending_timer(struct kvm_vcpu *vcpu);
 | 
						|
 | 
						|
void kvm_mips_queue_timer_int_cb(struct kvm_vcpu *vcpu);
 | 
						|
void kvm_mips_dequeue_timer_int_cb(struct kvm_vcpu *vcpu);
 | 
						|
void kvm_mips_queue_io_int_cb(struct kvm_vcpu *vcpu,
 | 
						|
			      struct kvm_mips_interrupt *irq);
 | 
						|
void kvm_mips_dequeue_io_int_cb(struct kvm_vcpu *vcpu,
 | 
						|
				struct kvm_mips_interrupt *irq);
 | 
						|
int kvm_mips_irq_deliver_cb(struct kvm_vcpu *vcpu, unsigned int priority,
 | 
						|
			    uint32_t cause);
 | 
						|
int kvm_mips_irq_clear_cb(struct kvm_vcpu *vcpu, unsigned int priority,
 | 
						|
			  uint32_t cause);
 | 
						|
void kvm_mips_deliver_interrupts(struct kvm_vcpu *vcpu, uint32_t cause);
 |