ia64/linux-2.6.18-xen.hg

changeset 312:4576e10034d6

[IA64] Sync public headers

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
author Alex Williamson <alex.williamson@hp.com>
date Tue Nov 20 09:33:53 2007 -0700 (2007-11-20)
parents ca05cf1a9bdc
children 55705fbc4b0e
files include/xen/interface/arch-ia64.h include/xen/interface/arch-ia64/hvm/save.h
line diff
     1.1 --- a/include/xen/interface/arch-ia64.h	Fri Nov 16 16:55:46 2007 +0000
     1.2 +++ b/include/xen/interface/arch-ia64.h	Tue Nov 20 09:33:53 2007 -0700
     1.3 @@ -674,7 +674,9 @@ DEFINE_XEN_GUEST_HANDLE(xen_ia64_debug_o
     1.4   * This is useful in guests using region 7 for identity mapping
     1.5   * like the linux kernel does.
     1.6   */
     1.7 -#define XEN_IA64_OPTF_IDENT_MAP_REG7	0x1UL
     1.8 +#define XEN_IA64_OPTF_IDENT_MAP_REG7_BIT	0
     1.9 +#define XEN_IA64_OPTF_IDENT_MAP_REG7		\
    1.10 +	(1UL << XEN_IA64_OPTF_IDENT_MAP_REG7_BIT)
    1.11  
    1.12  struct xen_ia64_opt_feature {
    1.13  	unsigned long cmd;		/* Which feature */
     2.1 --- a/include/xen/interface/arch-ia64/hvm/save.h	Fri Nov 16 16:55:46 2007 +0000
     2.2 +++ b/include/xen/interface/arch-ia64/hvm/save.h	Tue Nov 20 09:33:53 2007 -0700
     2.3 @@ -74,13 +74,15 @@ struct hvm_hw_ia64_vlsapic {
     2.4      uint8_t pad[2];
     2.5  };
     2.6  DECLARE_HVM_SAVE_TYPE(VLSAPIC, 4, struct hvm_hw_ia64_vlsapic);
     2.7 -// unconditionaly set v->arch.irq_new_peding = 1 
     2.8 -// unconditionaly set v->arch.irq_new_condition = 0
     2.9 +/* set
    2.10 + * unconditionaly set v->arch.irq_new_peding = 1 
    2.11 + * unconditionaly set v->arch.irq_new_condition = 0
    2.12 + */
    2.13  
    2.14  /*
    2.15   * vtime
    2.16   */
    2.17 -// itc, itm, itv are saved by arch vcpu context
    2.18 +/* itc, itm, itv are saved by arch vcpu context */
    2.19  struct hvm_hw_ia64_vtime {
    2.20      uint64_t itc;
    2.21      uint64_t itm;
    2.22 @@ -89,13 +91,15 @@ struct hvm_hw_ia64_vtime {
    2.23      uint64_t pending;
    2.24  };
    2.25  DECLARE_HVM_SAVE_TYPE(VTIME, 5, struct hvm_hw_ia64_vtime);
    2.26 -// calculate v->vtm.vtm_offset
    2.27 -// ??? Or should vtm_offset be set by leave_hypervisor_tail()?
    2.28 -// start vtm_timer if necessary by vtm_set_itm().
    2.29 -// ??? Or should vtm_timer be set by leave_hypervisor_tail()?
    2.30 -//
    2.31 -// ??? or should be done by schedule_tail()
    2.32 -//        => schedule_tail() should do.
    2.33 +/*
    2.34 + * calculate v->vtm.vtm_offset
    2.35 + * ??? Or should vtm_offset be set by leave_hypervisor_tail()?
    2.36 + * start vtm_timer if necessary by vtm_set_itm().
    2.37 + * ??? Or should vtm_timer be set by leave_hypervisor_tail()?
    2.38 + *
    2.39 + * ??? or should be done by schedule_tail()
    2.40 + *        => schedule_tail() should do.
    2.41 + */
    2.42  
    2.43  /*
    2.44   * viosapic
    2.45 @@ -138,49 +142,51 @@ DECLARE_HVM_SAVE_TYPE(VIOSAPIC, 6, struc
    2.46   * vacpi
    2.47   * PM timer
    2.48   */
    2.49 -#if 0
    2.50 -struct hvm_hw_ia64_pmtimer {
    2.51 +struct vacpi_regs {
    2.52 +    union {
    2.53 +        struct {
    2.54 +            uint32_t pm1a_sts:16;/* PM1a_EVT_BLK.PM1a_STS: status register */
    2.55 +            uint32_t pm1a_en:16; /* PM1a_EVT_BLK.PM1a_EN: enable register */
    2.56 +        };
    2.57 +        uint32_t evt_blk;
    2.58 +    };
    2.59      uint32_t tmr_val;   /* PM_TMR_BLK.TMR_VAL: 32bit free-running counter */
    2.60 -    uint16_t pm1a_sts;  /* PM1a_EVT_BLK.PM1a_STS: status register */
    2.61 -    uint16_t pm1a_en;   /* PM1a_EVT_BLK.PM1a_EN: enable register */
    2.62 -};
    2.63 -DECLARE_HVM_SAVE_TYPE(PMTIMER, 7, struct hvm_hw_ia64_pmtimer);
    2.64 -#else
    2.65 -struct vacpi_regs {
    2.66 -	union {
    2.67 -		struct {
    2.68 -			uint32_t pm1a_sts:16;
    2.69 -			uint32_t pm1a_en:16;
    2.70 -		};
    2.71 -		uint32_t evt_blk;
    2.72 -	};
    2.73 -	uint32_t tmr_val;
    2.74  };
    2.75  
    2.76  struct hvm_hw_ia64_vacpi {
    2.77      struct vacpi_regs   regs;
    2.78  };
    2.79  DECLARE_HVM_SAVE_TYPE(VACPI, 7, struct hvm_hw_ia64_vacpi);
    2.80 -// update last_gtime and setup timer of struct vacpi
    2.81 -#endif
    2.82 +/* update last_gtime and setup timer of struct vacpi */
    2.83  
    2.84 -#if 0
    2.85  /*
    2.86 - * guest os type
    2.87 - * XXX Xen guest os specific optimization
    2.88 - *     This isn't hvm specific so this should be addressed genericly
    2.89 - *     including paravirtualized domain.
    2.90 + * opt_feature: identity mapping of region 4, 5 and 7.
    2.91 + * With the c/s 16396:d2935f9c217f of xen-ia64-devel.hg,
    2.92 + * opt_feature hypercall supports only region 4,5,7 identity mappings.
    2.93 + * structure hvm_hw_ia64_identity_mappings only supports them.
    2.94 + * The new structure, struct hvm_hw_ia64_identity_mappings, is created to
    2.95 + * avoid to keep up with change of the xen/ia64 internal structure, struct
    2.96 + * opt_feature.
    2.97 + *
    2.98 + * If it is enhanced in the future, new structure will be created.
    2.99   */
   2.100 -struct hvm_hw_ia64_gos {
   2.101 -    uint64_t	gos_type;
   2.102 +struct hvm_hw_ia64_identity_mapping {
   2.103 +    uint64_t on;        /* on/off */
   2.104 +    uint64_t pgprot;    /* The page protection bit mask of the pte. */
   2.105 +    uint64_t key;       /* A protection key. */
   2.106  };
   2.107 -DECLARE_HVM_SAVE_TYPE(GOS_TYPE, 8, struct hvm_hw_ia64_gos);
   2.108 -#endif
   2.109 +
   2.110 +struct hvm_hw_ia64_identity_mappings {
   2.111 +    struct hvm_hw_ia64_identity_mapping im_reg4;/* Region 4 identity mapping */
   2.112 +    struct hvm_hw_ia64_identity_mapping im_reg5;/* Region 5 identity mapping */
   2.113 +    struct hvm_hw_ia64_identity_mapping im_reg7;/* Region 7 identity mapping */
   2.114 +};
   2.115 +DECLARE_HVM_SAVE_TYPE(OPT_FEATURE_IDENTITY_MAPPINGS, 8, struct hvm_hw_ia64_identity_mappings);
   2.116  
   2.117  /* 
   2.118   * Largest type-code in use
   2.119   */
   2.120 -#define HVM_SAVE_CODE_MAX       7
   2.121 +#define HVM_SAVE_CODE_MAX       8
   2.122  
   2.123  #endif /* __XEN_PUBLIC_HVM_SAVE_IA64_H__ */
   2.124