Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 80802
b: refs/heads/master
c: 0c7ac28
h: refs/heads/master
v: v3
  • Loading branch information
Zhang Xiantao authored and Avi Kivity committed Jan 30, 2008
1 parent e4111f7 commit 734da75
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 9 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 8be5453f95933340a42c6e7fc7b66f3bb786fddd
refs/heads/master: 0c7ac28d3dd27d718493aae4bbc7de89a2d9d386
13 changes: 5 additions & 8 deletions trunk/drivers/kvm/ioapic.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,8 @@
#include <linux/hrtimer.h>
#include <linux/io.h>
#include <asm/processor.h>
#include <asm/msr.h>
#include <asm/page.h>
#include <asm/current.h>
#include <asm/apicdef.h>
#include <asm/io_apic.h>
#include "irq.h"
#if 0
#define ioapic_debug(fmt,arg...) printk(KERN_WARNING fmt,##arg)
Expand Down Expand Up @@ -142,8 +139,8 @@ static void ioapic_inj_irq(struct kvm_ioapic *ioapic,
ioapic_debug("irq %d trig %d deliv %d\n", vector, trig_mode,
delivery_mode);

ASSERT((delivery_mode == dest_Fixed) ||
(delivery_mode == dest_LowestPrio));
ASSERT((delivery_mode == IOAPIC_FIXED) ||
(delivery_mode == IOAPIC_LOWEST_PRIORITY));

kvm_apic_set_irq(vcpu, vector, trig_mode);
}
Expand Down Expand Up @@ -210,7 +207,7 @@ static void ioapic_deliver(struct kvm_ioapic *ioapic, int irq)
}

switch (delivery_mode) {
case dest_LowestPrio:
case IOAPIC_LOWEST_PRIORITY:
vcpu = kvm_get_lowest_prio_vcpu(ioapic->kvm, vector,
deliver_bitmask);
if (vcpu != NULL)
Expand All @@ -219,9 +216,9 @@ static void ioapic_deliver(struct kvm_ioapic *ioapic, int irq)
else
ioapic_debug("null lowest prio vcpu: "
"mask=%x vector=%x delivery_mode=%x\n",
deliver_bitmask, vector, dest_LowestPrio);
deliver_bitmask, vector, IOAPIC_LOWEST_PRIORITY);
break;
case dest_Fixed:
case IOAPIC_FIXED:
for (vcpu_id = 0; deliver_bitmask != 0; vcpu_id++) {
if (!(deliver_bitmask & (1 << vcpu_id)))
continue;
Expand Down
8 changes: 8 additions & 0 deletions trunk/drivers/kvm/irq.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,14 @@ void kvm_pic_update_irq(struct kvm_pic *s);
#define IOAPIC_REG_VERSION 0x01
#define IOAPIC_REG_ARB_ID 0x02 /* x86 IOAPIC only */

/*ioapic delivery mode*/
#define IOAPIC_FIXED 0x0
#define IOAPIC_LOWEST_PRIORITY 0x1
#define IOAPIC_PMI 0x2
#define IOAPIC_NMI 0x4
#define IOAPIC_INIT 0x5
#define IOAPIC_EXTINT 0x7

struct kvm_ioapic {
u64 base_address;
u32 ioregsel;
Expand Down

0 comments on commit 734da75

Please sign in to comment.