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] Create vpsr_pp in privregs instead

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] [IA64] Create vpsr_pp in privregs instead of using tmp[8].
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Mon, 03 Jul 2006 10:20:26 +0000
Delivery-date: Mon, 03 Jul 2006 03:25:53 -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 awilliam@xxxxxxxxxxx
# Node ID c5005be9ef91849da1d2fc732ff6ebc710af9803
# Parent  59be60d5664ba0799f24aecb09cbe62d89f324aa
[IA64] Create vpsr_pp in privregs instead of using tmp[8].

Signed-off-by: Tristan Gingold <tristan.gingold@xxxxxxxx>
---
 xen/arch/ia64/xen/vcpu.c       |   17 +++++++----------
 xen/include/public/arch-ia64.h |    5 +++--
 2 files changed, 10 insertions(+), 12 deletions(-)

diff -r 59be60d5664b -r c5005be9ef91 xen/arch/ia64/xen/vcpu.c
--- a/xen/arch/ia64/xen/vcpu.c  Tue Jun 20 10:40:14 2006 -0600
+++ b/xen/arch/ia64/xen/vcpu.c  Tue Jun 20 15:56:48 2006 -0600
@@ -271,8 +271,7 @@ IA64FAULT vcpu_reset_psr_sm(VCPU *vcpu, 
        if (imm.pp) {
                ipsr->pp = 1;
                psr.pp = 1;     // priv perf ctrs always enabled
-// FIXME: need new field in mapped_regs_t for virtual psr.pp (psr.be too?)
-               PSCB(vcpu,tmp[8]) = 0;  // but fool the domain if it gets psr
+               PSCB(vcpu,vpsr_pp) = 0; // but fool the domain if it gets psr
        }
        if (imm.up) { ipsr->up = 0; psr.up = 0; }
        if (imm.sp) { ipsr->sp = 0; psr.sp = 0; }
@@ -315,9 +314,9 @@ IA64FAULT vcpu_set_psr_sm(VCPU *vcpu, UI
        if (imm.dfh) ipsr->dfh = 1;
        if (imm.dfl) ipsr->dfl = 1;
        if (imm.pp) {
-               ipsr->pp = 1; psr.pp = 1;
-// FIXME: need new field in mapped_regs_t for virtual psr.pp (psr.be too?)
-               PSCB(vcpu,tmp[8]) = 1;
+               ipsr->pp = 1;
+               psr.pp = 1;
+               PSCB(vcpu,vpsr_pp) = 1;
        }
        if (imm.sp) { ipsr->sp = 1; psr.sp = 1; }
        if (imm.i) {
@@ -362,12 +361,11 @@ IA64FAULT vcpu_set_psr_l(VCPU *vcpu, UIN
        if (newpsr.dfl) ipsr->dfl = 1;
        if (newpsr.pp) {
                ipsr->pp = 1; psr.pp = 1;
-// FIXME: need new field in mapped_regs_t for virtual psr.pp (psr.be too?)
-               PSCB(vcpu,tmp[8]) = 1;
+               PSCB(vcpu,vpsr_pp) = 1;
        }
        else {
                ipsr->pp = 1; psr.pp = 1;
-               PSCB(vcpu,tmp[8]) = 0;
+               PSCB(vcpu,vpsr_pp) = 0;
        }
        if (newpsr.up) { ipsr->up = 1; psr.up = 1; }
        if (newpsr.sp) { ipsr->sp = 1; psr.sp = 1; }
@@ -406,8 +404,7 @@ IA64FAULT vcpu_get_psr(VCPU *vcpu, UINT6
        else newpsr.ic = 0;
        if (PSCB(vcpu,metaphysical_mode)) newpsr.dt = 0;
        else newpsr.dt = 1;
-// FIXME: need new field in mapped_regs_t for virtual psr.pp (psr.be too?)
-       if (PSCB(vcpu,tmp[8])) newpsr.pp = 1;
+       if (PSCB(vcpu,vpsr_pp)) newpsr.pp = 1;
        else newpsr.pp = 0;
        *pval = *(unsigned long *)&newpsr;
        return IA64_NO_FAULT;
diff -r 59be60d5664b -r c5005be9ef91 xen/include/public/arch-ia64.h
--- a/xen/include/public/arch-ia64.h    Tue Jun 20 10:40:14 2006 -0600
+++ b/xen/include/public/arch-ia64.h    Tue Jun 20 15:56:48 2006 -0600
@@ -286,14 +286,15 @@ struct mapped_regs {
             unsigned long interrupt_mask_addr;
             int pending_interruption;
             int incomplete_regframe; // see SDM vol2 6.8
-            unsigned long reserved5_1[4];
+            unsigned char vpsr_pp;
+            unsigned char reserved5_2[7];
+            unsigned long reserved5_1[3];
             int metaphysical_mode; // 1 = use metaphys mapping, 0 = use virtual
             int banknum; // 0 or 1, which virtual register bank is active
             unsigned long rrs[8]; // region registers
             unsigned long krs[8]; // kernel registers
             unsigned long pkrs[8]; // protection key registers
             unsigned long tmp[8]; // temp registers (e.g. for hyperprivops)
-            // FIXME: tmp[8] temp'ly being used for virtual psr.pp
         };
     };
     unsigned long  reserved6[3456];

_______________________________________________
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] Create vpsr_pp in privregs instead of using tmp[8]., Xen patchbot-unstable <=