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

[Xen-changelog] [linux-2.6.18-xen] [IA64] Sync public headers



# HG changeset patch
# User Alex Williamson <alex.williamson@xxxxxx>
# Date 1195576433 25200
# Node ID 4576e10034d64e56ffae79f36687731f6fc7d960
# Parent  ca05cf1a9bdc2c7604b95fd085fa5abe067c969a
[IA64] Sync public headers

Signed-off-by: Alex Williamson <alex.williamson@xxxxxx>
---
 include/xen/interface/arch-ia64.h          |    4 -
 include/xen/interface/arch-ia64/hvm/save.h |   90 +++++++++++++++--------------
 2 files changed, 51 insertions(+), 43 deletions(-)

diff -r ca05cf1a9bdc -r 4576e10034d6 include/xen/interface/arch-ia64.h
--- a/include/xen/interface/arch-ia64.h Fri Nov 16 16:55:46 2007 +0000
+++ b/include/xen/interface/arch-ia64.h Tue Nov 20 09:33:53 2007 -0700
@@ -674,7 +674,9 @@ DEFINE_XEN_GUEST_HANDLE(xen_ia64_debug_o
  * This is useful in guests using region 7 for identity mapping
  * like the linux kernel does.
  */
-#define XEN_IA64_OPTF_IDENT_MAP_REG7   0x1UL
+#define XEN_IA64_OPTF_IDENT_MAP_REG7_BIT       0
+#define XEN_IA64_OPTF_IDENT_MAP_REG7           \
+       (1UL << XEN_IA64_OPTF_IDENT_MAP_REG7_BIT)
 
 struct xen_ia64_opt_feature {
        unsigned long cmd;              /* Which feature */
diff -r ca05cf1a9bdc -r 4576e10034d6 include/xen/interface/arch-ia64/hvm/save.h
--- a/include/xen/interface/arch-ia64/hvm/save.h        Fri Nov 16 16:55:46 
2007 +0000
+++ b/include/xen/interface/arch-ia64/hvm/save.h        Tue Nov 20 09:33:53 
2007 -0700
@@ -74,13 +74,15 @@ struct hvm_hw_ia64_vlsapic {
     uint8_t pad[2];
 };
 DECLARE_HVM_SAVE_TYPE(VLSAPIC, 4, struct hvm_hw_ia64_vlsapic);
-// unconditionaly set v->arch.irq_new_peding = 1 
-// unconditionaly set v->arch.irq_new_condition = 0
+/* set
+ * unconditionaly set v->arch.irq_new_peding = 1 
+ * unconditionaly set v->arch.irq_new_condition = 0
+ */
 
 /*
  * vtime
  */
-// itc, itm, itv are saved by arch vcpu context
+/* itc, itm, itv are saved by arch vcpu context */
 struct hvm_hw_ia64_vtime {
     uint64_t itc;
     uint64_t itm;
@@ -89,13 +91,15 @@ struct hvm_hw_ia64_vtime {
     uint64_t pending;
 };
 DECLARE_HVM_SAVE_TYPE(VTIME, 5, struct hvm_hw_ia64_vtime);
-// calculate v->vtm.vtm_offset
-// ??? Or should vtm_offset be set by leave_hypervisor_tail()?
-// start vtm_timer if necessary by vtm_set_itm().
-// ??? Or should vtm_timer be set by leave_hypervisor_tail()?
-//
-// ??? or should be done by schedule_tail()
-//        => schedule_tail() should do.
+/*
+ * calculate v->vtm.vtm_offset
+ * ??? Or should vtm_offset be set by leave_hypervisor_tail()?
+ * start vtm_timer if necessary by vtm_set_itm().
+ * ??? Or should vtm_timer be set by leave_hypervisor_tail()?
+ *
+ * ??? or should be done by schedule_tail()
+ *        => schedule_tail() should do.
+ */
 
 /*
  * viosapic
@@ -138,49 +142,51 @@ DECLARE_HVM_SAVE_TYPE(VIOSAPIC, 6, struc
  * vacpi
  * PM timer
  */
-#if 0
-struct hvm_hw_ia64_pmtimer {
+struct vacpi_regs {
+    union {
+        struct {
+            uint32_t pm1a_sts:16;/* PM1a_EVT_BLK.PM1a_STS: status register */
+            uint32_t pm1a_en:16; /* PM1a_EVT_BLK.PM1a_EN: enable register */
+        };
+        uint32_t evt_blk;
+    };
     uint32_t tmr_val;   /* PM_TMR_BLK.TMR_VAL: 32bit free-running counter */
-    uint16_t pm1a_sts;  /* PM1a_EVT_BLK.PM1a_STS: status register */
-    uint16_t pm1a_en;   /* PM1a_EVT_BLK.PM1a_EN: enable register */
-};
-DECLARE_HVM_SAVE_TYPE(PMTIMER, 7, struct hvm_hw_ia64_pmtimer);
-#else
-struct vacpi_regs {
-       union {
-               struct {
-                       uint32_t pm1a_sts:16;
-                       uint32_t pm1a_en:16;
-               };
-               uint32_t evt_blk;
-       };
-       uint32_t tmr_val;
 };
 
 struct hvm_hw_ia64_vacpi {
     struct vacpi_regs   regs;
 };
 DECLARE_HVM_SAVE_TYPE(VACPI, 7, struct hvm_hw_ia64_vacpi);
-// update last_gtime and setup timer of struct vacpi
-#endif
-
-#if 0
-/*
- * guest os type
- * XXX Xen guest os specific optimization
- *     This isn't hvm specific so this should be addressed genericly
- *     including paravirtualized domain.
- */
-struct hvm_hw_ia64_gos {
-    uint64_t   gos_type;
-};
-DECLARE_HVM_SAVE_TYPE(GOS_TYPE, 8, struct hvm_hw_ia64_gos);
-#endif
+/* update last_gtime and setup timer of struct vacpi */
+
+/*
+ * opt_feature: identity mapping of region 4, 5 and 7.
+ * With the c/s 16396:d2935f9c217f of xen-ia64-devel.hg,
+ * opt_feature hypercall supports only region 4,5,7 identity mappings.
+ * structure hvm_hw_ia64_identity_mappings only supports them.
+ * The new structure, struct hvm_hw_ia64_identity_mappings, is created to
+ * avoid to keep up with change of the xen/ia64 internal structure, struct
+ * opt_feature.
+ *
+ * If it is enhanced in the future, new structure will be created.
+ */
+struct hvm_hw_ia64_identity_mapping {
+    uint64_t on;        /* on/off */
+    uint64_t pgprot;    /* The page protection bit mask of the pte. */
+    uint64_t key;       /* A protection key. */
+};
+
+struct hvm_hw_ia64_identity_mappings {
+    struct hvm_hw_ia64_identity_mapping im_reg4;/* Region 4 identity mapping */
+    struct hvm_hw_ia64_identity_mapping im_reg5;/* Region 5 identity mapping */
+    struct hvm_hw_ia64_identity_mapping im_reg7;/* Region 7 identity mapping */
+};
+DECLARE_HVM_SAVE_TYPE(OPT_FEATURE_IDENTITY_MAPPINGS, 8, struct 
hvm_hw_ia64_identity_mappings);
 
 /* 
  * Largest type-code in use
  */
-#define HVM_SAVE_CODE_MAX       7
+#define HVM_SAVE_CODE_MAX       8
 
 #endif /* __XEN_PUBLIC_HVM_SAVE_IA64_H__ */
 

_______________________________________________
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®.