CVSROOT:        /cvs
Module name:    src
Changes by:     [email protected]    2013/04/11 22:48:52

Modified files:
        sys/arch/m88k/m88k: trap.c 

Log message:
Double-register load and store instructions using an odd-numbered register as
the low part trigger an `illegal instruction' trap on the 88110 (and I can't
see this documented anywhere in the manual). Of course there is code "in the
wild" which uses such constructs (libgmp is one such example).

Extend double_reg_fixup() to take the trap type as an extra argument, and
explicitely allow ld.d or st.d instructions with odd-numbered registers at
aligned addresses if we are invoked from the `illegal instruction' trap
handler, to give this code a chance to run on 88110.

Reply via email to