svn commit: r254015 - in head: sbin/fdisk_pc98 sys/boot/pc98/boot2 sys/boot/pc98/libpc98 sys/geom sys/geom/part sys/sys usr.sbin/boot98cfg

Marcel Moolenaar marcel at FreeBSD.org
Wed Aug 7 00:00:50 UTC 2013


Author: marcel
Date: Wed Aug  7 00:00:48 2013
New Revision: 254015
URL: http://svnweb.freebsd.org/changeset/base/254015

Log:
  Change <sys/diskpc98.h> to not redefine the same symbols that are
  being defined in <sys/diskmbr.h>. Instead give the symbols here a
  "PC98_" prefix. This way, both <sys/diskmbr.h> and <sys/diskpc98.h>
  can be included in the same C source file.
  
  The renaming is trivial. The only gotcha is that DOSBBSECTOR is
  also redefined from 0 to 1. This because DOSBBSECTOR was always
  used in conjunction with an addition of 1. The PC98_BBSECTOR symbol
  is defined as 1 and the expression is simplified.
  
  Note: it is not believed that ports are seriously impacted; or at
  all for that matter.
  
  Approved by: nyan@

Modified:
  head/sbin/fdisk_pc98/fdisk.c
  head/sys/boot/pc98/boot2/boot2.c
  head/sys/boot/pc98/libpc98/biosdisk.c
  head/sys/geom/geom_pc98.c
  head/sys/geom/part/g_part_pc98.c
  head/sys/sys/diskpc98.h
  head/usr.sbin/boot98cfg/boot98cfg.c

Modified: head/sbin/fdisk_pc98/fdisk.c
==============================================================================
--- head/sbin/fdisk_pc98/fdisk.c	Tue Aug  6 21:44:54 2013	(r254014)
+++ head/sbin/fdisk_pc98/fdisk.c	Wed Aug  7 00:00:48 2013	(r254015)
@@ -254,7 +254,7 @@ main(int argc, char *argv[])
 		    dos_sectors);
 		printf("Part  %11s %11s %4s %4s %-16s\n", "Start", "Size", "MID",
 		    "SID", "Name");
