Commit c1bd2ddf authored by Russ Anderson's avatar Russ Anderson Committed by Tony Luck

[IA64] r23 was used without being set

There is one small problem.  In mca_asm.S, r23 was used without being set 
and the hardcoded value 40 is no longer valid (patch below).

With linux-ia64-test-2.6.11 plus David's patch plus the patch
below, 1024 memory uncorectable errors were injected and sucessfully
recovered on an SGI Altix test machine.  1024 is the number of entries 
in the page_isolate[] array in arch/ia64/kernel/mca_drv.c.  When the 
array is full, the recovery code says the error is not recoverable 
and the system reboots.
Signed-off-by: default avatarRuss Anderson <rja@sgi.com>
Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
parent 55c8c0cb
...@@ -203,9 +203,9 @@ begin_tlb_purge_and_reload: ...@@ -203,9 +203,9 @@ begin_tlb_purge_and_reload:
srlz.d srlz.d
;; ;;
// 3. Purge ITR for PAL code. // 3. Purge ITR for PAL code.
adds r17=40,r23 GET_THIS_PADDR(r2, ia64_mca_pal_base)
;; ;;
ld8 r16=[r17] ld8 r16=[r2]
mov r18=IA64_GRANULE_SHIFT<<2 mov r18=IA64_GRANULE_SHIFT<<2
;; ;;
ptr.i r16,r18 ptr.i r16,r18
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment