diff options
author | nwhitehorn <nwhitehorn@FreeBSD.org> | 2012-12-30 16:28:06 +0000 |
---|---|---|
committer | nwhitehorn <nwhitehorn@FreeBSD.org> | 2012-12-30 16:28:06 +0000 |
commit | 1e6b48e616e0254370d121cb6a306ec4ceaa9c96 (patch) | |
tree | 4e9bfc72c8e0bee428f0ece9ac3d080dcccd4b74 /lib/libdisk/change.c | |
parent | 7bc5e60204e1ef48719ba2e75231b6c7c314f228 (diff) | |
download | FreeBSD-src-1e6b48e616e0254370d121cb6a306ec4ceaa9c96.zip FreeBSD-src-1e6b48e616e0254370d121cb6a306ec4ceaa9c96.tar.gz |
With the old sade removed, libdisk is no longer used by anything in HEAD
and uses a number of problematic pre-gpart interfaces. Since it has been
entirely obsoleted by interfaces in geom, remove it.
Diffstat (limited to 'lib/libdisk/change.c')
-rw-r--r-- | lib/libdisk/change.c | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/lib/libdisk/change.c b/lib/libdisk/change.c deleted file mode 100644 index 5f0c9c6..0000000 --- a/lib/libdisk/change.c +++ /dev/null @@ -1,129 +0,0 @@ -/* - * ---------------------------------------------------------------------------- - * "THE BEER-WARE LICENSE" (Revision 42): - * <phk@FreeBSD.org> wrote this file. As long as you retain this notice you - * can do whatever you want with this stuff. If we meet some day, and you think - * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp - * ---------------------------------------------------------------------------- - */ - -#include <sys/cdefs.h> -__FBSDID("$FreeBSD$"); - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <fcntl.h> -#include <string.h> -#include <sys/types.h> -#include "libdisk.h" - -void -Set_Bios_Geom(struct disk *disk, u_long cyl, u_long hd, u_long sect) -{ - - disk->bios_cyl = cyl; - disk->bios_hd = hd; - disk->bios_sect = sect; -} - -void -Sanitize_Bios_Geom(struct disk *disk) -{ - int sane; - - sane = 1; - - if (disk->bios_cyl >= 65536) - sane = 0; -#ifdef PC98 - if (disk->bios_hd >= 256) - sane = 0; - if (disk->bios_sect >= 256) - sane = 0; -#else - if (disk->bios_hd > 256) - sane = 0; - if (disk->bios_sect > 63) - sane = 0; -#endif -#if 0 /* Disable a check on a disk size. It's too strict. */ - if (disk->bios_cyl * disk->bios_hd * disk->bios_sect != - disk->chunks->size) - sane = 0; -#endif - if (sane) - return; - - /* First try something that IDE can handle */ - disk->bios_sect = 63; - disk->bios_hd = 16; - disk->bios_cyl = disk->chunks->size / - (disk->bios_sect * disk->bios_hd); - -#ifdef PC98 - if (disk->bios_cyl < 65536) -#else - if (disk->bios_cyl < 1024) -#endif - return; - - /* Hmm, try harder... */ - /* Assume standard SCSI parameter */ -#ifdef PC98 - disk->bios_sect = 128; - disk->bios_hd = 8; -#else - disk->bios_hd = 255; -#endif - disk->bios_cyl = disk->chunks->size / - (disk->bios_sect * disk->bios_hd); - -#ifdef PC98 - if (disk->bios_cyl < 65536) - return; - - /* Assume UIDE-133/98-A Challenger BIOS 0.9821C parameter */ - disk->bios_sect = 255; - disk->bios_hd = 16; - disk->bios_cyl = disk->chunks->size / - (disk->bios_sect * disk->bios_hd); - - if (disk->bios_cyl < 65536) - return; - - /* BIG-na-Drive? */ - disk->bios_hd = 255; - disk->bios_cyl = disk->chunks->size / - (disk->bios_sect * disk->bios_hd); -#endif -} - -void -All_FreeBSD(struct disk *d, int force_all) -{ - struct chunk *c; - int type; - -#ifdef PC98 - type = 0xc494; -#else - type = 0xa5; -#endif - -again: - for (c = d->chunks->part; c; c = c->next) - if (c->type != unused) { - Delete_Chunk(d, c); - goto again; - } - c = d->chunks; - if (force_all) { - Sanitize_Bios_Geom(d); - Create_Chunk(d, c->offset, c->size, freebsd, type, - CHUNK_FORCE_ALL, "FreeBSD"); - } else { - Create_Chunk(d, c->offset, c->size, freebsd, type, 0, - "FreeBSD"); - } -} |