diff options
author | Jason Wright <jason@cvs.openbsd.org> | 2003-07-12 05:01:43 +0000 |
---|---|---|
committer | Jason Wright <jason@cvs.openbsd.org> | 2003-07-12 05:01:43 +0000 |
commit | d4caefc6d4fb98ba3c9484c2deab88179f26da0d (patch) | |
tree | c046ff0352c6f8d5bc086926b8234a78cf7cc847 /sys | |
parent | b1bc7afd8d60b42e65e09dccf64756e2dcb04e39 (diff) |
%asi is in tf_tstate... nail the last variant of ldqfa/stqfa
Diffstat (limited to 'sys')
-rw-r--r-- | sys/arch/sparc64/sparc64/emul.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/sys/arch/sparc64/sparc64/emul.c b/sys/arch/sparc64/sparc64/emul.c index 91a9edaea5f..bd6a58ceef0 100644 --- a/sys/arch/sparc64/sparc64/emul.c +++ b/sys/arch/sparc64/sparc64/emul.c @@ -1,4 +1,4 @@ -/* $OpenBSD: emul.c,v 1.6 2003/07/12 03:58:42 jason Exp $ */ +/* $OpenBSD: emul.c,v 1.7 2003/07/12 05:01:42 jason Exp $ */ /* $NetBSD: emul.c,v 1.8 2001/06/29 23:58:40 eeh Exp $ */ /*- @@ -496,14 +496,9 @@ emul_qf(int32_t insv, struct proc *p, union sigval sv, struct trapframe *tf) if (ins.i_op3.i_op3 == IOP3_STQF || ins.i_op3.i_op3 == IOP3_LDQF) asi = ASI_PRIMARY; - else if (ins.i_loadstore.i_i) { - /* - * XXX asi = %asi, how do I get %asi the proc's %asi here? - * XXX kill it for now - */ - trapsignal(p, SIGILL, 0, ILL_PRVOPC, sv); - return (0); - } else + else if (ins.i_loadstore.i_i) + asi = (tf->tf_tstate & TSTATE_ASI) >> TSTATE_ASI_SHIFT; + else asi = ins.i_asi.i_asi; addr = tf->tf_global[ins.i_asi.i_rs1]; |