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