]> xenbits.xensource.com Git - xenclient/kernel.git/commitdiff
[IA64] Sync public headers
authorAlex Williamson <alex.williamson@hp.com>
Tue, 20 Nov 2007 16:33:53 +0000 (09:33 -0700)
committerAlex Williamson <alex.williamson@hp.com>
Tue, 20 Nov 2007 16:33:53 +0000 (09:33 -0700)
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
1  2 
include/xen/interface/arch-ia64.h
include/xen/interface/arch-ia64/hvm/save.h

index d197a79bfa8422548d49da4479e265899afd8c16,d197a79bfa8422548d49da4479e265899afd8c16..0895dd0eff39ba822e79b1878c5276a586d439a0
@@@ -674,7 -674,7 +674,9 @@@ DEFINE_XEN_GUEST_HANDLE(xen_ia64_debug_
   * 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 */
index e6d08a19046639903909b21001c5b47872d5a963,e6d08a19046639903909b21001c5b47872d5a963..a2650b591692184d7c48fc8f7be67038fe0929c3
@@@ -74,13 -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;
      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 -138,49 +142,51 @@@ DECLARE_HVM_SAVE_TYPE(VIOSAPIC, 6, stru
   * vacpi
   * PM timer
   */
--#if 0
--struct hvm_hw_ia64_pmtimer {
--    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;
++    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 */
  };
  
  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
++/* update last_gtime and setup timer of struct vacpi */
  
--#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.
++ * 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_gos {
--    uint64_t  gos_type;
++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(GOS_TYPE, 8, struct hvm_hw_ia64_gos);
--#endif
++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__ */