Date: Mon, 08 Oct 2001 17:28:22 -0700 (PDT) From: John Baldwin <jhb@FreeBSD.org> To: ia64@FreeBSD.org Subject: ast() patch Message-ID: <XFMail.011008172822.jhb@FreeBSD.org>
next in thread | raw e-mail | index | archive | help
Ok, now that you all have gotten ia64 farther along, perhaps one of you can test and fix this patch to make the kernel call ast() when returing to userland. This should fix things like SIGARLM, userland profiling, and a few other nits: http://www.freebsd.org/~jhb/ia64_ast.patch Index: ia64/ia64/exception.s =================================================================== RCS file: /usr/cvs/src/sys/ia64/ia64/exception.s,v retrieving revision 1.21 diff -u -r1.21 exception.s --- ia64/ia64/exception.s 7 Oct 2001 18:40:01 -0000 1.21 +++ ia64/ia64/exception.s 8 Oct 2001 20:20:27 -0000 @@ -887,9 +887,18 @@ ;; cmp.eq p1,p2=r0,r16 // test for return to kernel mode ;; -(p2) add r16=SIZEOF_TRAPFRAME+16,sp // restore ar.k6 (kernel sp) +(p1) br.cond.dpnt.few 2f + alloc r14=ar.pfs,0,0,1,0 + ;; + add out0=16,sp + ;; + // XXX: do we need to reset p1 to zero after this? + // XXX: do we need to save any other state? + br.call.sptk.many rp=ast + add r16=SIZEOF_TRAPFRAME+16,sp // restore ar.k6 (kernel sp) ;; -(p2) mov ar.k6=r16 + mov ar.k6=r16 +2: add r1=SIZEOF_TRAPFRAME-16,r3 // r1=&tf_f[FRAME_F15] add r2=SIZEOF_TRAPFRAME-32,r3 // r2=&tf_f[FRAME_F14] ;; -- John Baldwin <john@baldwin.cx> -- http://www.FreeBSD.org/~jhb/ PGP Key: http://www.baldwin.cx/~john/pgpkey.asc "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.011008172822.jhb>