Skip site navigation (1)Skip section navigation (2)
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>