Mercurial > ecos
diff packages/hal/sparclite/arch/current/src/vec_xvsr.S @ 40:a3cc6665b684 ecos-sw-1999-10-01
Merge from eCos master repository on 1999-10-01-07:47:04-BST
| author | jlarmour |
|---|---|
| date | Fri, 01 Oct 1999 13:25:47 +0000 |
| parents | 443894e2e912 |
| children | c38311975d4f |
line wrap: on
line diff
--- a/packages/hal/sparclite/arch/current/src/vec_xvsr.S +++ b/packages/hal/sparclite/arch/current/src/vec_xvsr.S @@ -82,6 +82,7 @@ hal_default_exception_vsr: ! must establish a safe stack before re-enabling interrupts + traps and %l0, __WINBITS, %l7 ! CWP extracted + ! no inc/dec here, so no need for special measures for not-8-windows mov 1, %l6 sll %l6, %l7, %l6 ! 1 << CWP rd %wim, %l5 @@ -236,6 +237,14 @@ 1: ! now save away the regs we must pres add %l0, 1, %l7 ! interruptee~s CWP plus noise and %l7, __WINBITS, %l7 ! CWP only +#if 8 == __WINSIZE + ! it is in range already +#else // expect 5 or 6 or 7 windows + cmp %l7, __WINSIZE + bge,a 567f ! taken: do delay slot, handle overflow + mov 0, %l7 ! only if .ge. above +567: +#endif mov 1, %l6 sll %l6, %l7, %l6 ! 1 << CWP rd %wim, %l5
