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-ia64-devel

Re: [Xen-ia64-devel] pv_ops: IVT.s replacement to cover all sensitiveins

Hi, Eddie

>diff --git a/arch/ia64/kernel/ivt.S b/arch/ia64/kernel/ivt.S
>index f2306ae..d516bf4 100644
>--- a/arch/ia64/kernel/ivt.S
>+++ b/arch/ia64/kernel/ivt.S
>@@ -19,6 +19,7 @@
>  * Copyright (c) 2008 Isaku Yamahata <yamahata at valinux co jp>
>  *                    VA Linux Systems Japan K.K.
>  *                    pv_ops.
>+ *      Yaozu (Eddie) Dong <eddie.dong@xxxxxxxxx>
>  */
> /*
>  * This file defines the interruption vector table used by the CPU.
>@@ -338,7 +339,7 @@ ENTRY(alt_itlb_miss)
>       DBG_FAULT(3)
>       MOV_FROM_IFA(r16)       // get address that caused the TLB miss
>       movl r17=PAGE_KERNEL
>-      MOV_FROM_IPSR(r21)
>+      MOV_FROM_IPSR(p0,r21)
Why do you specify p0 to the macro?
Is it not neccessary to perform the mov?


>diff --git a/arch/ia64/xen/xenivt.S b/arch/ia64/xen/xenivt.S
>diff --git a/include/asm-ia64/native/inst.h
>b/include/asm-ia64/native/inst.h
>index 7e91396..a7d3689 100644
>--- a/include/asm-ia64/native/inst.h
>+++ b/include/asm-ia64/native/inst.h
>@@ -47,8 +47,8 @@
> #define MOV_FROM_IHA(reg)     \
>       mov reg = cr.iha
> 
>-#define MOV_FROM_IPSR(reg)    \
>-      mov reg = cr.ipsr
>+#define MOV_FROM_IPSR(pred,reg)       \
>+(pred)        mov reg = cr.ipsr
> 
> #define MOV_FROM_IIM(reg)     \
>       mov reg = cr.iim
>diff --git a/include/asm-ia64/xen/inst.h b/include/asm-ia64/xen/inst.h
>index 1e92d02..250f21a 100644
>--- a/include/asm-ia64/xen/inst.h
>+++ b/include/asm-ia64/xen/inst.h
>@@ -49,10 +49,10 @@
>       ;;                      \
>       ld8 reg = [reg]
> 
>-#define MOV_FROM_IPSR(reg)    \
>-      movl reg = XSI_IPSR;    \
>+#define MOV_FROM_IPSR(pred,reg)       \
>+(pred)        movl reg = XSI_IPSR;    \
>       ;;                      \
>-      ld8 reg = [reg]
>+(pred)        ld8 reg = [reg]
> 
> #define MOV_FROM_IIM(reg)     \
>       movl reg = XSI_IIM;     \

Best Regards,

Akio Takebe


_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel