Module Name:    src
Committed By:   tsutsui
Date:           Fri Nov 25 13:02:51 UTC 2022

Modified Files:
        src/sys/arch/hp300/dev: rd.c rdreg.h

Log Message:
Use proper integer types for HP-IB xfer parameters.

No visible regression on 425t and HPDisk.


To generate a diff of this commit:
cvs rdiff -u -r1.112 -r1.113 src/sys/arch/hp300/dev/rd.c
cvs rdiff -u -r1.19 -r1.20 src/sys/arch/hp300/dev/rdreg.h

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

Modified files:

Index: src/sys/arch/hp300/dev/rd.c
diff -u src/sys/arch/hp300/dev/rd.c:1.112 src/sys/arch/hp300/dev/rd.c:1.113
--- src/sys/arch/hp300/dev/rd.c:1.112	Wed Nov 23 18:53:22 2022
+++ src/sys/arch/hp300/dev/rd.c	Fri Nov 25 13:02:51 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: rd.c,v 1.112 2022/11/23 18:53:22 tsutsui Exp $	*/
+/*	$NetBSD: rd.c,v 1.113 2022/11/25 13:02:51 tsutsui Exp $	*/
 
 /*-
  * Copyright (c) 1996, 1997 The NetBSD Foundation, Inc.
@@ -72,7 +72,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rd.c,v 1.112 2022/11/23 18:53:22 tsutsui Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rd.c,v 1.113 2022/11/25 13:02:51 tsutsui Exp $");
 
 #include "opt_useleds.h"
 
@@ -562,7 +562,7 @@ static int
 rdident(device_t parent, struct rd_softc *sc, struct hpibbus_attach_args *ha)
 {
 	struct cs80_describe desc;
-	u_char stat, cmd[3];
+	uint8_t stat, cmd[3];
 	char name[7];
 	int i, id, n, ctlr, slave;
 
@@ -717,7 +717,7 @@ rdreset_unit(int ctlr, int slave, int pu
 	struct rd_ssmcmd ssmc;
 	struct rd_srcmd src;
 	struct rd_clearcmd clear;
-	u_char stat;
+	uint8_t stat;
 
 	clear.c_unit = C_SUNIT(punit);
 	clear.c_cmd = C_CLEAR;
@@ -1032,7 +1032,7 @@ again:
 	 */
 #ifdef DEBUG
 	if (rddebug & RDB_ERROR)
-		printf("%s: rdstart: cmd %x adr %lx blk %lld len %d ecnt %d\n",
+		printf("%s: rdstart: cmd %x adr %x blk %lld len %d ecnt %d\n",
 		    device_xname(sc->sc_dev),
 		    sc->sc_ioc.c_cmd, sc->sc_ioc.c_addr,
 		    bp->b_blkno, sc->sc_resid, sc->sc_errcnt);
@@ -1042,7 +1042,7 @@ again:
 	rdreset(sc);
 	if (sc->sc_errcnt++ < RDRETRY)
 		goto again;
-	printf("%s: rdstart err: cmd 0x%x sect %ld blk %" PRId64 " len %d\n",
+	printf("%s: rdstart err: cmd 0x%x sect %u blk %" PRId64 " len %d\n",
 	    device_xname(sc->sc_dev), sc->sc_ioc.c_cmd, sc->sc_ioc.c_addr,
 	    bp->b_blkno, sc->sc_resid);
 	bp->b_error = EIO;
@@ -1083,7 +1083,7 @@ rdintr(void *arg)
 	struct rd_softc *sc = arg;
 	int unit = device_unit(sc->sc_dev);
 	struct buf *bp = bufq_peek(sc->sc_tab);
-	u_char stat = 13;	/* in case hpibrecv fails */
+	uint8_t stat = 13;	/* in case hpibrecv fails */
 	int rv, restart, ctlr, slave;
 
 	ctlr = device_unit(device_parent(sc->sc_dev));
@@ -1150,7 +1150,7 @@ static int
 rdstatus(struct rd_softc *sc)
 {
 	int c, s;
-	u_char stat;
+	uint8_t stat;
 	int rv;
 
 	c = device_unit(device_parent(sc->sc_dev));
@@ -1284,17 +1284,17 @@ rderror(int unit)
 		rdprinterr("access", sp->c_aef, err_access);
 		rdprinterr("info", sp->c_ief, err_info);
 		printf("    block: %lld, P1-P10: ", hwbn);
-		printf("0x%x", *(u_int *)&sp->c_raw[0]);
-		printf("0x%x", *(u_int *)&sp->c_raw[4]);
-		printf("0x%x\n", *(u_short *)&sp->c_raw[8]);
+		printf("0x%x", *(uint32_t *)&sp->c_raw[0]);
+		printf("0x%x", *(uint32_t *)&sp->c_raw[4]);
+		printf("0x%x\n", *(uint16_t *)&sp->c_raw[8]);
 		/* command */
 		printf("    ioc: ");
-		printf("0x%x", *(u_int *)&sc->sc_ioc.c_pad);
-		printf("0x%x", *(u_short *)&sc->sc_ioc.c_hiaddr);
-		printf("0x%x", *(u_int *)&sc->sc_ioc.c_addr);
-		printf("0x%x", *(u_short *)&sc->sc_ioc.c_nop2);
-		printf("0x%x", *(u_int *)&sc->sc_ioc.c_len);
-		printf("0x%x\n", *(u_short *)&sc->sc_ioc.c_cmd);
+		printf("0x%x", *(uint32_t *)&sc->sc_ioc.c_pad);
+		printf("0x%x", *(uint16_t *)&sc->sc_ioc.c_hiaddr);
+		printf("0x%x", *(uint32_t *)&sc->sc_ioc.c_addr);
+		printf("0x%x", *(uint16_t *)&sc->sc_ioc.c_nop2);
+		printf("0x%x", *(uint32_t *)&sc->sc_ioc.c_len);
+		printf("0x%x\n", *(uint16_t *)&sc->sc_ioc.c_cmd);
 		return 1;
 	}
 #endif
@@ -1302,9 +1302,9 @@ rderror(int unit)
 	    (sp->c_vu>>4)&0xF, sp->c_vu&0xF,
 	    sp->c_ref, sp->c_fef, sp->c_aef, sp->c_ief);
 	printf("P1-P10: ");
-	printf("0x%x", *(u_int *)&sp->c_raw[0]);
-	printf("0x%x", *(u_int *)&sp->c_raw[4]);
-	printf("0x%x\n", *(u_short *)&sp->c_raw[8]);
+	printf("0x%x", *(uint32_t *)&sp->c_raw[0]);
+	printf("0x%x", *(uint32_t *)&sp->c_raw[4]);
+	printf("0x%x\n", *(uint16_t *)&sp->c_raw[8]);
 	return 1;
 }
 

