diff options
author | grehan <grehan@FreeBSD.org> | 2005-03-18 03:29:39 +0000 |
---|---|---|
committer | grehan <grehan@FreeBSD.org> | 2005-03-18 03:29:39 +0000 |
commit | 52e8c7d46a9820283781fda9233bdf609931135f (patch) | |
tree | 8984dab99d5c93ccc085141c74e1ec2490d82ac6 /sys | |
parent | 3de17655eb2078efb7e1e5c0dc9f4e5dbb7081ec (diff) | |
download | FreeBSD-src-52e8c7d46a9820283781fda9233bdf609931135f.zip FreeBSD-src-52e8c7d46a9820283781fda9233bdf609931135f.tar.gz |
Split configure into 3 steps ala sparc64
Obtained from: iedowse, sparc64
Diffstat (limited to 'sys')
-rw-r--r-- | sys/powerpc/powerpc/autoconf.c | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/sys/powerpc/powerpc/autoconf.c b/sys/powerpc/powerpc/autoconf.c index 06787f7..2f3b527 100644 --- a/sys/powerpc/powerpc/autoconf.c +++ b/sys/powerpc/powerpc/autoconf.c @@ -35,18 +35,35 @@ __FBSDID("$FreeBSD$"); static device_t nexusdev; +static void configure_first(void *); static void configure(void *); -SYSINIT(configure, SI_SUB_CONFIGURE, SI_ORDER_THIRD, configure, NULL) +static void configure_final(void *); + +SYSINIT(configure1, SI_SUB_CONFIGURE, SI_ORDER_FIRST, configure_first, NULL); +/* SI_ORDER_SECOND is hookable */ +SYSINIT(configure2, SI_SUB_CONFIGURE, SI_ORDER_THIRD, configure, NULL); +/* SI_ORDER_MIDDLE is hookable */ +SYSINIT(configure3, SI_SUB_CONFIGURE, SI_ORDER_ANY, configure_final, NULL); /* * Determine i/o configuration for a machine. */ static void +configure_first(void *dummy) +{ +} + +static void configure(void *dummy) { nexusdev = device_add_child(root_bus, "nexus", 0); + root_bus_configure(); +} +static void +configure_final(void *dummy) +{ /* * Enable device interrupts */ @@ -54,3 +71,5 @@ configure(void *dummy) cold = 0; } + + |