Use same interrupt vector handler for fast/slow interrupt handlers
Slow interrupt vector handler is removed. Fast interrupt vector handler,
ithread_fast_handler(), now schedules slow interrupt handlers if necessary:
o No fast interrupt handlers are registered
o Mixed fast and slow interrpt handlers are registered
o Non-MPSAFE fast interrupt handlers could not get BGL
i386/amd64: gd_ipending field in mdglobaldata is revoked, which is only
used by slow interrupt vector handler.
ithread_fast_handler()'s invoking convetion is changed:
- ithead_fast_handler() must be called with critical section being held
- Callers of ithead_fast_handler() no longer bump gd_intr_nesting_level
Discussed-with: dillon@
Reviewed-by: dillon@
- [DB] sys/platform/pc64/amd64/mp_machdep.c