DragonFly BSD
DragonFly commits List (threaded) for 2011-07
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

git: ioapic: Don't do the default IRQ configure, if it is mapped to different GSI


From: Sepherosa Ziehau <sephe@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 22 Jul 2011 01:45:19 -0700 (PDT)

commit 41f4f2876f040377b466c255ffe4c957f84b1af2
Author: Sepherosa Ziehau <sephe@dragonflybsd.org>
Date:   Fri Jul 22 09:54:03 2011 +0800

    ioapic: Don't do the default IRQ configure, if it is mapped to different GSI
    
    The problem went on unnoticed for such a long time, mainly because most of
    the mobos only map IRQ0 to GSI2, and GSI0 is taken as being hooked to the
    external interrupt source like i8259.
    
    However, the bug reporter's mobo has an extra IRQ source override entry in
    ACPI MADT, which maps IRQ9 to GSI21.  The problem reported is actually
    caused by:
    GSI is configured in the ascending order, so GSI9 is configured before GSI21.
    Since there is no explicit IRQ to GSI mapping for GSI9, by using the default
    1:1 mapping IRQ9 will be configured.  When GSI21 is configured, due to the
    explicit IRQ to GSI mapping, IRQ9 will be configured again, booo
    
    Reported-by: Siju George <sgeorge.ml@gmail.com>

Summary of changes:
 sys/platform/pc32/apic/ioapic.c |   17 +++++++++++++++--
 sys/platform/pc64/apic/ioapic.c |   17 +++++++++++++++--
 2 files changed, 30 insertions(+), 4 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/41f4f2876f040377b466c255ffe4c957f84b1af2


-- 
DragonFly BSD source repository



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]