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

DragonFly-2.3.1.535.g281d9 master sys/platform/pc32/apic mpapic.c sys/platform/pc32/i386 mp_machdep.c mp_madt.c sys/platform/pc32/include smp.h


From: Sepherosa Ziehau <sephe@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 26 Jun 2009 21:00:49 -0700 (PDT)

commit 281d9482759bb075834585452a405a8c9bdf18e7
Author: Sepherosa Ziehau <sephe@dragonflybsd.org>
Date:   Sat Jun 27 09:36:42 2009 +0800

    Introduce lapic enumerators, which is used to probe and config lapics
    
    lapic enumerator implementation should provide two method:
    lapic_probe()     -- make sure that if this enumerator is selected, later
                         lapic enumeration could work.  Return error code upon
                         failure.
    lapic_enumerate() -- enumerate lapic and properly configure lapic (currently
                         only mapping lapic is needed).
    
    lapic enumerator implementation could be registered by calling:
    lapic_enumerator_register()
    with lapic_enumerator struct.  The higher the priority field, the earlier
    the lapic enumerator's lapic_probe method will be invoked.
    
    Currently two lapic enumerators are implemented and registered:
    - lapic enumerator using MP table
    - lapic enumerator using ACPI MADT
    ACPI MADT lapic enumerator has higher priority.  For testing purpose, ACPI
    MADT lapic enumerator's priority could be overridden by setting tunable
    hw.madt_lapic_prio to a smaller value (less than 20 currently)
    
    Idea-from: FreeBSD

Summary of changes:
 sys/platform/pc32/apic/mpapic.c     |   34 ++++++++++++
 sys/platform/pc32/i386/mp_machdep.c |  101 ++++++++++++++++++++---------------
 sys/platform/pc32/i386/mp_madt.c    |   75 +++++++++++++++++++++++++-
 sys/platform/pc32/include/smp.h     |   21 ++++++--
 4 files changed, 180 insertions(+), 51 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/281d9482759bb075834585452a405a8c9bdf18e7


-- 
DragonFly BSD source repository



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