|
@@ -42,6 +42,7 @@ struct kvm_kpic_state {
|
|
|
u8 irr; /* interrupt request register */
|
|
u8 irr; /* interrupt request register */
|
|
|
u8 imr; /* interrupt mask register */
|
|
u8 imr; /* interrupt mask register */
|
|
|
u8 isr; /* interrupt service register */
|
|
u8 isr; /* interrupt service register */
|
|
|
|
|
+ u8 isr_ack; /* interrupt ack detection */
|
|
|
u8 priority_add; /* highest irq priority */
|
|
u8 priority_add; /* highest irq priority */
|
|
|
u8 irq_base;
|
|
u8 irq_base;
|
|
|
u8 read_reg_select;
|
|
u8 read_reg_select;
|
|
@@ -70,6 +71,7 @@ struct kvm_pic *kvm_create_pic(struct kvm *kvm);
|
|
|
void kvm_pic_set_irq(void *opaque, int irq, int level);
|
|
void kvm_pic_set_irq(void *opaque, int irq, int level);
|
|
|
int kvm_pic_read_irq(struct kvm *kvm);
|
|
int kvm_pic_read_irq(struct kvm *kvm);
|
|
|
void kvm_pic_update_irq(struct kvm_pic *s);
|
|
void kvm_pic_update_irq(struct kvm_pic *s);
|
|
|
|
|
+void kvm_pic_clear_isr_ack(struct kvm *kvm);
|
|
|
|
|
|
|
|
static inline struct kvm_pic *pic_irqchip(struct kvm *kvm)
|
|
static inline struct kvm_pic *pic_irqchip(struct kvm *kvm)
|
|
|
{
|
|
{
|