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

[Xen-changelog] Backout incautious public/io header changes



# HG changeset patch
# User djm@xxxxxxxxxxxxxxx
# Node ID ff7c5a791ed58fbd9f5fd2db12b5a1b58fd11c4c
# Parent  42cab872427382e7e708c4a151d8da698a519a4f
Backout incautious public/io header changes

diff -r 42cab8724273 -r ff7c5a791ed5 xen/Rules.mk
--- a/xen/Rules.mk      Sat Oct 15 03:09:43 2005
+++ b/xen/Rules.mk      Fri Oct 21 19:58:39 2005
@@ -47,7 +47,6 @@
 
 include $(BASEDIR)/arch/$(TARGET_ARCH)/Rules.mk
 
-CFLAGS += -D__HYPERVISOR__
 ifneq ($(debug),y)
 CFLAGS += -DNDEBUG
 ifeq ($(verbose),y)
diff -r 42cab8724273 -r ff7c5a791ed5 xen/arch/ia64/Rules.mk
--- a/xen/arch/ia64/Rules.mk    Sat Oct 15 03:09:43 2005
+++ b/xen/arch/ia64/Rules.mk    Fri Oct 21 19:58:39 2005
@@ -24,7 +24,7 @@
           -I$(BASEDIR)/include/asm-ia64/linux-null                     \
            -I$(BASEDIR)/arch/ia64/linux -I$(BASEDIR)/arch/ia64/linux-xen
 CFLAGS  += -Wno-pointer-arith -Wredundant-decls
-CFLAGS  += -DIA64 -DXEN -DLINUX_2_6 -DV_IOSAPIC_READY
+CFLAGS  += -DIA64 -DXEN -DLINUX_2_6
 CFLAGS += -ffixed-r13 -mfixed-range=f12-f15,f32-f127
 CFLAGS += -w -g
 ifeq ($(VALIDATE_VT),y)
diff -r 42cab8724273 -r ff7c5a791ed5 xen/include/public/io/ioreq.h
--- a/xen/include/public/io/ioreq.h     Sat Oct 15 03:09:43 2005
+++ b/xen/include/public/io/ioreq.h     Fri Oct 21 19:58:39 2005
@@ -29,18 +29,11 @@
 #define STATE_IORESP_READY      3
 #define STATE_IORESP_HOOK       4
 
-#define IOREQ_TYPE_PIO         0       /* pio */
-#define IOREQ_TYPE_COPY                1       /* mmio ops */
-#define IOREQ_TYPE_AND         2
-#define IOREQ_TYPE_OR          3
-#define IOREQ_TYPE_XOR         4
-
-#ifdef __HYPERVISOR__
-#include <public/io/vmx_vlapic.h>
-#else
-#include <xen/io/vmx_vlapic.h>
-#endif
-
+#define IOREQ_TYPE_PIO  0 /* pio */
+#define IOREQ_TYPE_COPY  1 /* mmio ops */
+#define IOREQ_TYPE_AND  2
+#define IOREQ_TYPE_OR  3
+#define IOREQ_TYPE_XOR  4
 
 /*
  * VMExit dispatcher should cooperate with instruction decoder to
@@ -48,35 +41,48 @@
  * virq 
  */
 typedef struct {
-    u64     addr;               /*  physical address            */
-    u64     size;               /*  size in bytes               */
-    u64     count;             /*  for rep prefixes            */
+    uint64_t addr;   /*  physical address            */
+    uint64_t size;   /*  size in bytes               */
+    uint64_t count;  /*  for rep prefixes            */
     union {
-        u64     data;           /*  data                        */
-        void    *pdata;         /*  pointer to data             */
+        uint64_t data;           /*  data                        */
+        void    *pdata;          /*  pointer to data             */
     } u;
-    u8      state:4;
-    u8      pdata_valid:1;     /* if 1, use pdata above        */
-    u8      dir:1;             /*  1=read, 0=write             */
-    u8      df:1;
-    u8      type;              /* I/O type                     */
+    uint8_t state:4;
+    uint8_t pdata_valid:1; /* if 1, use pdata above  */
+    uint8_t dir:1;   /*  1=read, 0=write             */
+    uint8_t df:1;
+    uint8_t type;    /* I/O type                     */
 } ioreq_t;
 
