summaryrefslogtreecommitdiff
path: root/sys/arch/mvme88k/stand/wrtvid
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/mvme88k/stand/wrtvid')
-rw-r--r--sys/arch/mvme88k/stand/wrtvid/disklabel.h134
-rw-r--r--sys/arch/mvme88k/stand/wrtvid/wrtvid.c29
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);