diff options
Diffstat (limited to 'sys/arch/mvme88k/stand/wrtvid')
-rw-r--r-- | sys/arch/mvme88k/stand/wrtvid/disklabel.h | 134 | ||||
-rw-r--r-- | sys/arch/mvme88k/stand/wrtvid/wrtvid.c | 29 |
2 files changed, 12 insertions, 151 deletions
diff --git a/sys/arch/mvme88k/stand/wrtvid/disklabel.h b/sys/arch/mvme88k/stand/wrtvid/disklabel.h deleted file mode 100644 index 8f064316489..00000000000 --- a/sys/arch/mvme88k/stand/wrtvid/disklabel.h +++ /dev/null @@ -1,134 +0,0 @@ -/* $OpenBSD: disklabel.h,v 1.5 2006/05/16 22:52:26 miod Exp $ */ -/* - * Copyright (c) 1996 Nivas Madhur - * Copyright (c) 1995 Dale Rahn. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _MACHINE_DISKLABEL_H_ -#define _MACHINE_DISKLABEL_H_ - -/* number of boot pieces , ie xxboot bootxx */ -#define NUMBOOT 2 - -#define PARTITIONSHIFT 4 - -#define LABELSECTOR 0 /* sector containing label */ -#define LABELOFFSET 0 /* offset of label in sector */ -#define MAXPARTITIONS (1 << PARTITIONSHIFT) /* number of partitions */ -#define RAW_PART 2 /* raw partition: xx?c */ - -/* - * used to encode disk minor numbers - * this should probably be moved to sys/disklabel.h - */ -#define DISKUNIT(dev) (minor(dev) / MAXPARTITIONS) -#define DISKPART(dev) (minor(dev) % MAXPARTITIONS) -#define MAKEDISKDEV(maj, unit, part) \ - (makedev((maj), ((unit) * MAXPARTITIONS) + (part))) - -/* - * Note: this structure is exactly 512 bytes in size. If you move fields - * around, make sure the various members are properly aligned and the - * compiler won't do any additional padding. - */ - -struct cpu_disklabel { - /* VID */ - u_char vid_id[4]; - u_char vid_0[16]; - u_int vid_oss; - u_short vid_osl; - u_char vid_1[4]; - u_short vid_osa_u; - u_short vid_osa_l; - u_char version; - u_char vid_2[1]; - u_short checksum; /* 2 */ - u_short partitions; - u_char vid_vd[16]; - u_long bbsize; - u_long magic1; /* 4 */ - u_short type; /* 2 */ - u_short subtype; /* 2 */ - u_char packname[16]; /* 16 */ - u_long flags; /* 4 */ - u_long drivedata[5]; /* 4 */ - u_long spare[5]; /* 4 */ - - u_long secpercyl; /* 4 */ - u_long secperunit; /* 4 */ - u_long headswitch; /* 4 */ - - u_char vid_3[4]; - u_int vid_cas; - u_char vid_cal; - u_char vid_4_0[3]; - u_char vid_4[64]; - u_char vid_4_1[28]; - u_long sbsize; - u_char vid_mot[8]; - - /* CFG */ - u_char cfg_0[4]; - u_short cfg_atm; - u_short cfg_prm; - u_short cfg_atw; - u_short cfg_rec; - - u_short sparespertrack; - u_short sparespercyl; - u_long acylinders; - u_short rpm; - u_short cylskew; - - u_char cfg_spt; - u_char cfg_hds; - u_short cfg_trk; - u_char cfg_ilv; - u_char cfg_sof; - u_short cfg_psm; - u_short cfg_shd; - u_char cfg_2[2]; - u_short cfg_pcom; - u_char cfg_3; - u_char cfg_ssr; - u_short cfg_rwcc; - u_short cfg_ecc; - u_short cfg_eatm; - u_short cfg_eprm; - u_short cfg_eatw; - u_char cfg_gpb1; - u_char cfg_gpb2; - u_char cfg_gpb3; - u_char cfg_gpb4; - u_char cfg_ssc; - u_char cfg_runit; - u_short cfg_rsvc1; - u_short cfg_rsvc2; - u_long magic2; - u_char cfg_4[192]; -}; -#endif /* _MACHINE_DISKLABEL_H_ */ diff --git a/sys/arch/mvme88k/stand/wrtvid/wrtvid.c b/sys/arch/mvme88k/stand/wrtvid/wrtvid.c index 4a0fa2f12ef..826daf6c908 100644 --- a/sys/arch/mvme88k/stand/wrtvid/wrtvid.c +++ b/sys/arch/mvme88k/stand/wrtvid/wrtvid.c @@ -1,4 +1,4 @@ -/* $OpenBSD: wrtvid.c,v 1.6 2006/05/18 06:11:16 miod Exp $ */ +/* $OpenBSD: wrtvid.c,v 1.7 2007/06/17 00:28:57 deraadt Exp $ */ /* * Copyright (c) 1995 Dale Rahn <drahn@openbsd.org> @@ -16,30 +16,25 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +#include <sys/types.h> +#include <sys/stat.h> +#include <sys/disklabel.h> #include <unistd.h> #include <fcntl.h> #include <stdio.h> #include <stdlib.h> #include <string.h> -#include <sys/stat.h> -#include <sys/types.h> - -#include "disklabel.h" -/* disklabel.h is in current dir because of my - cross-compile env. if <machine/disklabel.h> - is newer, copy it here. -*/ void copy_exe(int, int); -void swabcfg(struct cpu_disklabel *); -void swabvid(struct cpu_disklabel *); +void swabcfg(struct mvmedisklabel *); +void swabvid(struct mvmedisklabel *); int main(argc, argv) int argc; char **argv; { - struct cpu_disklabel *pcpul; + struct mvmedisklabel *pcpul; struct stat stat; int exe_file; int tape_vid; @@ -63,8 +58,8 @@ main(argc, argv) snprintf(fileext, sizeof fileext, "boot%c%c", filename[4], filename[5]); tape_exe = open(fileext, O_WRONLY|O_CREAT|O_TRUNC,0644); - pcpul = (struct cpu_disklabel *)malloc(sizeof(struct cpu_disklabel)); - bzero(pcpul, sizeof(struct cpu_disklabel)); + pcpul = (struct mvmedisklabel *)malloc(sizeof(struct mvmedisklabel)); + bzero(pcpul, sizeof(struct mvmedisklabel)); pcpul->version = 1; memcpy(pcpul->vid_id, "M88K", sizeof pcpul->vid_id); @@ -112,7 +107,7 @@ main(argc, argv) if (BYTE_ORDER != BIG_ENDIAN) swabcfg(pcpul); - write(tape_vid, pcpul, sizeof(struct cpu_disklabel)); + write(tape_vid, pcpul, sizeof(struct mvmedisklabel)); free(pcpul); @@ -143,7 +138,7 @@ copy_exe(exe_file, tape_exe) void swabvid(pcpul) - struct cpu_disklabel *pcpul; + struct mvmedisklabel *pcpul; { swap32(pcpul->vid_oss); swap16(pcpul->vid_osl); @@ -156,7 +151,7 @@ swabvid(pcpul) void swabcfg(pcpul) - struct cpu_disklabel *pcpul; + struct mvmedisklabel *pcpul; { swap16(pcpul->cfg_atm); swap16(pcpul->cfg_prm); |