Index: src/sys/arch/hp300/dev/rdreg.h
diff -u src/sys/arch/hp300/dev/rdreg.h:1.19 src/sys/arch/hp300/dev/rdreg.h:1.20
--- src/sys/arch/hp300/dev/rdreg.h:1.19	Mon Nov 21 16:22:37 2022
+++ src/sys/arch/hp300/dev/rdreg.h	Fri Nov 25 13:02:51 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: rdreg.h,v 1.19 2022/11/21 16:22:37 tsutsui Exp $	*/
+/*	$NetBSD: rdreg.h,v 1.20 2022/11/25 13:02:51 tsutsui Exp $	*/
 
 /*
  * Copyright (c) 1988 University of Utah.
@@ -39,42 +39,42 @@
  */
 
 struct	rd_iocmd {
-	char	c_pad;
-	char	c_unit;
-	char	c_volume;
-	char	c_saddr;
-	short	c_hiaddr;
-	long	c_addr;
-	char	c_nop2;
-	char	c_slen;
-	long	c_len;
-	char	c_cmd;
-	char	c_pad2;
+	uint8_t 	c_pad;
+	uint8_t 	c_unit;
+	uint8_t 	c_volume;
+	uint8_t 	c_saddr;
+	uint16_t	c_hiaddr;
+	uint32_t	c_addr;
+	uint8_t 	c_nop2;
+	uint8_t 	c_slen;
+	uint32_t	c_len;
+	uint8_t 	c_cmd;
+	uint8_t 	c_pad2;
 } __attribute__((__packed__));
 
 struct	rd_rscmd {
-	char	c_unit;
-	char	c_sram;
-	char	c_ram;
-	char	c_cmd;
+	uint8_t 	c_unit;
+	uint8_t 	c_sram;
+	uint8_t 	c_ram;
+	uint8_t 	c_cmd;
 } __attribute__((__packed__));
 
 struct	rd_stat {
-	char	c_vu;
-	char	c_pend;
-	short	c_ref;
-	short	c_fef;
-	short	c_aef;
-	short	c_ief;
+	uint8_t 	c_vu;
+	uint8_t 	c_pend;
+	uint16_t	c_ref;
+	uint16_t	c_fef;
+	uint16_t	c_aef;
+	uint16_t	c_ief;
 	union {
-		char cu_raw[10];
+		uint8_t cu_raw[10];
 		struct {
-			short	cu_msw;
-			long	cu_lsl;
+			uint16_t	cu_msw;
+			uint32_t	cu_lsl;
 		} cu_sva;
 		struct {
-			long	cu_cyhd;
-			short	cu_sect;
+			uint32_t	cu_cyhd;
+			uint16_t	cu_sect;
 		} cu_tva;
 	} c_pf;
 } __attribute__((__packed__));
@@ -83,24 +83,24 @@ struct	rd_stat {
 #define	c_tva	c_pf.cu_tva
 
 struct	rd_ssmcmd {
-	char	c_unit;
-	char	c_cmd;
-	short	c_refm;
-	short	c_fefm;
-	short	c_aefm;
-	short	c_iefm;
+	uint8_t 	c_unit;
+	uint8_t 	c_cmd;
+	uint16_t	c_refm;
+	uint16_t	c_fefm;
+	uint16_t	c_aefm;
+	uint16_t	c_iefm;
 } __attribute__((__packed__));
 
 struct	rd_srcmd {
-	char	c_unit;
-	char	c_nop;
-	char	c_cmd;
-	char	c_param;
+	uint8_t 	c_unit;
+	uint8_t 	c_nop;
+	uint8_t 	c_cmd;
+	uint8_t 	c_param;
 } __attribute__((__packed__));
 
 struct	rd_clearcmd {
-	char	c_unit;
-	char	c_cmd;
+	uint8_t 	c_unit;
+	uint8_t 	c_cmd;
 } __attribute__((__packed__));
 
 /* HW ids */
@@ -313,7 +313,7 @@ struct	rd_clearcmd {
 #define	RDSTOB(x)	((x) >> (DEV_BSHIFT-8))
 
 /* extract cyl/head/sect info from three-vector address */
-#define	RDCYL(tva)	((u_long)(tva).cu_cyhd >> 8)
+#define	RDCYL(tva)	((uint32_t)(tva).cu_cyhd >> 8)
 #define	RDHEAD(tva)	((tva).cu_cyhd & 0xFF)
 #define	RDSECT(tva)	((tva).cu_sect)
 

Reply via email to