-		for (i = 0; i < NDOSPART; i++) {
+		for (i = 0; i < PC98_NPARTS; i++) {
 			partp = ((struct pc98_partition *) &mboot.parts) + i;
 			if (partp->dp_sid == 0)
 				continue;
@@ -310,7 +310,7 @@ main(int argc, char *argv[])
 	    printf("Warning: BIOS sector numbering starts with sector 1\n");
 	    printf("Information from DOS bootblock is:\n");
 	    if (partition == -1)
-		for (i = 1; i <= NDOSPART; i++)
+		for (i = 1; i <= PC98_NPARTS; i++)
 		    change_part(i, v_flag);
 	    else
 		change_part(partition, 1);
@@ -367,7 +367,7 @@ print_s0(int which)
 	print_params();
 	printf("Information from DOS bootblock is:\n");
 	if (which == -1) {
-		for (i = 1; i <= NDOSPART; i++)
+		for (i = 1; i <= PC98_NPARTS; i++)
 			if (v_flag || !part_unused(i)) {
 				printf("%d: ", i);
 				print_part(i);
@@ -414,7 +414,7 @@ static void
 init_boot(void)
 {
 
-	mboot.signature = DOSMAGIC;
+	mboot.signature = PC98_MAGIC;
 }
 
 
@@ -517,7 +517,7 @@ change_active(int which)
 	int active, i, new, tmp;
 
 	active = -1;
-	for (i = 0; i < NDOSPART; i++) {
+	for (i = 0; i < PC98_NPARTS; i++) {
 		if ((partp[i].dp_sid & PC98_SID_ACTIVE) == 0)
 			continue;
 		printf("Partition %d is marked active\n", i + 1);
@@ -672,7 +672,7 @@ write_disk(off_t sector, void *buf)
 	if (error == sz)
 		return (0);
 
-	for (i = 0; i < NDOSPART; i++) {
+	for (i = 0; i < PC98_NPARTS; i++) {
 		sprintf(fbuf, "%ss%d", disk, i + 1);
 		fdw = open(fbuf, O_RDWR, 0);
 		if (fdw < 0)
@@ -731,7 +731,7 @@ read_s0()
 		warnx("can't read fdisk partition table");
 		return -1;
 	}
-	if (mboot.signature != DOSMAGIC) {
+	if (mboot.signature != PC98_MAGIC) {
 		warnx("invalid fdisk partition table found");
 		/* So should we initialize things */
 		return -1;
@@ -911,7 +911,7 @@ reset_boot(void)
 	struct pc98_partition *partp;
 
 	init_boot();
-	for (i = 1; i <= NDOSPART; i++) {
+	for (i = 1; i <= PC98_NPARTS; i++) {
 		partp = ((struct pc98_partition *) &mboot.parts) + i - 1;
 		bzero((char *)partp, sizeof (struct pc98_partition));
 	}

Modified: head/sys/boot/pc98/boot2/boot2.c
==============================================================================
--- head/sys/boot/pc98/boot2/boot2.c	Tue Aug  6 21:44:54 2013	(r254014)
+++ head/sys/boot/pc98/boot2/boot2.c	Wed Aug  7 00:00:48 2013	(r254015)
@@ -330,10 +330,10 @@ check_slice(void)
 
     if (dsk.type == TYPE_FD)
 	return (WHOLE_DISK_SLICE);
-    if (drvread(sec, DOSBBSECTOR + 1))
+    if (drvread(sec, PC98_BBSECTOR))
 	return (WHOLE_DISK_SLICE);	/* Read error */
-    dp = (void *)(sec + DOSPARTOFF);
-    for (i = 0; i < NDOSPART; i++) {
+    dp = (void *)(sec + PC98_PARTOFF);
+    for (i = 0; i < PC98_NPARTS; i++) {
 	if (dp[i].dp_mid == DOSMID_386BSD) {
 	    if (dp[i].dp_scyl <= cyl && cyl <= dp[i].dp_ecyl)
 		return (BASE_SLICE + i);
@@ -583,7 +583,7 @@ parse()
 		dsk.slice = WHOLE_DISK_SLICE;
 		if (arg[1] == ',') {
 		    dsk.slice = *arg - '0' + 1;
-		    if (dsk.slice > NDOSPART + 1)
+		    if (dsk.slice > PC98_NPARTS + 1)
 			return -1;
 		    arg += 2;
 		}
@@ -626,12 +626,12 @@ dskread(void *buf, unsigned lba, unsigne
 	set_dsk();
 	if (dsk.type == TYPE_FD)
 	    goto unsliced;
-	if (drvread(sec, DOSBBSECTOR + 1))
+	if (drvread(sec, PC98_BBSECTOR))
 	    return -1;
-	dp = (void *)(sec + DOSPARTOFF);
+	dp = (void *)(sec + PC98_PARTOFF);
 	sl = dsk.slice;
 	if (sl < BASE_SLICE) {
-	    for (i = 0; i < NDOSPART; i++)
+	    for (i = 0; i < PC98_NPARTS; i++)
 		if (dp[i].dp_mid == DOSMID_386BSD) {
 		    sl = BASE_SLICE + i;
 		    break;

Modified: head/sys/boot/pc98/libpc98/biosdisk.c
==============================================================================
--- head/sys/boot/pc98/libpc98/biosdisk.c	Tue Aug  6 21:44:54 2013	(r254014)
+++ head/sys/boot/pc98/libpc98/biosdisk.c	Wed Aug  7 00:00:48 2013	(r254015)
@@ -83,7 +83,7 @@ struct open_disk {
 #define BD_OPTICAL		0x0020
     struct disklabel		od_disklabel;
     int				od_nslices;	/* slice count */
-    struct pc98_partition	od_slicetab[NDOSPART];
+    struct pc98_partition	od_slicetab[PC98_NPARTS];
 };
 
 /*
@@ -528,9 +528,9 @@ bd_open_pc98(struct open_disk *od, struc
     /*
      * copy the partition table, then pick up any extended partitions.
      */
-    bcopy(buf + DOSPARTOFF, &od->od_slicetab,
-      sizeof(struct pc98_partition) * NDOSPART);
-    od->od_nslices = NDOSPART;		/* extended slices start here */
+    bcopy(buf + PC98_PARTOFF, &od->od_slicetab,
+      sizeof(struct pc98_partition) * PC98_NPARTS);
+    od->od_nslices = PC98_NPARTS;	/* extended slices start here */
     od->od_flags |= BD_PARTTABOK;
     dptr = &od->od_slicetab[0];
 
@@ -647,7 +647,7 @@ bd_open_pc98(struct open_disk *od, struc
 #define PREF_NONE	7
 
 /*
- * slicelimit is in the range 0 .. NDOSPART
+ * slicelimit is in the range 0 .. PC98_NPARTS
  */
 static int
 bd_bestslice(struct open_disk *od)

Modified: head/sys/geom/geom_pc98.c
==============================================================================
--- head/sys/geom/geom_pc98.c	Tue Aug  6 21:44:54 2013	(r254014)
+++ head/sys/geom/geom_pc98.c	Wed Aug  7 00:00:48 2013	(r254015)
@@ -56,7 +56,7 @@ FEATURE(geom_pc98, "GEOM NEC PC9800 part
 
 struct g_pc98_softc {
 	u_int fwsectors, fwheads, sectorsize;
-	int type[NDOSPART];
+	int type[PC98_NPARTS];
 	u_char sec[8192];
 };
 
@@ -84,8 +84,8 @@ static int
 g_pc98_modify(struct g_geom *gp, struct g_pc98_softc *ms, u_char *sec, int len __unused)
 {
 	int i, error;
-	off_t s[NDOSPART], l[NDOSPART];
-	struct pc98_partition dp[NDOSPART];
+	off_t s[PC98_NPARTS], l[PC98_NPARTS];
+	struct pc98_partition dp[PC98_NPARTS];
 
 	g_topology_assert();
 	
@@ -114,11 +114,11 @@ g_pc98_modify(struct g_geom *gp, struct 
 		return (EBUSY);
 #endif
 
-	for (i = 0; i < NDOSPART; i++)
+	for (i = 0; i < PC98_NPARTS; i++)
 		pc98_partition_dec(
 			sec + 512 + i * sizeof(struct pc98_partition), &dp[i]);
 
-	for (i = 0; i < NDOSPART; i++) {
+	for (i = 0; i < PC98_NPARTS; i++) {
 		/* If start and end are identical it's bogus */
 		if (dp[i].dp_ssect == dp[i].dp_esect &&
 		    dp[i].dp_shd == dp[i].dp_ehd &&
@@ -146,7 +146,7 @@ g_pc98_modify(struct g_geom *gp, struct 
 			return (error);
 	}
 
-	for (i = 0; i < NDOSPART; i++) {
+	for (i = 0; i < PC98_NPARTS; i++) {
 		ms->type[i] = (dp[i].dp_sid << 8) | dp[i].dp_mid;
 		g_slice_config(gp, i, G_SLICE_CONFIG_SET, s[i], l[i],
 			       ms->sectorsize, "%ss%d", gp->name, i + 1);
@@ -269,7 +269,8 @@ g_pc98_taste(struct g_class *mp, struct 
 	if (flags == G_TF_NORMAL &&
 	    !strcmp(pp->geom->class->name, PC98_CLASS_NAME))
 		return (NULL);
-	gp = g_slice_new(mp, NDOSPART, pp, &cp, &ms, sizeof *ms, g_pc98_start);
+	gp = g_slice_new(mp, PC98_NPARTS, pp, &cp, &ms, sizeof *ms,
+	    g_pc98_start);
 	if (gp == NULL)
 		return (NULL);
 	g_topology_unlock();

Modified: head/sys/geom/part/g_part_pc98.c
==============================================================================
--- head/sys/geom/part/g_part_pc98.c	Tue Aug  6 21:44:54 2013	(r254014)
+++ head/sys/geom/part/g_part_pc98.c	Wed Aug  7 00:00:48 2013	(r254015)
@@ -109,8 +109,8 @@ static struct g_part_scheme g_part_pc98_
 	g_part_pc98_methods,
 	sizeof(struct g_part_pc98_table),
 	.gps_entrysz = sizeof(struct g_part_pc98_entry),
-	.gps_minent = NDOSPART,
-	.gps_maxent = NDOSPART,
+	.gps_minent = PC98_NPARTS,
+	.gps_maxent = PC98_NPARTS,
 	.gps_bootcodesz = BOOTSIZE,
 };
 G_PART_SCHEME_DECLARE(g_part_pc98);
@@ -259,7 +259,7 @@ g_part_pc98_create(struct g_part_table *
 	basetable->gpt_last = MIN(pp->mediasize / SECSIZE, UINT32_MAX) - 1;
 
 	table = (struct g_part_pc98_table *)basetable;
-	le16enc(table->boot + DOSMAGICOFFSET, DOSMAGIC);
+	le16enc(table->boot + PC98_MAGICOFS, PC98_MAGIC);
 	return (0);
 }
 
@@ -396,8 +396,8 @@ g_part_pc98_probe(struct g_part_table *t
 	/* We goto out on mismatch. */
 	res = ENXIO;
 
-	magic = le16dec(buf + DOSMAGICOFFSET);
-	if (magic != DOSMAGIC)
+	magic = le16dec(buf + PC98_MAGICOFS);
+	if (magic != PC98_MAGIC)
 		goto out;
 
 	sum = 0;
@@ -408,8 +408,8 @@ g_part_pc98_probe(struct g_part_table *t
 		goto out;
 	}
 
-	for (index = 0; index < NDOSPART; index++) {
-		p = buf + SECSIZE + index * DOSPARTSIZE;
+	for (index = 0; index < PC98_NPARTS; index++) {
+		p = buf + SECSIZE + index * PC98_PARTSIZE;
 		if (p[0] == 0 || p[1] == 0)	/* !dp_mid || !dp_sid */
 			continue;
 		scyl = le16dec(p + 10);
@@ -456,8 +456,8 @@ g_part_pc98_read(struct g_part_table *ba
 	bcopy(buf + SECSIZE, table->table, sizeof(table->table));
 	bcopy(buf + SECSIZE*2, table->menu, sizeof(table->menu));
 
-	for (index = NDOSPART - 1; index >= 0; index--) {
-		p = buf + SECSIZE + index * DOSPARTSIZE;
+	for (index = PC98_NPARTS - 1; index >= 0; index--) {
+		p = buf + SECSIZE + index * PC98_PARTSIZE;
 		ent.dp_mid = p[0];
 		ent.dp_sid = p[1];
 		ent.dp_dum1 = p[2];
@@ -482,7 +482,7 @@ g_part_pc98_read(struct g_part_table *ba
 		entry->ent = ent;
 	}
 
-	basetable->gpt_entries = NDOSPART;
+	basetable->gpt_entries = PC98_NPARTS;
 	basetable->gpt_first = cyl;
 	basetable->gpt_last = msize - 1;
 
@@ -569,7 +569,7 @@ g_part_pc98_write(struct g_part_table *b
 	table = (struct g_part_pc98_table *)basetable;
 	baseentry = LIST_FIRST(&basetable->gpt_entry);
 	for (index = 1; index <= basetable->gpt_entries; index++) {
-		p = table->table + (index - 1) * DOSPARTSIZE;
+		p = table->table + (index - 1) * PC98_PARTSIZE;
 		entry = (baseentry != NULL && index == baseentry->gpe_index)
 		    ? (struct g_part_pc98_entry *)baseentry : NULL;
 		if (entry != NULL && !baseentry->gpe_deleted) {
@@ -589,7 +589,7 @@ g_part_pc98_write(struct g_part_table *b
 			bcopy(entry->ent.dp_name, p + 16,
 			    sizeof(entry->ent.dp_name));
 		} else
-			bzero(p, DOSPARTSIZE);
+			bzero(p, PC98_PARTSIZE);
 
 		if (entry != NULL)
 			baseentry = LIST_NEXT(baseentry, gpe_entry);

Modified: head/sys/sys/diskpc98.h
==============================================================================
--- head/sys/sys/diskpc98.h	Tue Aug  6 21:44:54 2013	(r254014)
+++ head/sys/sys/diskpc98.h	Wed Aug  7 00:00:48 2013	(r254015)
@@ -35,15 +35,12 @@
 
 #include <sys/ioccom.h>
 
-#define	DOSBBSECTOR	0	/* DOS boot block relative sector number */
-#undef DOSPARTOFF
-#define	DOSPARTOFF	0
-#undef DOSPARTSIZE
-#define	DOSPARTSIZE	32
-#undef NDOSPART
-#define	NDOSPART	16
-#define	DOSMAGICOFFSET	510
-#define	DOSMAGIC	0xAA55
+#define	PC98_BBSECTOR	1	/* DOS boot block relative sector number */
+#define	PC98_PARTOFF	0
+#define	PC98_PARTSIZE	32
+#define	PC98_NPARTS	16
+#define	PC98_MAGICOFS	510
+#define	PC98_MAGIC	0xAA55
 
 #define	PC98_MID_BOOTABLE	0x80
 #define	PC98_MID_MASK		0x7f
@@ -55,8 +52,7 @@
 
 #define	DOSMID_386BSD		(PC98_MID_386BSD | PC98_MID_BOOTABLE)
 #define	DOSSID_386BSD		(PC98_SID_386BSD | PC98_SID_ACTIVE)
-#undef DOSPTYP_386BSD
-#define	DOSPTYP_386BSD		(DOSSID_386BSD << 8 | DOSMID_386BSD)
+#define	PC98_PTYP_386BSD	(DOSSID_386BSD << 8 | DOSMID_386BSD)
 
 struct pc98_partition {
     	unsigned char	dp_mid;
@@ -75,7 +71,7 @@ struct pc98_partition {
 	unsigned char	dp_name[16];
 };
 #ifdef CTASSERT
-CTASSERT(sizeof (struct pc98_partition) == DOSPARTSIZE);
+CTASSERT(sizeof (struct pc98_partition) == PC98_PARTSIZE);
 #endif
 
 void pc98_partition_dec(void const *pp, struct pc98_partition *d);

Modified: head/usr.sbin/boot98cfg/boot98cfg.c
==============================================================================
--- head/usr.sbin/boot98cfg/boot98cfg.c	Tue Aug  6 21:44:54 2013	(r254014)
+++ head/usr.sbin/boot98cfg/boot98cfg.c	Wed Aug  7 00:00:48 2013	(r254015)
@@ -271,7 +271,7 @@ write_boot(const char *disk, u_char *boo
 	warnx("%s: %s", disk, q);
 	gctl_free(grq);
 
-	for (i = 0; i < NDOSPART; i++) {
+	for (i = 0; i < PC98_NPARTS; i++) {
 		snprintf(buf, sizeof(buf), "%ss%d", disk, i + 1);
 		fd = open(buf, O_RDONLY);
 		if (fd < 0)


More information about the svn-src-head mailing list