repository: /home/avi/kvm
branch: master
commit 6b5b8aa4fa27bd4ba05476b8b98c8b2dff95a681
Author: Avi Kivity <[EMAIL PROTECTED]>
Date:   Thu Nov 22 13:22:00 2007 +0200

    kvm: external module: fix desc_defs.h compile issues on older kernels
    
    Signed-off-by: Avi Kivity <[EMAIL PROTECTED]>

diff --git a/kernel/Makefile b/kernel/Makefile
index 0c8f34f..3de4bf5 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -34,6 +34,7 @@ sync:
        $(call hack, vmx.c)
        $(call hack, svm.c)
        $(call hack, x86.c)
+       $(call hack, x86.h)
 
 install:
        mkdir -p $(DESTDIR)/$(INSTALLDIR)
diff --git a/kernel/external-module-compat.h b/kernel/external-module-compat.h
index 5a5bdac..ec49e8b 100644
--- a/kernel/external-module-compat.h
+++ b/kernel/external-module-compat.h
@@ -5,13 +5,13 @@
 
 /* use own set of desc_struct, desc_ptr */
 
+#include <asm/desc.h>
+
 #define desc_struct kvm_desc_struct
 #define desc_ptr kvm_desc_ptr
+#define ldttss_desc kvm_ldttss_struct
 
-#include <asm/desc_defs.h>
-
-#undef desc_struct
-#undef desc_ptr
+#include <asm/kvm_desc_defs.h>
 
 /*
  * Avoid picking up the kernel's kvm.h in case we have a newer one.
diff --git a/kernel/hack-module.awk b/kernel/hack-module.awk
index bac93e1..ba25794 100644
--- a/kernel/hack-module.awk
+++ b/kernel/hack-module.awk
@@ -61,6 +61,8 @@
 
 /atomic_inc\(&kvm->mm->mm_count\);/ { $0 = "//" $0 }
 
+/asm\/desc_defs.h/ { $0 = "#include <asm/kvm_desc_defs.h>" }
+
 { print }
 
 /kvm_x86_ops->run/ {
diff --git a/kernel/include/asm/desc_defs.h b/kernel/include/asm/desc_defs.h
deleted file mode 100644
index 0890040..0000000
--- a/kernel/include/asm/desc_defs.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Written 2000 by Andi Kleen */
-#ifndef __ARCH_DESC_DEFS_H
-#define __ARCH_DESC_DEFS_H
-
-/*
- * Segment descriptor structure definitions, usable from both x86_64 and i386
- * archs.
- */
-
-#ifndef __ASSEMBLY__
-
-#include <linux/types.h>
-
-// 8 byte segment descriptor
-struct desc_struct {
-       u16 limit0;
-       u16 base0;
-       unsigned base1 : 8, type : 4, s : 1, dpl : 2, p : 1;
-       unsigned limit : 4, avl : 1, l : 1, d : 1, g : 1, base2 : 8;
-} __attribute__((packed));
-
-struct n_desc_struct {
-       unsigned int a,b;
-};
-
-enum {
-       GATE_INTERRUPT = 0xE,
-       GATE_TRAP = 0xF,
-       GATE_CALL = 0xC,
-};
-
-// 16byte gate
-struct gate_struct {
-       u16 offset_low;
-       u16 segment;
-       unsigned ist : 3, zero0 : 5, type : 5, dpl : 2, p : 1;
-       u16 offset_middle;
-       u32 offset_high;
-       u32 zero1;
-} __attribute__((packed));
-
-#define PTR_LOW(x) ((unsigned long)(x) & 0xFFFF)
-#define PTR_MIDDLE(x) (((unsigned long)(x) >> 16) & 0xFFFF)
-#define PTR_HIGH(x) ((unsigned long)(x) >> 32)
-
-enum {
-       DESC_TSS = 0x9,
-       DESC_LDT = 0x2,
-};
-
-// LDT or TSS descriptor in the GDT. 16 bytes.
-struct ldttss_desc {
-       u16 limit0;
-       u16 base0;
-       unsigned base1 : 8, type : 5, dpl : 2, p : 1;
-       unsigned limit1 : 4, zero0 : 3, g : 1, base2 : 8;
-       u32 base3;
-       u32 zero1;
-} __attribute__((packed));
-
-struct desc_ptr {
-       unsigned short size;
-       unsigned long address;
-} __attribute__((packed)) ;
-
-
-#endif /* !__ASSEMBLY__ */
-
-#endif
diff --git a/kernel/include/asm/kvm_desc_defs.h 
b/kernel/include/asm/kvm_desc_defs.h
new file mode 100644
index 0000000..d847f47
--- /dev/null
+++ b/kernel/include/asm/kvm_desc_defs.h
@@ -0,0 +1,40 @@
+/* Written 2000 by Andi Kleen */
+#ifndef __KVM_ARCH_DESC_DEFS_H
+#define __KVM_ARCH_DESC_DEFS_H
+
+/*
+ * Segment descriptor structure definitions, usable from both x86_64 and i386
+ * archs.
+ */
+
+#ifndef __ASSEMBLY__
+
+#include <linux/types.h>
+
+// 8 byte segment descriptor
+struct desc_struct {
+       u16 limit0;
+       u16 base0;
+       unsigned base1 : 8, type : 4, s : 1, dpl : 2, p : 1;
+       unsigned limit : 4, avl : 1, l : 1, d : 1, g : 1, base2 : 8;
+} __attribute__((packed));
+
+// LDT or TSS descriptor in the GDT. 16 bytes.
+struct ldttss_desc {
+       u16 limit0;
+       u16 base0;
+       unsigned base1 : 8, type : 5, dpl : 2, p : 1;
+       unsigned limit1 : 4, zero0 : 3, g : 1, base2 : 8;
+       u32 base3;
+       u32 zero1;
+} __attribute__((packed));
+
+struct desc_ptr {
+       unsigned short size;
+       unsigned long address;
+} __attribute__((packed)) ;
+
+
+#endif /* !__ASSEMBLY__ */
+
+#endif

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
kvm-commits mailing list
kvm-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-commits

Reply via email to