diff options
author | phk <phk@FreeBSD.org> | 1999-07-17 20:47:52 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 1999-07-17 20:47:52 +0000 |
commit | f598bb42c149f910fb757059816fcd16a67707a6 (patch) | |
tree | 53abdff536c4c39f8bd75e4a739c7a9658b2ce01 /sys/amd64 | |
parent | 6063f24ab8d9d89a4149c1e0315451a45fa07b09 (diff) | |
download | FreeBSD-src-f598bb42c149f910fb757059816fcd16a67707a6.zip FreeBSD-src-f598bb42c149f910fb757059816fcd16a67707a6.tar.gz |
Centralize dumpdev handling.
Diffstat (limited to 'sys/amd64')
-rw-r--r-- | sys/amd64/amd64/autoconf.c | 61 |
1 files changed, 1 insertions, 60 deletions
diff --git a/sys/amd64/amd64/autoconf.c b/sys/amd64/amd64/autoconf.c index b3dd4f5..966cc22 100644 --- a/sys/amd64/amd64/autoconf.c +++ b/sys/amd64/amd64/autoconf.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)autoconf.c 7.1 (Berkeley) 5/9/91 - * $Id: autoconf.c,v 1.127 1999/07/03 17:40:29 peter Exp $ + * $Id: autoconf.c,v 1.128 1999/07/03 21:03:56 peter Exp $ */ /* @@ -101,7 +101,6 @@ static void configure_final __P((void *)); static void configure_finish __P((void)); static void configure_start __P((void)); -static int setdumpdev __P((dev_t dev)); #if defined(FFS) || defined(FFS_ROOT) static void setroot __P((void)); #endif @@ -362,47 +361,6 @@ cpu_rootconf() } } - -void -cpu_dumpconf() -{ - if (setdumpdev(dumpdev) != 0) - dumpdev = NODEV; -} - -static int -setdumpdev(dev) - dev_t dev; -{ - int maj, psize; - long newdumplo; - - if (dev == NODEV) { - dumpdev = dev; - return (0); - } - maj = major(dev); - if (bdevsw(dev) == NULL) - return (ENXIO); /* XXX is this right? */ - if (bdevsw(dev)->d_psize == NULL) - return (ENXIO); /* XXX should be ENODEV ? */ - psize = bdevsw(dev)->d_psize(dev); - if (psize == -1) - return (ENXIO); /* XXX should be ENODEV ? */ - /* - * XXX should clean up checking in dumpsys() to be more like this, - * and nuke dodump sysctl (too many knobs), and move this to - * kern_shutdown.c... - */ - newdumplo = psize - Maxmem * PAGE_SIZE / DEV_BSIZE; - if (newdumplo < 0) - return (ENOSPC); - dumpdev = dev; - dumplo = newdumplo; - return (0); -} - - u_long bootdev = 0; /* not a dev_t - encoding is different */ #define FDMAJOR 2 @@ -493,23 +451,6 @@ setroot() #endif -static int -sysctl_kern_dumpdev SYSCTL_HANDLER_ARGS -{ - int error; - udev_t ndumpdev; - - ndumpdev = dev2udev(dumpdev); - error = sysctl_handle_opaque(oidp, &ndumpdev, sizeof ndumpdev, req); - if (error == 0 && req->newptr != NULL) - error = setdumpdev(udev2dev(ndumpdev, 1)); - return (error); -} - -SYSCTL_PROC(_kern, KERN_DUMPDEV, dumpdev, CTLTYPE_OPAQUE|CTLFLAG_RW, - 0, sizeof dumpdev, sysctl_kern_dumpdev, "T,dev_t", ""); - - static int setrootbyname(char *name) |