Dan:
Following patch is to fix the potential issue in low level code
addressing for PERCPU DATA. It is fortunately to be ok now as cpu_info
layout is in the beginning of PERCPU data.
If you agree, I will put it into staging tree.
Eddie
# HG changeset patch
# User ydong@xxxxxxxxxxxxxxxxxxxxx
# Node ID 90c6abbd4a59fd90718f3b798c0ce75ba4d7445c
# Parent 8bd2dc2c653de47bd9ab07a748ed6cb60f112701
Remove misaddressing of cpu_info in PERCPU data
signed-off-by Eddie dong <eddie.dong@xxxxxxxxx>
diff -r 8bd2dc2c653d -r 90c6abbd4a59 xen/arch/ia64/hyperprivop.S
--- a/xen/arch/ia64/hyperprivop.S Thu Aug 11 09:47:31 2005
+++ b/xen/arch/ia64/hyperprivop.S Fri Aug 12 03:16:25 2005
@@ -306,7 +306,7 @@
mov r28=IA64_TIMER_VECTOR;;
cmp.ne p6,p0=r28,r30
(p6) br.cond.spnt.few rp;;
- movl r20=(PERCPU_ADDR)+IA64_CPUINFO_ITM_NEXT_OFFSET;;
+ movl r20=THIS_CPU(cpu_info)+IA64_CPUINFO_ITM_NEXT_OFFSET;;
ld8 r26=[r20];;
mov r27=ar.itc;;
adds r27=200,r27;; // safety margin
@@ -1305,7 +1305,7 @@
adds r21=1,r21;;
st8 [r20]=r21;;
#endif
- movl r20=(PERCPU_ADDR)+IA64_CPUINFO_ITM_NEXT_OFFSET;;
+ movl r20=THIS_CPU(cpu_info)+IA64_CPUINFO_ITM_NEXT_OFFSET;;
ld8 r21=[r20];;
mov r20=IA64_KR(CURRENT);;
adds r20=IA64_VCPU_DOMAIN_ITM_OFFSET,r20;;
diff -r 8bd2dc2c653d -r 90c6abbd4a59 xen/arch/ia64/ivt.S
--- a/xen/arch/ia64/ivt.S Thu Aug 11 09:47:31 2005
+++ b/xen/arch/ia64/ivt.S Fri Aug 12 03:16:25 2005
@@ -934,7 +934,7 @@
// FIXME: this is a hack... use cpuinfo.ksoftirqd because its
// not used anywhere else and we need a place to stash ivr and
// there's no registers available unused by SAVE_MIN/REST
- movl r29=(PERCPU_ADDR)+IA64_CPUINFO_KSOFTIRQD_OFFSET;;
+ movl r29=THIS_CPU(cpu_info)+IA64_CPUINFO_KSOFTIRQD_OFFSET;;
st8 [r29]=r30;;
movl r28=slow_interrupt;;
mov r29=rp;;
@@ -954,7 +954,7 @@
;;
alloc r14=ar.pfs,0,0,2,0 // must be first in an insn group
#ifdef XEN
- movl out0=(PERCPU_ADDR)+IA64_CPUINFO_KSOFTIRQD_OFFSET;;
+ movl out0=THIS_CPU(cpu_info)+IA64_CPUINFO_KSOFTIRQD_OFFSET;;
ld8 out0=[out0];;
#else
mov out0=cr.ivr // pass cr.ivr as first arg
remove_kr_pre.patch
Description: remove_kr_pre.patch
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|