Split configure into 3 steps ala sparc64

Obtained from:  iedowse, sparc64
This commit is contained in:
Peter Grehan 2005-03-18 03:29:39 +00:00
parent d2fcaa75b1
commit b1fab0ffc0
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=143784

View File

@ -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();
root_bus_configure();
}
static void
configure_final(void *dummy)
{
/*
* Enable device interrupts
*/
@ -54,3 +71,5 @@ configure(void *dummy)
cold = 0;
}