[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [IA64] Use key in optimzation feature
# HG changeset patch # User Alex Williamson <alex.williamson@xxxxxx> # Date 1185833417 21600 # Node ID 85c2f2d754ef2a0f557470ff19518e1cf06310b5 # Parent 522a1932111f225bf4ab05d9260fc1f49160b0de [IA64] Use key in optimzation feature Added IA64_INST_KEY_MISS_VECTOR and IA64_DATA_KEY_MISS_VECTOR to ia64_handle_reflection. Added using the key in handling XEN_IA64_OPTF_IDENT_MAP_REG7 in PV. Signed-off-by: Dietmar Hahn <dietmar.hahn@xxxxxxxxxxxxxxxxxxx> --- xen/arch/ia64/xen/faults.c | 6 ++++++ xen/arch/ia64/xen/vcpu.c | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff -r 522a1932111f -r 85c2f2d754ef xen/arch/ia64/xen/faults.c --- a/xen/arch/ia64/xen/faults.c Mon Jul 30 16:07:11 2007 -0600 +++ b/xen/arch/ia64/xen/faults.c Mon Jul 30 16:10:17 2007 -0600 @@ -572,6 +572,12 @@ ia64_handle_reflection(unsigned long ifa BUG_ON(!(psr & IA64_PSR_CPL)); switch (vector) { + case 6: + vector = IA64_INST_KEY_MISS_VECTOR; + break; + case 7: + vector = IA64_DATA_KEY_MISS_VECTOR; + break; case 8: vector = IA64_DIRTY_BIT_VECTOR; break; diff -r 522a1932111f -r 85c2f2d754ef xen/arch/ia64/xen/vcpu.c --- a/xen/arch/ia64/xen/vcpu.c Mon Jul 30 16:07:11 2007 -0600 +++ b/xen/arch/ia64/xen/vcpu.c Mon Jul 30 16:10:17 2007 -0600 @@ -1623,7 +1623,7 @@ IA64FAULT vcpu_translate(VCPU * vcpu, u6 u64 * pteval, u64 * itir, u64 * iha) { unsigned long region = address >> 61; - unsigned long pta, rid, rr; + unsigned long pta, rid, rr, key = 0; union pte_flags pte; TR_ENTRY *trp; @@ -1716,6 +1716,7 @@ IA64FAULT vcpu_translate(VCPU * vcpu, u6 region == 7 && ia64_psr(regs)->cpl == CONFIG_CPL0_EMUL) { pte.val = address & _PAGE_PPN_MASK; pte.val = pte.val | optf->im_reg7.pgprot; + key = optf->im_reg7.key; goto out; } return is_data ? IA64_ALT_DATA_TLB_VECTOR : @@ -1741,7 +1742,7 @@ IA64FAULT vcpu_translate(VCPU * vcpu, u6 /* found mapping in guest VHPT! */ out: - *itir = rr & RR_PS_MASK; + *itir = (rr & RR_PS_MASK) | (key << IA64_ITIR_KEY); *pteval = pte.val; perfc_incr(vhpt_translate); return IA64_NO_FAULT; _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |