mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-14 10:26:45 +07:00
bdb7ed8608
Convert the MIPS kvm_host.h structs, function declaration prototypes and associated definition prototypes to use standard kernel sized types (e.g. u32) instead of inttypes.h style ones (e.g. uint32_t). Signed-off-by: James Hogan <james.hogan@imgtec.com> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Radim Krčmář <rkrcmar@redhat.com> Cc: linux-mips@linux-mips.org Cc: kvm@vger.kernel.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
55 lines
2.0 KiB
C
55 lines
2.0 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 __kvm_mips_vcpu_run_end[];
|
|
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, unsigned int priority);
|
|
void kvm_mips_dequeue_irq(struct kvm_vcpu *vcpu, unsigned int 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,
|
|
u32 cause);
|
|
int kvm_mips_irq_clear_cb(struct kvm_vcpu *vcpu, unsigned int priority,
|
|
u32 cause);
|
|
void kvm_mips_deliver_interrupts(struct kvm_vcpu *vcpu, u32 cause);
|