RE: [PATCH] kvm : qemu : fix compilation error in kvm-userspace for ia64

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi
	please drop the previous patch. This is the modifide patch.
thanks

>From 4cdda47ee9d1fb19697eed36b82c1d8d614a2d4e Mon Sep 17 00:00:00 2001
From: Yang Zhang <yang.zhang@xxxxxxxxx>
Date: Mon, 2 Mar 2009 22:56:08 -0500
Subject: [PATCH] kvm : qemu : fix compilation error in kvm-userspace for ia64

when using make in kernel, it can not find msidef.h. This patch
fix this. And IA64 does not need apic_set_irq_delivered().

Signed-off-by: Yang Zhang <yang.zhang@xxxxxxxxx>
---
 kernel/include-compat/asm-ia64/msidef.h |   42 +++++++++++++++++++++++++++++++
 qemu/hw/i8259.c                         |    2 +
 qemu/hw/ipf.c                           |    2 +-
 3 files changed, 45 insertions(+), 1 deletions(-)
 create mode 100644 kernel/include-compat/asm-ia64/msidef.h

diff --git a/kernel/include-compat/asm-ia64/msidef.h b/kernel/include-compat/asm-ia64/msidef.h
new file mode 100644
index 0000000..592c104
--- /dev/null
+++ b/kernel/include-compat/asm-ia64/msidef.h
@@ -0,0 +1,42 @@
+#ifndef _IA64_MSI_DEF_H
+#define _IA64_MSI_DEF_H
+
+/*
+ * Shifts for APIC-based data
+ */
+
+#define     MSI_DATA_VECTOR_SHIFT	0
+#define	    MSI_DATA_VECTOR(v)		(((u8)v) << MSI_DATA_VECTOR_SHIFT)
+#define     MSI_DATA_VECTOR_MASK	0xffffff00
+
+#define     MSI_DATA_DELIVERY_MODE_SHIFT	8
+#define     MSI_DATA_DELIVERY_FIXED	(0 << MSI_DATA_DELIVERY_MODE_SHIFT)
+#define     MSI_DATA_DELIVERY_LOWPRI	(1 << MSI_DATA_DELIVERY_MODE_SHIFT)
+
+#define     MSI_DATA_LEVEL_SHIFT	14
+#define     MSI_DATA_LEVEL_DEASSERT	(0 << MSI_DATA_LEVEL_SHIFT)
+#define     MSI_DATA_LEVEL_ASSERT	(1 << MSI_DATA_LEVEL_SHIFT)
+
+#define     MSI_DATA_TRIGGER_SHIFT	15
+#define     MSI_DATA_TRIGGER_EDGE	(0 << MSI_DATA_TRIGGER_SHIFT)
+#define     MSI_DATA_TRIGGER_LEVEL	(1 << MSI_DATA_TRIGGER_SHIFT)
+
+/*
+ * Shift/mask fields for APIC-based bus address
+ */
+
+#define     MSI_ADDR_DEST_ID_SHIFT	4
+#define     MSI_ADDR_HEADER		0xfee00000
+
+#define     MSI_ADDR_DEST_ID_MASK	0xfff0000f
+#define     MSI_ADDR_DEST_ID_CPU(cpu)	((cpu) << MSI_ADDR_DEST_ID_SHIFT)
+
+#define     MSI_ADDR_DEST_MODE_SHIFT	2
+#define     MSI_ADDR_DEST_MODE_PHYS	(0 << MSI_ADDR_DEST_MODE_SHIFT)
+#define	    MSI_ADDR_DEST_MODE_LOGIC	(1 << MSI_ADDR_DEST_MODE_SHIFT)
+
+#define     MSI_ADDR_REDIRECTION_SHIFT	3
+#define     MSI_ADDR_REDIRECTION_CPU	(0 << MSI_ADDR_REDIRECTION_SHIFT)
+#define     MSI_ADDR_REDIRECTION_LOWPRI	(1 << MSI_ADDR_REDIRECTION_SHIFT)
+
+#endif/* _IA64_MSI_DEF_H */
diff --git a/qemu/hw/i8259.c b/qemu/hw/i8259.c
index 9cb3941..025f993 100644
--- a/qemu/hw/i8259.c
+++ b/qemu/hw/i8259.c
@@ -189,8 +189,10 @@ static void i8259_set_irq(void *opaque, int irq, int level)
     if (kvm_enabled()) {
         int pic_ret;
         if (kvm_set_irq(irq, level, &pic_ret)) {
+#ifndef TARGET_IA64
             if (pic_ret != 0)
                 apic_set_irq_delivered();
+#endif
             return;
         }
     }
diff --git a/qemu/hw/ipf.c b/qemu/hw/ipf.c
index eb9aaec..73dac18 100644
--- a/qemu/hw/ipf.c
+++ b/qemu/hw/ipf.c
@@ -701,7 +701,7 @@ void ioapic_set_irq(void *opaque, int irq_num, int level)
         ioapic_irq_count[vector] -= 1;
 
     if (kvm_enabled()) {
-	if (kvm_set_irq(vector, ioapic_irq_count[vector] == 0))
+	if (kvm_set_irq(vector, ioapic_irq_count[vector] == 0, NULL))
 	    return;
     }
 }
-- 
1.6.0.rc1

Attachment: 0001-kvm-qemu-fix-compilation-error-in-kvm-userspace.patch
Description: 0001-kvm-qemu-fix-compilation-error-in-kvm-userspace.patch


[Index of Archives]     [Linux KVM Devel]     [Linux Virtualization]     [Big List of Linux Books]     [Linux SCSI]     [Yosemite Forum]

  Powered by Linux