WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] [IA64] Use key in optimzation feature

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] [IA64] Use key in optimzation feature
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 07 Sep 2007 09:12:47 -0700
Delivery-date: Fri, 07 Sep 2007 09:16:27 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# 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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] [IA64] Use key in optimzation feature, Xen patchbot-unstable <=