Record the right value for tf_ndirty for kernel interruptions so that

we can examine the interrupted register stack frame in DDB.
This commit is contained in:
dfr 2001-04-18 14:10:43 +00:00
parent dca2cb11d9
commit 4ecfe212ec
2 changed files with 6 additions and 6 deletions

View File

@ -1094,15 +1094,15 @@ ENTRY(exception_save, 0)
(p2) mov r16=ar.k5 // kernel backing store
mov rRNAT=ar.rnat
;;
(p1) mov r16=rBSPSTORE // so we can figure out ndirty
(p2) mov ar.bspstore=r16 // switch bspstore
st8 [r2]=rRSC,16 // r2=&tf_cr_ifs
;;
st8 [r1]=rPFS,16 // r1=&tf_ar_bspstore
st8 [r2]=rIFS,16 // r2=&tf_ar_rnat
(p2) mov r17=ar.bsp
mov r17=ar.bsp
;;
(p2) sub r17=r17,r16 // ndirty (in bytes)
(p1) mov r17=r0
sub r17=r17,r16 // ndirty (in bytes)
;;
st8 [r1]=rBSPSTORE,16 // r1=&tf_ndirty
st8 [r2]=rRNAT,16 // r2=&tf_ar_unat

View File

@ -1094,15 +1094,15 @@ ENTRY(exception_save, 0)
(p2) mov r16=ar.k5 // kernel backing store
mov rRNAT=ar.rnat
;;
(p1) mov r16=rBSPSTORE // so we can figure out ndirty
(p2) mov ar.bspstore=r16 // switch bspstore
st8 [r2]=rRSC,16 // r2=&tf_cr_ifs
;;
st8 [r1]=rPFS,16 // r1=&tf_ar_bspstore
st8 [r2]=rIFS,16 // r2=&tf_ar_rnat
(p2) mov r17=ar.bsp
mov r17=ar.bsp
;;
(p2) sub r17=r17,r16 // ndirty (in bytes)
(p1) mov r17=r0
sub r17=r17,r16 // ndirty (in bytes)
;;
st8 [r1]=rBSPSTORE,16 // r1=&tf_ndirty
st8 [r2]=rRNAT,16 // r2=&tf_ar_unat