DragonFly-2.3.1.761.g729e1 master sys/kern kern_intr.c sys/platform/pc32/apic apic_abi.c apic_ipl.h apic_vector.s sys/platform/pc32/i386 genassym.c globals.s mp_machdep.c sys/platform/pc32/icu icu_abi.c icu_vector.s sys/platform/pc32/include globaldata.h sys/platform/pc32/isa ipl.s ipl_funcs.c sys/platform/pc64/amd64 genassym.c global.s ipl.s ipl_funcs.c mp_machdep.c sys/platform/pc64/apic apic_abi.c apic_ipl.h apic_vector.s sys/platform/pc64/icu icu_abi.c icu_vector.s sys/platform/pc64/include globaldata.h
Sepherosa Ziehau
sephe at crater.dragonflybsd.org
Fri Jul 10 19:37:17 PDT 2009
commit 729e15a864dd5b8d269fbb921c7254de51d9676c
Author: Sepherosa Ziehau <sephe at dragonflybsd.org>
Date: Fri Jul 10 15:29:24 2009 +0800
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@
Summary of changes:
sys/kern/kern_intr.c | 49 +++++++++----
sys/platform/pc32/apic/apic_abi.c | 91 ++--------------------
sys/platform/pc32/apic/apic_ipl.h | 1 -
sys/platform/pc32/apic/apic_vector.s | 132 +-------------------------------
sys/platform/pc32/i386/genassym.c | 1 -
sys/platform/pc32/i386/globals.s | 3 +-
sys/platform/pc32/i386/mp_machdep.c | 1 -
sys/platform/pc32/icu/icu_abi.c | 29 +------
sys/platform/pc32/icu/icu_vector.s | 78 +------------------
sys/platform/pc32/include/globaldata.h | 8 +-
sys/platform/pc32/isa/ipl.s | 60 +--------------
sys/platform/pc32/isa/ipl_funcs.c | 4 +-
sys/platform/pc64/amd64/genassym.c | 1 -
sys/platform/pc64/amd64/global.s | 3 +-
sys/platform/pc64/amd64/ipl.s | 58 +--------------
sys/platform/pc64/amd64/ipl_funcs.c | 4 +-
sys/platform/pc64/amd64/mp_machdep.c | 1 -
sys/platform/pc64/apic/apic_abi.c | 91 +---------------------
sys/platform/pc64/apic/apic_ipl.h | 1 -
sys/platform/pc64/apic/apic_vector.s | 131 +-------------------------------
sys/platform/pc64/icu/icu_abi.c | 29 +-------
sys/platform/pc64/icu/icu_vector.s | 76 +------------------
sys/platform/pc64/include/globaldata.h | 8 +-
23 files changed, 75 insertions(+), 785 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/729e15a864dd5b8d269fbb921c7254de51d9676c
--
DragonFly BSD source repository
More information about the Commits
mailing list