git: Introduce lapic enumerators, which is used to probe and config lapics
Michael Neumann
mneumann at crater.dragonflybsd.org
Sun Nov 7 13:46:31 PST 2010
commit 91903a05a379e840a80f2091f37064f19ab35d36
Author: Michael Neumann <mneumann at ntecs.de>
Date: Wed Oct 13 22:52:58 2010 +0200
Introduce lapic enumerators, which is used to probe and config lapics
Apply commit 281d9482759bb075834585452a405a8c9bdf18e7 for x86_64.
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/pc64/apic/mpapic.c | 34 +++++++++++
sys/platform/pc64/include/smp.h | 21 +++++--
sys/platform/pc64/x86_64/mp_machdep.c | 102 +++++++++++++++++++--------------
sys/platform/pc64/x86_64/mp_madt.c | 75 +++++++++++++++++++++++-
4 files changed, 180 insertions(+), 52 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/91903a05a379e840a80f2091f37064f19ab35d36
--
DragonFly BSD source repository
More information about the Commits
mailing list