+#define MAX_VECTOR    256
+#define BITS_PER_BYTE   8
+#define INTR_LEN        (MAX_VECTOR/(BITS_PER_BYTE * sizeof(uint64_t)))
+
 typedef struct {
-    u64   pic_intr[INTR_LEN];
-    u64   pic_mask[INTR_LEN];
-    int     eport; /* Event channel port */
+    uint64_t pic_intr[INTR_LEN];
+    uint64_t pic_mask[INTR_LEN];
+    int      eport; /* Event channel port */
 } global_iodata_t;
 
 typedef struct {
-    ioreq_t         vp_ioreq;
-    vl_apic_info    apic_intr;
+    ioreq_t       vp_ioreq;
+    unsigned long vp_intr[INTR_LEN];
 } vcpu_iodata_t;
 
 typedef struct {
-    int vcpu_number;
-    global_iodata_t     sp_global;
-    vcpu_iodata_t       vcpu_iodata[1];
+    global_iodata_t sp_global;
+    vcpu_iodata_t   vcpu_iodata[1];
 } shared_iopage_t;
 
 #endif /* _IOREQ_H_ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff -r 42cab8724273 -r ff7c5a791ed5 xen/include/public/io/vmx_vlapic.h
--- a/xen/include/public/io/vmx_vlapic.h        Sat Oct 15 03:09:43 2005
+++ b/xen/include/public/io/vmx_vlapic.h        Fri Oct 21 19:58:39 2005
@@ -1,29 +1,67 @@
 #ifndef _VMX_VLAPIC_H
 #define _VMX_VLAPIC_H
 
+/*
+   We extended one bit for PIC type
+ */
 #define VLAPIC_DELIV_MODE_FIXED          0x0
 #define VLAPIC_DELIV_MODE_LPRI           0x1
 #define VLAPIC_DELIV_MODE_SMI            0x2
-#define VLAPIC_DELIV_MODE_PMI            0x2
 #define VLAPIC_DELIV_MODE_NMI            0x4
 #define VLAPIC_DELIV_MODE_INIT           0x5
 #define VLAPIC_DELIV_MODE_STARTUP        0x6
 #define VLAPIC_DELIV_MODE_EXT            0x7
 #define VLAPIC_DELIV_MODE_MASK            0x8
 
-#define MAX_VECTOR    256
-#define BITS_PER_BYTE   8
-#define INTR_LEN        (MAX_VECTOR/(BITS_PER_BYTE * sizeof(u64)))
-#define INTR_LEN_32        (MAX_VECTOR/(BITS_PER_BYTE * sizeof(u32)))
+#define VLAPIC_MSG_LEVEL                4
+
+#define INTR_EXT   0
+#define INTR_APIC   1
+#define INTR_LAPIC  2
+
+#define VL_STATE_EOI    1
+#define VL_STATE_EXT_LOCK   2
+#define VL_STATE_MSG_LOCK   3
+#define VL_STATE_EOI_LOCK   3
+
+#define VLOCAL_APIC_MAX_INTS             256
+#define VLAPIC_INT_COUNT                (VLOCAL_APIC_MAX_INTS/(BITS_PER_BYTE * 
sizeof(uint64_t)))
+#define VLAPIC_INT_COUNT_32             (VLOCAL_APIC_MAX_INTS/(BITS_PER_BYTE * 
sizeof(uint32_t)))
+
+struct vapic_bus_message{
+   uint8_t   deliv_mode:4;   /* deliver mode, including fixed, LPRI, etc */
+   uint8_t   level:1;        /* level or edge */
+   uint8_t   trig_mod:1;    /* assert or disassert */
+   uint8_t   reserved:2;
+   uint8_t   vector;
+};
 
 typedef struct {
-    u32   vl_lapic_id;
-    u32   vl_apr;
-    u32   vl_logical_dest;
-    u32   vl_dest_format;
-    u32   vl_arb_id;
-    u64   irr[INTR_LEN];
-    u64   tmr[INTR_LEN];
-}vl_apic_info;
+    /* interrupt for PIC and ext type IOAPIC interrupt */
+    uint64_t   vl_ext_intr[VLAPIC_INT_COUNT];
+    uint64_t   vl_ext_intr_mask[VLAPIC_INT_COUNT];
+    uint64_t   vl_apic_intr[VLAPIC_INT_COUNT];
+    uint64_t   vl_apic_tmr[VLAPIC_INT_COUNT];
+    uint64_t   vl_eoi[VLAPIC_INT_COUNT];
+    uint32_t   vl_lapic_id;
+    uint32_t   direct_intr;
+    uint32_t   vl_apr;
+    uint32_t   vl_logical_dest;
+    uint32_t   vl_dest_format;
+    uint32_t   vl_arb_id;
+    uint32_t   vl_state;
+    uint32_t   apic_msg_count;
+    struct vapic_bus_message  vl_apic_msg[24];
+} vlapic_info;
 
 #endif /* _VMX_VLAPIC_H_ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.