diff --git a/sys/alpha/alpha/autoconf.c b/sys/alpha/alpha/autoconf.c index d3ffb233a07e..d467ef79ac63 100644 --- a/sys/alpha/alpha/autoconf.c +++ b/sys/alpha/alpha/autoconf.c @@ -29,8 +29,6 @@ __FBSDID("$FreeBSD$"); #include "opt_bootp.h" #include "opt_isa.h" -#include "opt_nfs.h" -#include "opt_nfsroot.h" #include #include @@ -67,8 +65,6 @@ static void configure_start(void); device_t isa_bus_device = 0; #endif -extern int nfs_diskless_valid; /* XXX use include file */ - static void configure_start() { @@ -194,20 +190,3 @@ configure(void *dummy) cold = 0; } - -/* - * Do legacy root filesystem discovery. This isn't really - * needed on the Alpha, which has always used the loader. - */ -void -cpu_rootconf() -{ -#if defined(NFSCLIENT) && defined(NFS_ROOT) - int order = 0; -#if !defined(BOOTP_NFSROOT) - if (nfs_diskless_valid) -#endif - rootdevnames[order++] = "nfs:"; -#endif -} -SYSINIT(cpu_rootconf, SI_SUB_ROOT_CONF, SI_ORDER_FIRST, cpu_rootconf, NULL) diff --git a/sys/amd64/amd64/autoconf.c b/sys/amd64/amd64/autoconf.c index c646741c0412..f638bc83b659 100644 --- a/sys/amd64/amd64/autoconf.c +++ b/sys/amd64/amd64/autoconf.c @@ -45,8 +45,6 @@ __FBSDID("$FreeBSD$"); */ #include "opt_bootp.h" #include "opt_isa.h" -#include "opt_nfs.h" -#include "opt_nfsroot.h" #include "opt_bus.h" #include @@ -66,10 +64,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include -#include -#include -#include #include @@ -136,22 +130,3 @@ configure_final(dummy) printf("Device configuration finished.\n"); cold = 0; } - -/* - * Do legacy root filesystem discovery. - */ -void -cpu_rootconf() -{ -#ifdef BOOTP - bootpc_init(); -#endif -#if defined(NFSCLIENT) && defined(NFS_ROOT) -#if !defined(BOOTP_NFSROOT) - nfs_setup_diskless(); - if (nfs_diskless_valid) -#endif - rootdevnames[0] = "nfs:"; -#endif -} -SYSINIT(cpu_rootconf, SI_SUB_ROOT_CONF, SI_ORDER_FIRST, cpu_rootconf, NULL) diff --git a/sys/i386/i386/autoconf.c b/sys/i386/i386/autoconf.c index c213a68549a1..c4eca30d918e 100644 --- a/sys/i386/i386/autoconf.c +++ b/sys/i386/i386/autoconf.c @@ -45,8 +45,6 @@ __FBSDID("$FreeBSD$"); */ #include "opt_bootp.h" #include "opt_isa.h" -#include "opt_nfs.h" -#include "opt_nfsroot.h" #include "opt_bus.h" #include @@ -66,10 +64,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include -#include -#include -#include #include #include @@ -174,22 +168,3 @@ configure_final(dummy) } cold = 0; } - -/* - * Do legacy root filesystem discovery. - */ -void -cpu_rootconf() -{ -#ifdef BOOTP - bootpc_init(); -#endif -#if defined(NFSCLIENT) && defined(NFS_ROOT) -#if !defined(BOOTP_NFSROOT) - nfs_setup_diskless(); - if (nfs_diskless_valid) -#endif - rootdevnames[0] = "nfs:"; -#endif -} -SYSINIT(cpu_rootconf, SI_SUB_ROOT_CONF, SI_ORDER_FIRST, cpu_rootconf, NULL) diff --git a/sys/ia64/ia64/autoconf.c b/sys/ia64/ia64/autoconf.c index dcfd1b04dfde..0772acca82c3 100644 --- a/sys/ia64/ia64/autoconf.c +++ b/sys/ia64/ia64/autoconf.c @@ -28,8 +28,6 @@ #include "opt_bootp.h" #include "opt_isa.h" -#include "opt_nfs.h" -#include "opt_nfsroot.h" #include #include @@ -63,8 +61,6 @@ void bootpc_init(void); device_t isa_bus_device = 0; #endif -extern int nfs_diskless_valid; /* XXX use include file */ - /* * Determine i/o configuration for a machine. */ @@ -91,26 +87,3 @@ configure(void *dummy) cold = 0; } - -/* - * Do legacy root filesystem discovery. This isn't really - * needed on the Alpha, which has always used the loader. - */ -void -cpu_rootconf() -{ -#if defined(NFSCLIENT) && defined(NFS_ROOT) - int order = 0; -#endif - -#ifdef BOOTP - bootpc_init(); -#endif -#if defined(NFSCLIENT) && defined(NFS_ROOT) -#if !defined(BOOTP_NFSROOT) - if (nfs_diskless_valid) -#endif - rootdevnames[order++] = "nfs:"; -#endif -} -SYSINIT(cpu_rootconf, SI_SUB_ROOT_CONF, SI_ORDER_FIRST, cpu_rootconf, NULL) diff --git a/sys/nfsclient/bootp_subr.c b/sys/nfsclient/bootp_subr.c index 2132ef581689..bdc98d2fbd7c 100644 --- a/sys/nfsclient/bootp_subr.c +++ b/sys/nfsclient/bootp_subr.c @@ -1740,6 +1740,7 @@ bootpc_init(void) #endif } + rootdevnames[0] = "nfs:"; mountopts(&nd->root_args, NULL); for (ifctx = gctx->interfaces; ifctx != NULL; ifctx = ifctx->next) @@ -1894,3 +1895,5 @@ out: m_freem(m); return error; } + +SYSINIT(bootp_rootconf, SI_SUB_ROOT_CONF, SI_ORDER_FIRST, bootpc_init, NULL); diff --git a/sys/nfsclient/nfs_diskless.c b/sys/nfsclient/nfs_diskless.c index 51b34d3c6b7f..212a1650632b 100644 --- a/sys/nfsclient/nfs_diskless.c +++ b/sys/nfsclient/nfs_diskless.c @@ -231,3 +231,17 @@ decode_nfshandle(char *ev, u_char *fh) } } } + +#if !defined(BOOTP_NFSROOT) +static void +nfs_rootconf(void) +{ + + nfs_setup_diskless(); + if (nfs_diskless_valid) + rootdevnames[0] = "nfs:"; +} + +SYSINIT(cpu_rootconf, SI_SUB_ROOT_CONF, SI_ORDER_FIRST, nfs_rootconf, NULL) +#endif +