summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorattilio <attilio@FreeBSD.org>2007-09-11 22:54:09 +0000
committerattilio <attilio@FreeBSD.org>2007-09-11 22:54:09 +0000
commitae7f786cc5058c835fc7df2d77a0b29186004678 (patch)
tree9c75d191beec2f52c08afb0fe8d85559f2c2f14f
parente558a701f79237a8896f15c6e4883d87a4fe22b5 (diff)
downloadFreeBSD-src-ae7f786cc5058c835fc7df2d77a0b29186004678.zip
FreeBSD-src-ae7f786cc5058c835fc7df2d77a0b29186004678.tar.gz
This is a follow-up, cleaning-up commit about recent changes involving
topology foo functions. Working at the patch for topology problems in ia32/amd64 evicted some problems regarding functions ordering in the SI_SUB_CPU family of SYSINIT'ed subsystems. In order to avoid problems with new modified to involved functions, a correct ordering is not semantically specified for SI_SUB_CPU functions (for a larger view of the issue please visit: http://lists.freebsd.org/pipermail/freebsd-current/2007-July/075409.html ) Discussed with: peter Tested by: kris, Rui Paulo <rpaulo@FreeBSD.org> Approved by: jeff Approved by: re
-rw-r--r--sys/amd64/amd64/local_apic.c2
-rw-r--r--sys/i386/acpica/madt.c2
-rw-r--r--sys/i386/i386/local_apic.c2
-rw-r--r--sys/kern/subr_smp.c2
-rw-r--r--sys/sun4v/mdesc/mdesc_init.c2
5 files changed, 5 insertions, 5 deletions
diff --git a/sys/amd64/amd64/local_apic.c b/sys/amd64/amd64/local_apic.c
index 8e21a17..b532e91 100644
--- a/sys/amd64/amd64/local_apic.c
+++ b/sys/amd64/amd64/local_apic.c
@@ -1061,7 +1061,7 @@ apic_setup_local(void *dummy __unused)
printf("%s: Failed to setup the local APIC: returned %d\n",
best_enum->apic_name, retval);
}
-SYSINIT(apic_setup_local, SI_SUB_CPU, SI_ORDER_FIRST, apic_setup_local, NULL)
+SYSINIT(apic_setup_local, SI_SUB_CPU, SI_ORDER_SECOND, apic_setup_local, NULL)
/*
* Setup the I/O APICs.
diff --git a/sys/i386/acpica/madt.c b/sys/i386/acpica/madt.c
index 3b32d30..b0eadca 100644
--- a/sys/i386/acpica/madt.c
+++ b/sys/i386/acpica/madt.c
@@ -406,7 +406,7 @@ madt_register(void *dummy __unused)
apic_register_enumerator(&madt_enumerator);
}
-SYSINIT(madt_register, SI_SUB_CPU - 1, SI_ORDER_FIRST, madt_register, NULL)
+SYSINIT(madt_register, SI_SUB_CPU - 1, SI_ORDER_SECOND, madt_register, NULL)
/*
* Call the handler routine for each entry in the MADT table.
diff --git a/sys/i386/i386/local_apic.c b/sys/i386/i386/local_apic.c
index f7d0e0c..46f985e 100644
--- a/sys/i386/i386/local_apic.c
+++ b/sys/i386/i386/local_apic.c
@@ -1065,7 +1065,7 @@ apic_init(void *dummy __unused)
printf("%s: Failed to setup the local APIC: returned %d\n",
best_enum->apic_name, retval);
}
-SYSINIT(apic_init, SI_SUB_CPU, SI_ORDER_FIRST, apic_init, NULL)
+SYSINIT(apic_init, SI_SUB_CPU, SI_ORDER_SECOND, apic_init, NULL)
/*
* Setup the I/O APICs.
diff --git a/sys/kern/subr_smp.c b/sys/kern/subr_smp.c
index 3de0eac..a884288 100644
--- a/sys/kern/subr_smp.c
+++ b/sys/kern/subr_smp.c
@@ -148,7 +148,7 @@ mp_start(void *dummy)
mp_ncpus);
cpu_mp_announce();
}
-SYSINIT(cpu_mp, SI_SUB_CPU, SI_ORDER_SECOND, mp_start, NULL)
+SYSINIT(cpu_mp, SI_SUB_CPU, SI_ORDER_THIRD, mp_start, NULL)
void
forward_signal(struct thread *td)
diff --git a/sys/sun4v/mdesc/mdesc_init.c b/sys/sun4v/mdesc/mdesc_init.c
index 6de9c2c..bb2990d 100644
--- a/sys/sun4v/mdesc/mdesc_init.c
+++ b/sys/sun4v/mdesc/mdesc_init.c
@@ -53,7 +53,7 @@ static void mdesc_postvm_init(void *);
* can kill off all calls to OBP. OBP removal is not in
* the critical path for sun4v at this time.
*/
-SYSINIT(mdesc_init, SI_SUB_CPU, SI_ORDER_FIRST, mdesc_postvm_init, NULL);
+SYSINIT(mdesc_init, SI_SUB_CPU, SI_ORDER_SECOND, mdesc_postvm_init, NULL);
#define UNIMPLEMENTED panic("%s not implemented.", __FUNCTION__)
OpenPOWER on IntegriCloud