Date: Tue, 1 Dec 1998 15:50:12 +1100 From: Bruce Evans <bde@zeta.org.au> To: bde@zeta.org.au, kato@ganko.eps.nagoya-u.ac.jp Cc: andyf@speednet.com.au, freebsd-current@FreeBSD.ORG, geoffb@demon.net, johan@granlund.nu, mike@smith.net.au, ortmann@sparc.isl.net Subject: Re: sio breakage Message-ID: <199812010450.PAA27337@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>> Fixes: >> kernel: send a fatal signal to applications that do this. > >How to detect this? Near the beginning of trap(): if ((frame.tf_eflags & PSL_I) == 0) fatal(...); but this is too strong, since the application may be in the middle of changing hardware state. Returning to the application probably won't make the problem (the application's problem of changing state atomically) worse, so we should enable interrupts and print an error message. PSI_I must be checked even in traps from kernel mode because the trap may be nested. In kernel mode, just enable interrupts and continue. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199812010450.PAA27337>