[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |