Module Name:    src
Committed By:   tsutsui
Date:           Sat May 11 22:10:28 UTC 2024

Modified Files:
        src/sys/sys: bootblock.h
        src/usr.sbin/installboot/arch: hp300.c

Log Message:
Sync with src/sys/arch/hp300/stand/mkboot/volhdr.h rev 1.6.

https://mail-index.netbsd.org/source-changes/2024/05/07/msg151195.html
> Use proper signedness for the LIF file system data structures.

mkboot should use this MI <sys/bootblock.h> and volhdr.h should
be removed soon.


To generate a diff of this commit:
cvs rdiff -u -r1.58 -r1.59 src/sys/sys/bootblock.h
cvs rdiff -u -r1.17 -r1.18 src/usr.sbin/installboot/arch/hp300.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/sys/bootblock.h
diff -u src/sys/sys/bootblock.h:1.58 src/sys/sys/bootblock.h:1.59
--- src/sys/sys/bootblock.h:1.58	Sat Apr 29 00:05:35 2017
+++ src/sys/sys/bootblock.h	Sat May 11 22:10:27 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: bootblock.h,v 1.58 2017/04/29 00:05:35 nonaka Exp $	*/
+/*	$NetBSD: bootblock.h,v 1.59 2024/05/11 22:10:27 tsutsui Exp $	*/
 
 /*-
  * Copyright (c) 2002-2004 The NetBSD Foundation, Inc.
@@ -949,41 +949,41 @@ struct apple_blockzeroblock {
 /* volume header for "LIF" format volumes */
 
 struct	hp300_lifvol {
-	int16_t	vol_id;
-	char	vol_label[6];
-	int32_t	vol_addr;
-	int16_t	vol_oct;
-	int16_t	vol_dummy;
-	int32_t	vol_dirsize;
-	int16_t	vol_version;
-	int16_t	vol_zero;
-	int32_t	vol_huh1;
-	int32_t	vol_huh2;
-	int32_t	vol_length;
+	uint16_t	vol_id;
+	char		vol_label[6];
+	uint32_t	vol_addr;
+	uint16_t	vol_oct;
+	uint16_t	vol_dummy;
+	uint32_t	vol_dirsize;
+	uint16_t	vol_version;
+	uint16_t	vol_zero;
+	uint32_t	vol_huh1;
+	uint32_t	vol_huh2;
+	uint32_t	vol_length;
 };
 
 /* LIF directory entry format */
 
 struct	hp300_lifdir {
-	char	dir_name[10];
-	int16_t	dir_type;
-	int32_t	dir_addr;
-	int32_t	dir_length;
-	char	dir_toc[6];
-	int16_t	dir_flag;
-	int32_t	dir_exec;
+	char		dir_name[10];
+	uint16_t	dir_type;
+	uint32_t	dir_addr;
+	uint32_t	dir_length;
+	char		dir_toc[6];
+	uint16_t	dir_flag;
+	uint32_t	dir_exec;
 };
 
 /* load header for boot rom */
 struct hp300_load {
-	int32_t address;
-	int32_t count;
+	uint32_t	address;
+	uint32_t	count;
 };
 
-#define	HP300_VOL_ID		-32768
+#define	HP300_VOL_ID		0x8000	/* always $8000 */
 #define	HP300_VOL_OCT		4096
-#define	HP300_DIR_TYPE		-5822
-#define	HP300_DIR_FLAG		0x8001	/* dont ask me! */
+#define	HP300_DIR_TYPE		0xe942	/* "SYS9k Series 9000" */
+#define	HP300_DIR_FLAG		0x8001	/* don't ask me! */
 #define	HP300_SECTSIZE		256
 
 

Index: src/usr.sbin/installboot/arch/hp300.c
diff -u src/usr.sbin/installboot/arch/hp300.c:1.17 src/usr.sbin/installboot/arch/hp300.c:1.18
--- src/usr.sbin/installboot/arch/hp300.c:1.17	Sun Dec  5 05:01:50 2021
+++ src/usr.sbin/installboot/arch/hp300.c	Sat May 11 22:10:27 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: hp300.c,v 1.17 2021/12/05 05:01:50 msaitoh Exp $ */
+/* $NetBSD: hp300.c,v 1.18 2024/05/11 22:10:27 tsutsui Exp $ */
 
 /*-
  * Copyright (c) 2003 The NetBSD Foundation, Inc.
@@ -35,7 +35,7 @@
 
 #include <sys/cdefs.h>
 #if !defined(__lint)
-__RCSID("$NetBSD: hp300.c,v 1.17 2021/12/05 05:01:50 msaitoh Exp $");
+__RCSID("$NetBSD: hp300.c,v 1.18 2024/05/11 22:10:27 tsutsui Exp $");
 #endif /* !__lint */
 
 /* We need the target disklabel.h, not the hosts one..... */
@@ -167,11 +167,12 @@ hp300_setboot(ib_params *params)
 	/* Relocate files, sanity check LIF directory on the way */
 	lifdir = (void *)(bootstrap + HP300_SECTSIZE * 2);
 	for (i = 0; i < 8; lifdir++, i++) {
-		int32_t addr = be32toh(lifdir->dir_addr);
-		int32_t limit = (params->s1stat.st_size - 1) / HP300_SECTSIZE + 1;
-		int32_t end = addr + be32toh(lifdir->dir_length);
+		uint32_t addr = be32toh(lifdir->dir_addr);
+		uint32_t limit = (params->s1stat.st_size - 1) / HP300_SECTSIZE
+		    + 1;
+		uint32_t end = addr + be32toh(lifdir->dir_length);
 		if (end > limit) {
-			warnx("LIF entry %d larger (%d %d) than LIF file",
+			warnx("LIF entry %d larger (%u %u) than LIF file",
 				i, end, limit);
 			goto done;
 		}

Reply via email to