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] Consolidate DELIVER_PSR_CLR and DE

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] [IA64] Consolidate DELIVER_PSR_CLR and DELIVER_PSR_SET definition.
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Thu, 04 Oct 2007 17:40:44 -0700
Delivery-date: Thu, 04 Oct 2007 17:43:09 -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 1190906183 21600
# Node ID eae7b887e5acb4e087f4787be581985e21d0d40d
# Parent  764d33505b98f43c1c265a07a2b2ae3c252a5388
[IA64] Consolidate DELIVER_PSR_CLR and DELIVER_PSR_SET definition.

Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
---
 xen/arch/ia64/xen/faults.c      |   12 ------------
 xen/arch/ia64/xen/hyperprivop.S |   24 ++++--------------------
 xen/include/asm-ia64/xenkregs.h |   16 ++++++++++++++++
 3 files changed, 20 insertions(+), 32 deletions(-)

diff -r 764d33505b98 -r eae7b887e5ac xen/arch/ia64/xen/faults.c
--- a/xen/arch/ia64/xen/faults.c        Thu Sep 27 09:08:26 2007 -0600
+++ b/xen/arch/ia64/xen/faults.c        Thu Sep 27 09:16:23 2007 -0600
@@ -38,18 +38,6 @@ extern int ia64_hyperprivop(unsigned lon
 extern int ia64_hyperprivop(unsigned long, REGS *);
 extern IA64FAULT ia64_hypercall(struct pt_regs *regs);
 
-// note IA64_PSR_PK removed from following, why is this necessary?
-#define        DELIVER_PSR_SET (IA64_PSR_IC | IA64_PSR_I | \
-                       IA64_PSR_DT | IA64_PSR_RT | \
-                       IA64_PSR_IT | IA64_PSR_BN)
-
-#define        DELIVER_PSR_CLR (IA64_PSR_AC | IA64_PSR_DFL | IA64_PSR_DFH |    
\
-                        IA64_PSR_SP | IA64_PSR_DI | IA64_PSR_SI |      \
-                        IA64_PSR_DB | IA64_PSR_LP | IA64_PSR_TB |      \
-                        IA64_PSR_CPL| IA64_PSR_MC | IA64_PSR_IS |      \
-                        IA64_PSR_ID | IA64_PSR_DA | IA64_PSR_DD |      \
-                        IA64_PSR_SS | IA64_PSR_RI | IA64_PSR_ED | IA64_PSR_IA)
-
 extern void do_ssc(unsigned long ssc, struct pt_regs *regs);
 
 // should never panic domain... if it does, stack may have been overrun
diff -r 764d33505b98 -r eae7b887e5ac xen/arch/ia64/xen/hyperprivop.S
--- a/xen/arch/ia64/xen/hyperprivop.S   Thu Sep 27 09:08:26 2007 -0600
+++ b/xen/arch/ia64/xen/hyperprivop.S   Thu Sep 27 09:16:23 2007 -0600
@@ -55,22 +55,6 @@
 // FIXME: This is defined in include/asm-ia64/hw_irq.h but this
 // doesn't appear to be include'able from assembly?
 #define IA64_TIMER_VECTOR 0xef
-
-// Should be included from common header file (also in process.c)
-//  NO PSR_CLR IS DIFFERENT! (CPL)
-#define IA64_PSR_CPL1  (__IA64_UL(1) << IA64_PSR_CPL1_BIT)
-#define IA64_PSR_CPL0  (__IA64_UL(1) << IA64_PSR_CPL0_BIT)
-// note IA64_PSR_PK removed from following, why is this necessary?
-#define        DELIVER_PSR_SET (IA64_PSR_IC | IA64_PSR_I | \
-                       IA64_PSR_DT | IA64_PSR_RT | \
-                       IA64_PSR_IT | IA64_PSR_BN)
-
-#define        DELIVER_PSR_CLR (IA64_PSR_AC | IA64_PSR_DFL | IA64_PSR_DFH | \
-                       IA64_PSR_SP | IA64_PSR_DI | IA64_PSR_SI |       \
-                       IA64_PSR_DB | IA64_PSR_LP | IA64_PSR_TB | \
-                       IA64_PSR_MC | IA64_PSR_IS | \
-                       IA64_PSR_ID | IA64_PSR_DA | IA64_PSR_DD | \
-                       IA64_PSR_SS | IA64_PSR_RI | IA64_PSR_ED | IA64_PSR_IA)
 
 // Note: not hand-scheduled for now
 //  Registers at entry
