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

Sepherosa Ziehau sephe at crater.dragonflybsd.org
Fri Jun 26 21:01:28 PDT 2009

commit 281d9482759bb075834585452a405a8c9bdf18e7
Author: Sepherosa Ziehau <sephe at 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
    lapic_enumerate() -- enumerate lapic and properly configure lapic (currently
                         only mapping lapic is needed).
    lapic enumerator implementation could be registered by calling:
    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(-)


DragonFly BSD source repository

More information about the Commits mailing list