taob@risc.org as requested (It looks like Nate forgot or
didn't know about this one, or I just jumped the gun
and got to it before he did :-).
Submitted by: Brian Tao <taob@risc.org>
Assuming that the intr_mask[] was updated by changing the maskptrs (the
existing update_intr_masks() function will not work) this code was
written so the PCIC controller insertion/removal events will not
interrupt the card IRQ handler events.
Some possible scenarios:
+ Card is removed during IRQ handler:
- PCIC card handler is allowed to interrupt
- card removal event is called, removing the driver and data structures
* card interrupt handler continues w/out driver, data structures, and hardware
OR (the code just committed)
* card IRQ handler has no hardware to read/write to, but has code and
data to run on (XXX- Assume it completes and doesn't spin forever)
- PCIC card handler unloads the card driver
The current situation at least leaves the card interrupt handlers the
drivers and data structures to work with although the hardware can't be
guaranteed.
Reviewed by: bde
- If a child receives a SIGTERM, it will call the terminate() function
and end up doing the shutdown procedurs that should really only be
done by the parent. Set the SIGTERM behavior back to SIG_DLT in the
child after fork()ing.
- If the parent fails to read data back from the child because the
child has exited, it will call rpc_received() with bogus tdata that
can cause the parent to SEGV. Make handle_children() detect this
condition correctly and handle it sanely.
*sigh* Another 2.2 candidate.
MK_FLAGS contains -DNOMAN and -DNOPROFILE for speed, so I assume
NOINFO is okay as well.
Add gnu/usr.bin/texinfo to build-tools so everything does the right
thing.
Note that LOGIN_CAP_AUTH code (login authentication) is not (yet) enabled
and requires /usr/libexec/login_<style> authentication program support to
be added at a later date. The Makefile contains a macro LC_AUTH to turn
it on and prevent unnecessarily linking against skey/krb libs and the
addition of klogin.c module.
All other aspects of login_cap support are fully functional.
- Turn off BTB (Branch Target Buffer) because the BTB makes system
unstable on some machines. The BTB feature can be enabled if
"options BTB_EN" is added in kernel a configuration file.
- Change comment.
- Reorder `orb XX,%al's.
- Reset NMI F/F (mask NMI) before setting registers, and set it after
setting them. Normally, this change has no effect.