@@ -250,7 +234,7 @@ ENTRY(hyper_ssm_i)
        // set cr.ipsr
        mov r29=r30
        movl r28=DELIVER_PSR_SET
-       movl r27=~DELIVER_PSR_CLR;;
+       movl r27=~(DELIVER_PSR_CLR & (~IA64_PSR_CPL));;
        and r29=r29,r27;;
        or r29=r29,r28;;
        // set hpsr_dfh to ipsr
@@ -438,7 +422,7 @@ GLOBAL_ENTRY(fast_tick_reflect)
        // set cr.ipsr (make sure cpl==2!)
        mov r29=r17
        movl r28=DELIVER_PSR_SET | (CONFIG_CPL0_EMUL << IA64_PSR_CPL0_BIT)
-       movl r27=~(DELIVER_PSR_CLR|IA64_PSR_CPL0|IA64_PSR_CPL1);;
+       movl r27=~DELIVER_PSR_CLR;;
        and r29=r29,r27;;
        or r29=r29,r28;;
        mov cr.ipsr=r29;;
@@ -611,7 +595,7 @@ ENTRY(fast_reflect)
        mov r29=r30 ;;
        ld8 r21=[r21]
        movl r28=DELIVER_PSR_SET | (CONFIG_CPL0_EMUL << IA64_PSR_CPL0_BIT)
-       movl r27=~(DELIVER_PSR_CLR|IA64_PSR_CPL0|IA64_PSR_CPL1);;
+       movl r27=~DELIVER_PSR_CLR;;
        and r29=r29,r27;;
        or r29=r29,r28;;
        // set hpsr_dfh to ipsr
@@ -1269,7 +1253,7 @@ ENTRY(rfi_with_interrupt)
        movl r22=THIS_CPU(current_psr_i_addr)
        // set cr.ipsr (make sure cpl==2!)
        mov r29=r17
-       movl r27=~(DELIVER_PSR_CLR|IA64_PSR_CPL0|IA64_PSR_CPL1)
+       movl r27=~DELIVER_PSR_CLR
        movl r28=DELIVER_PSR_SET | (CONFIG_CPL0_EMUL << IA64_PSR_CPL0_BIT)
        mov r20=1;;
        ld8 r22=[r22]
diff -r 764d33505b98 -r eae7b887e5ac xen/include/asm-ia64/xenkregs.h
--- a/xen/include/asm-ia64/xenkregs.h   Thu Sep 27 09:08:26 2007 -0600
+++ b/xen/include/asm-ia64/xenkregs.h   Thu Sep 27 09:16:23 2007 -0600
@@ -16,6 +16,22 @@
 #define IA64_DEFAULT_DCR_BITS  (IA64_DCR_PP | IA64_DCR_LC | IA64_DCR_DM | \
                                 IA64_DCR_DP | IA64_DCR_DK | IA64_DCR_DX | \
                                 IA64_DCR_DR | IA64_DCR_DA | IA64_DCR_DD)
+
+// note IA64_PSR_PK removed from following, why is this necessary?
+#define        DELIVER_PSR_SET (IA64_PSR_IC | IA64_PSR_I  |    \
+                        IA64_PSR_DT | IA64_PSR_RT |    \
+                        IA64_PSR_IT | IA64_PSR_BN)
+
+#define        DELIVER_PSR_CLR (IA64_PSR_AC | IA64_PSR_DFL| IA64_PSR_DFH|      
\
+                        IA64_PSR_SP | IA64_PSR_DI | IA64_PSR_SI |      \
+                        IA64_PSR_DB | IA64_PSR_LP | IA64_PSR_TB |      \
+                        IA64_PSR_CPL| IA64_PSR_MC | IA64_PSR_IS |      \
+                        IA64_PSR_ID | IA64_PSR_DA | IA64_PSR_DD |      \
+                        IA64_PSR_SS | IA64_PSR_RI | IA64_PSR_ED | IA64_PSR_IA)
+
+//  NO PSR_CLR IS DIFFERENT! (CPL)
+#define IA64_PSR_CPL1  (__IA64_UL(1) << IA64_PSR_CPL1_BIT)
+#define IA64_PSR_CPL0  (__IA64_UL(1) << IA64_PSR_CPL0_BIT)
 
 /* Interruption Function State */
 #define IA64_IFS_V_BIT         63

_______________________________________________
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] Consolidate DELIVER_PSR_CLR and DELIVER_PSR_SET definition., Xen patchbot-unstable <=