Module Name:    src
Committed By:   thorpej
Date:           Sun Nov 22 03:55:33 UTC 2020

Modified Files:
        src/sys/arch/sparc/dev: bootbus.c ebus.c fd.c pckbc_js.c sbus.c sw.c
            vme_machdep.c
        src/sys/arch/sparc/sparc: clock.c cpuunit.c intr.c machdep.c msiiep.c

Log Message:
malloc(9) -> kmem(9) (easy, straight-forward cases only, for now)


To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 src/sys/arch/sparc/dev/bootbus.c \
    src/sys/arch/sparc/dev/pckbc_js.c
cvs rdiff -u -r1.37 -r1.38 src/sys/arch/sparc/dev/ebus.c
cvs rdiff -u -r1.160 -r1.161 src/sys/arch/sparc/dev/fd.c
cvs rdiff -u -r1.79 -r1.80 src/sys/arch/sparc/dev/sbus.c
cvs rdiff -u -r1.24 -r1.25 src/sys/arch/sparc/dev/sw.c
cvs rdiff -u -r1.70 -r1.71 src/sys/arch/sparc/dev/vme_machdep.c
cvs rdiff -u -r1.103 -r1.104 src/sys/arch/sparc/sparc/clock.c
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/sparc/sparc/cpuunit.c
cvs rdiff -u -r1.125 -r1.126 src/sys/arch/sparc/sparc/intr.c
cvs rdiff -u -r1.334 -r1.335 src/sys/arch/sparc/sparc/machdep.c
cvs rdiff -u -r1.48 -r1.49 src/sys/arch/sparc/sparc/msiiep.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/arch/sparc/dev/bootbus.c
diff -u src/sys/arch/sparc/dev/bootbus.c:1.19 src/sys/arch/sparc/dev/bootbus.c:1.20
--- src/sys/arch/sparc/dev/bootbus.c:1.19	Mon Jul 18 00:31:13 2011
+++ src/sys/arch/sparc/dev/bootbus.c	Sun Nov 22 03:55:33 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: bootbus.c,v 1.19 2011/07/18 00:31:13 mrg Exp $	*/
+/*	$NetBSD: bootbus.c,v 1.20 2020/11/22 03:55:33 thorpej Exp $	*/
 
 /*-
  * Copyright (c) 2002 The NetBSD Foundation, Inc.
@@ -34,10 +34,11 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: bootbus.c,v 1.19 2011/07/18 00:31:13 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: bootbus.c,v 1.20 2020/11/22 03:55:33 thorpej Exp $");
 
 #include <sys/param.h>
 #include <sys/malloc.h>
+#include <sys/kmem.h>
 #include <sys/systm.h>
 #include <sys/device.h>
 
@@ -95,8 +96,7 @@ bootbus_attach(device_t parent, device_t
 	/*
 	 * Initialize the bus space tag we pass on to our children.
 	 */
-	sc->sc_bustag = malloc(sizeof(*sc->sc_bustag), M_DEVBUF,
-	    M_WAITOK|M_ZERO);
+	sc->sc_bustag = kmem_zalloc(sizeof(*sc->sc_bustag), KM_SLEEP);
 	sc->sc_bustag->cookie = sc;
 	sc->sc_bustag->parent = sc->sc_st;
 	sc->sc_bustag->sparc_bus_map = sc->sc_st->sparc_bus_map;
Index: src/sys/arch/sparc/dev/pckbc_js.c
diff -u src/sys/arch/sparc/dev/pckbc_js.c:1.19 src/sys/arch/sparc/dev/pckbc_js.c:1.20
--- src/sys/arch/sparc/dev/pckbc_js.c:1.19	Sat Oct 13 17:58:54 2012
+++ src/sys/arch/sparc/dev/pckbc_js.c	Sun Nov 22 03:55:33 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: pckbc_js.c,v 1.19 2012/10/13 17:58:54 jdc Exp $ */
+/*	$NetBSD: pckbc_js.c,v 1.20 2020/11/22 03:55:33 thorpej Exp $ */
 
 /*
  * Copyright (c) 2002 Valeriy E. Ushakov
@@ -28,13 +28,13 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pckbc_js.c,v 1.19 2012/10/13 17:58:54 jdc Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pckbc_js.c,v 1.20 2020/11/22 03:55:33 thorpej Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/kernel.h>
 #include <sys/device.h>
-#include <sys/malloc.h>
+#include <sys/kmem.h>
 #include <sys/bus.h>
 #include <sys/intr.h>
 
@@ -194,8 +194,7 @@ pckbc_js_attach_common(struct pckbc_js_s
 			return;
 		}
 
-		t = malloc(sizeof(struct pckbc_internal), M_DEVBUF, M_WAITOK);
-		memset(t, 0, sizeof(struct pckbc_internal));
+		t = kmem_zalloc(sizeof(struct pckbc_internal), KM_SLEEP);
 		t->t_iot = iot;
 		t->t_ioh_d = ioh_d;
 		t->t_ioh_c = ioh_c;

Index: src/sys/arch/sparc/dev/ebus.c
diff -u src/sys/arch/sparc/dev/ebus.c:1.37 src/sys/arch/sparc/dev/ebus.c:1.38
--- src/sys/arch/sparc/dev/ebus.c:1.37	Sun Nov 10 21:16:32 2019
+++ src/sys/arch/sparc/dev/ebus.c	Sun Nov 22 03:55:33 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: ebus.c,v 1.37 2019/11/10 21:16:32 chs Exp $ */
+/*	$NetBSD: ebus.c,v 1.38 2020/11/22 03:55:33 thorpej Exp $ */
 
 /*
  * Copyright (c) 1999, 2000 Matthew R. Green
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ebus.c,v 1.37 2019/11/10 21:16:32 chs Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ebus.c,v 1.38 2020/11/22 03:55:33 thorpej Exp $");
 
 #if defined(DEBUG) && !defined(EBUS_DEBUG)
 #define EBUS_DEBUG
@@ -56,6 +56,7 @@ int ebus_debug = 0;
 #include <sys/device.h>
 #include <sys/errno.h>
 #include <sys/malloc.h>
+#include <sys/kmem.h>
 #include <sys/callout.h>
 #include <sys/kernel.h>
 
@@ -421,8 +422,7 @@ ebus_alloc_dma_tag(struct ebus_softc *sc
 {
 	bus_dma_tag_t dt;
 
-	dt = (bus_dma_tag_t)
-		malloc(sizeof(struct sparc_bus_dma_tag), M_DEVBUF, M_WAITOK | M_ZERO);
+	dt = kmem_zalloc(sizeof(*dt), KM_SLEEP);
 	dt->_cookie = sc;
 #define PCOPY(x)	dt->x = pdt->x
 	PCOPY(_dmamap_create);

Index: src/sys/arch/sparc/dev/fd.c
diff -u src/sys/arch/sparc/dev/fd.c:1.160 src/sys/arch/sparc/dev/fd.c:1.161
--- src/sys/arch/sparc/dev/fd.c:1.160	Sun Nov 10 21:16:32 2019
+++ src/sys/arch/sparc/dev/fd.c	Sun Nov 22 03:55:33 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: fd.c,v 1.160 2019/11/10 21:16:32 chs Exp $	*/
+/*	$NetBSD: fd.c,v 1.161 2020/11/22 03:55:33 thorpej Exp $	*/
 
 /*-
  * Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -101,7 +101,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: fd.c,v 1.160 2019/11/10 21:16:32 chs Exp $");
+__KERNEL_RCSID(0, "$NetBSD: fd.c,v 1.161 2020/11/22 03:55:33 thorpej Exp $");
 
 #include "opt_ddb.h"
 #include "opt_md.h"
@@ -118,7 +118,7 @@ __KERNEL_RCSID(0, "$NetBSD: fd.c,v 1.160
 #include <sys/fdio.h>
 #include <sys/buf.h>
 #include <sys/bufq.h>
-#include <sys/malloc.h>
+#include <sys/kmem.h>
 #include <sys/proc.h>
 #include <sys/uio.h>
 #include <sys/stat.h>
@@ -2100,8 +2100,7 @@ fdioctl(dev_t dev, u_long cmd, void *add
 			return (EINVAL);
 		}
 
-		fd_formb = malloc(sizeof(struct ne7_fd_formb),
-		    M_TEMP, M_WAITOK);
+		fd_formb = kmem_alloc(sizeof(*fd_formb), KM_SLEEP);
 		fd_formb->head = form_cmd->head;
 		fd_formb->cyl = form_cmd->cylinder;
 		fd_formb->transfer_rate = fd->sc_type->rate;
@@ -2125,7 +2124,7 @@ fdioctl(dev_t dev, u_long cmd, void *add
 		}
 
 		error = fdformat(dev, fd_formb, l->l_proc);
-		free(fd_formb, M_TEMP);
+		kmem_free(fd_formb, sizeof(*fd_formb));
 		return error;
 
 	case FDIOCGETOPTS:		/* get drive options */
@@ -2350,7 +2349,7 @@ fd_read_md_image(size_t	*sizep, void *	*
 
 	dev = makedev(54,0);	/* XXX */
 
-	addr = malloc(FDMICROROOTSIZE, M_DEVBUF, M_WAITOK);
+	addr = kmem_alloc(FDMICROROOTSIZE, KM_SLEEP);
 	*addrp = addr;
 
 	if (fdopen(dev, 0, S_IFCHR, NULL))

Index: src/sys/arch/sparc/dev/sbus.c
diff -u src/sys/arch/sparc/dev/sbus.c:1.79 src/sys/arch/sparc/dev/sbus.c:1.80
--- src/sys/arch/sparc/dev/sbus.c:1.79	Sun Nov 10 21:16:32 2019
+++ src/sys/arch/sparc/dev/sbus.c	Sun Nov 22 03:55:33 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: sbus.c,v 1.79 2019/11/10 21:16:32 chs Exp $ */
+/*	$NetBSD: sbus.c,v 1.80 2020/11/22 03:55:33 thorpej Exp $ */
 
 /*-
  * Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -74,10 +74,11 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sbus.c,v 1.79 2019/11/10 21:16:32 chs Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sbus.c,v 1.80 2020/11/22 03:55:33 thorpej Exp $");
 
 #include <sys/param.h>
 #include <sys/malloc.h>
+#include <sys/kmem.h>
 #include <sys/kernel.h>
 #include <sys/systm.h>
 #include <sys/device.h>
@@ -575,7 +576,7 @@ sbus_intr_establish(bus_space_tag_t t, i
 	struct intrhand *ih;
 	int pil;
 
-	ih = malloc(sizeof(struct intrhand), M_DEVBUF, M_WAITOK);
+	ih = kmem_alloc(sizeof(struct intrhand), KM_SLEEP);
 
 	/*
 	 * Translate Sbus interrupt priority to CPU interrupt level

Index: src/sys/arch/sparc/dev/sw.c
diff -u src/sys/arch/sparc/dev/sw.c:1.24 src/sys/arch/sparc/dev/sw.c:1.25
--- src/sys/arch/sparc/dev/sw.c:1.24	Sun Nov 10 21:16:32 2019
+++ src/sys/arch/sparc/dev/sw.c	Sun Nov 22 03:55:33 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: sw.c,v 1.24 2019/11/10 21:16:32 chs Exp $	*/
+/*	$NetBSD: sw.c,v 1.25 2020/11/22 03:55:33 thorpej Exp $	*/
 
 /*-
  * Copyright (c) 1996 The NetBSD Foundation, Inc.
@@ -85,7 +85,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sw.c,v 1.24 2019/11/10 21:16:32 chs Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sw.c,v 1.25 2020/11/22 03:55:33 thorpej Exp $");
 
 #include "opt_ddb.h"
 
@@ -93,7 +93,7 @@ __KERNEL_RCSID(0, "$NetBSD: sw.c,v 1.24 
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/kernel.h>
-#include <sys/malloc.h>
+#include <sys/kmem.h>
 #include <sys/errno.h>
 #include <sys/device.h>
 #include <sys/buf.h>
@@ -334,7 +334,7 @@ sw_attach(device_t parent, device_t self
 	 * Allocate DMA handles.
 	 */
 	i = SCI_OPENINGS * sizeof(struct sw_dma_handle);
-	sc->sc_dma = malloc(i, M_DEVBUF, M_WAITOK);
+	sc->sc_dma = kmem_alloc(i, KM_SLEEP);
 
 	for (i = 0; i < SCI_OPENINGS; i++) {
 		sc->sc_dma[i].dh_flags = 0;

Index: src/sys/arch/sparc/dev/vme_machdep.c
diff -u src/sys/arch/sparc/dev/vme_machdep.c:1.70 src/sys/arch/sparc/dev/vme_machdep.c:1.71
--- src/sys/arch/sparc/dev/vme_machdep.c:1.70	Sun Jun 14 01:40:05 2020
+++ src/sys/arch/sparc/dev/vme_machdep.c	Sun Nov 22 03:55:33 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: vme_machdep.c,v 1.70 2020/06/14 01:40:05 chs Exp $	*/
+/*	$NetBSD: vme_machdep.c,v 1.71 2020/11/22 03:55:33 thorpej Exp $	*/
 
 /*-
  * Copyright (c) 1997, 1998 The NetBSD Foundation, Inc.
@@ -30,13 +30,13 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vme_machdep.c,v 1.70 2020/06/14 01:40:05 chs Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vme_machdep.c,v 1.71 2020/11/22 03:55:33 thorpej Exp $");
 
 #include <sys/param.h>
 #include <sys/extent.h>
 #include <sys/systm.h>
 #include <sys/device.h>
-#include <sys/malloc.h>
+#include <sys/kmem.h>
 #include <sys/errno.h>
 
 #include <sys/proc.h>
@@ -717,7 +717,7 @@ sparc_vme_intr_map(void *cookie, int lev
 {
 	struct sparc_vme_intr_handle *ih;
 
-	ih = malloc(sizeof(struct sparc_vme_intr_handle), M_DEVBUF, M_WAITOK);
+	ih = kmem_alloc(sizeof(*ih), KM_SLEEP);
 	ih->pri = level;
 	ih->vec = vec;
 	ih->sc = cookie;/*XXX*/
@@ -762,7 +762,7 @@ sparc_vme_intr_establish(void *cookie, v
 			break;
 
 	if (ih == NULL) {
-		ih = malloc(sizeof(struct intrhand), M_DEVBUF, M_WAITOK|M_ZERO);
+		ih = kmem_zalloc(sizeof(*ih), KM_SLEEP);
 		ih->ih_fun = sc->sc_vmeintr;
 		ih->ih_arg = vih;
 		intr_establish(pil, 0, ih, NULL, false);

Index: src/sys/arch/sparc/sparc/clock.c
diff -u src/sys/arch/sparc/sparc/clock.c:1.103 src/sys/arch/sparc/sparc/clock.c:1.104
--- src/sys/arch/sparc/sparc/clock.c:1.103	Fri Jul  1 18:51:51 2011
+++ src/sys/arch/sparc/sparc/clock.c	Sun Nov 22 03:55:33 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: clock.c,v 1.103 2011/07/01 18:51:51 dyoung Exp $ */
+/*	$NetBSD: clock.c,v 1.104 2020/11/22 03:55:33 thorpej Exp $ */
 
 /*
  * Copyright (c) 1992, 1993
@@ -88,7 +88,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: clock.c,v 1.103 2011/07/01 18:51:51 dyoung Exp $");
+__KERNEL_RCSID(0, "$NetBSD: clock.c,v 1.104 2020/11/22 03:55:33 thorpej Exp $");
 
 #include "opt_sparc_arch.h"
 
@@ -96,7 +96,7 @@ __KERNEL_RCSID(0, "$NetBSD: clock.c,v 1.
 #include <sys/kernel.h>
 #include <sys/device.h>
 #include <sys/proc.h>
-#include <sys/malloc.h>
+#include <sys/kmem.h>
 #include <sys/systm.h>
 #include <sys/timetc.h>
 
@@ -244,11 +244,7 @@ eeprom_uio(struct uio *uio)
 	 * this, we byte-by-byte copy the eeprom contents into a
 	 * temporary buffer.
 	 */
-	buf = malloc(EEPROM_SIZE, M_DEVBUF, M_WAITOK);
-	if (buf == NULL) {
-		error = EAGAIN;
-		goto out;
-	}
+	buf = kmem_alloc(EEPROM_SIZE, KM_SLEEP);
 
 	if (uio->uio_rw == UIO_READ)
 		for (bcnt = 0; bcnt < EEPROM_SIZE; ++bcnt)
@@ -261,8 +257,7 @@ eeprom_uio(struct uio *uio)
 		error = eeprom_update(buf, off, cnt);
 
  out:
-	if (buf)
-		free(buf, M_DEVBUF);
+	kmem_free(buf, EEPROM_SIZE);
 	eeprom_give();
 	return (error);
 #else /* ! SUN4 */

Index: src/sys/arch/sparc/sparc/cpuunit.c
diff -u src/sys/arch/sparc/sparc/cpuunit.c:1.15 src/sys/arch/sparc/sparc/cpuunit.c:1.16
--- src/sys/arch/sparc/sparc/cpuunit.c:1.15	Sun Jul 17 23:18:23 2011
+++ src/sys/arch/sparc/sparc/cpuunit.c	Sun Nov 22 03:55:33 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: cpuunit.c,v 1.15 2011/07/17 23:18:23 mrg Exp $	*/
+/*	$NetBSD: cpuunit.c,v 1.16 2020/11/22 03:55:33 thorpej Exp $	*/
 
 /*-
  * Copyright (c) 2002 The NetBSD Foundation, Inc.
@@ -34,10 +34,11 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cpuunit.c,v 1.15 2011/07/17 23:18:23 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cpuunit.c,v 1.16 2020/11/22 03:55:33 thorpej Exp $");
 
 #include <sys/param.h>
 #include <sys/malloc.h>
+#include <sys/kmem.h>
 #include <sys/systm.h>
 #include <sys/device.h>
 
@@ -98,7 +99,7 @@ cpuunit_attach(device_t parent, device_t
 	/*
 	 * Initialize the bus space tag we pass on to our children.
 	 */
-	sbt = sc->sc_bustag = malloc(sizeof(*sbt), M_DEVBUF, M_WAITOK);
+	sbt = sc->sc_bustag = kmem_alloc(sizeof(*sbt), KM_SLEEP);
 	memcpy(sbt, sc->sc_st, sizeof(*sbt));
 	sbt->cookie = sc;
 	sbt->parent = sc->sc_st;

Index: src/sys/arch/sparc/sparc/intr.c
diff -u src/sys/arch/sparc/sparc/intr.c:1.125 src/sys/arch/sparc/sparc/intr.c:1.126
--- src/sys/arch/sparc/sparc/intr.c:1.125	Sun Mar 22 21:21:07 2020
+++ src/sys/arch/sparc/sparc/intr.c	Sun Nov 22 03:55:33 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: intr.c,v 1.125 2020/03/22 21:21:07 ad Exp $ */
+/*	$NetBSD: intr.c,v 1.126 2020/11/22 03:55:33 thorpej Exp $ */
 
 /*
  * Copyright (c) 1992, 1993
@@ -41,7 +41,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: intr.c,v 1.125 2020/03/22 21:21:07 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intr.c,v 1.126 2020/11/22 03:55:33 thorpej Exp $");
 
 #include "opt_multiprocessor.h"
 #include "opt_sparc_arch.h"
@@ -50,7 +50,7 @@ __KERNEL_RCSID(0, "$NetBSD: intr.c,v 1.1
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/kernel.h>
-#include <sys/malloc.h>
+#include <sys/kmem.h>
 #include <sys/cpu.h>
 #include <sys/intr.h>
 #include <sys/atomic.h>
@@ -798,7 +798,7 @@ sparc_softintr_establish(int level, void
 		}
 	}
 
-	sic = malloc(sizeof(*sic), M_DEVBUF, 0);
+	sic = kmem_alloc(sizeof(*sic), KM_SLEEP);
 	sic->sic_pil = pil;
 	sic->sic_pilreq = pilreq;
 	ih = &sic->sic_hand;
@@ -843,7 +843,7 @@ sparc_softintr_disestablish(void *cookie
 	struct softintr_cookie *sic = cookie;
 
 	ih_remove(&sintrhand[sic->sic_pil], &sic->sic_hand);
-	free(cookie, M_DEVBUF);
+	kmem_free(sic, sizeof(*sic));
 }
 
 #if 0

Index: src/sys/arch/sparc/sparc/machdep.c
diff -u src/sys/arch/sparc/sparc/machdep.c:1.334 src/sys/arch/sparc/sparc/machdep.c:1.335
--- src/sys/arch/sparc/sparc/machdep.c:1.334	Thu Jun 11 19:20:45 2020
+++ src/sys/arch/sparc/sparc/machdep.c	Sun Nov 22 03:55:33 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: machdep.c,v 1.334 2020/06/11 19:20:45 ad Exp $ */
+/*	$NetBSD: machdep.c,v 1.335 2020/11/22 03:55:33 thorpej Exp $ */
 
 /*-
  * Copyright (c) 1996, 1997, 1998 The NetBSD Foundation, Inc.
@@ -71,7 +71,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.334 2020/06/11 19:20:45 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.335 2020/11/22 03:55:33 thorpej Exp $");
 
 #include "opt_compat_netbsd.h"
 #include "opt_compat_sunos.h"
@@ -92,7 +92,7 @@ __KERNEL_RCSID(0, "$NetBSD: machdep.c,v 
 #include <sys/kernel.h>
 #include <sys/conf.h>
 #include <sys/file.h>
-#include <sys/malloc.h>
+#include <sys/kmem.h>
 #include <sys/mbuf.h>
 #include <sys/mount.h>
 #include <sys/msgbuf.h>
@@ -1249,6 +1249,14 @@ module_init_md(void)
 }
 #endif
 
+static size_t 
+_bus_dmamap_mapsize(int const nsegments)
+{       
+	KASSERT(nsegments > 0);
+	return sizeof(struct sparc_bus_dmamap) +
+	    (sizeof(bus_dma_segment_t) * (nsegments - 1));
+}
+
 /*
  * Common function for DMA map creation.  May be called by bus-specific
  * DMA map creation functions.
@@ -1260,7 +1268,6 @@ _bus_dmamap_create(bus_dma_tag_t t, bus_
 {
 	struct sparc_bus_dmamap *map;
 	void *mapstore;
-	size_t mapsize;
 
 	/*
 	 * Allocate and initialize the DMA map.  The end of the map
@@ -1274,13 +1281,10 @@ _bus_dmamap_create(bus_dma_tag_t t, bus_
 	 * The bus_dmamap_t includes one bus_dma_segment_t, hence
 	 * the (nsegments - 1).
 	 */
-	mapsize = sizeof(struct sparc_bus_dmamap) +
-	    (sizeof(bus_dma_segment_t) * (nsegments - 1));
-	if ((mapstore = malloc(mapsize, M_DMAMAP,
-	    (flags & BUS_DMA_NOWAIT) ? M_NOWAIT : M_WAITOK)) == NULL)
+	if ((mapstore = kmem_zalloc(_bus_dmamap_mapsize(nsegments),
+	    (flags & BUS_DMA_NOWAIT) ? KM_NOSLEEP : KM_SLEEP)) == NULL)
 		return (ENOMEM);
 
-	memset(mapstore, 0, mapsize);
 	map = (struct sparc_bus_dmamap *)mapstore;
 	map->_dm_size = size;
 	map->_dm_segcnt = nsegments;
@@ -1304,7 +1308,7 @@ void
 _bus_dmamap_destroy(bus_dma_tag_t t, bus_dmamap_t map)
 {
 
-	free(map, M_DMAMAP);
+	kmem_free(map, _bus_dmamap_mapsize(map->_dm_segcnt));
 }
 
 /*
@@ -1371,8 +1375,8 @@ _bus_dmamem_alloc(bus_dma_tag_t t, bus_s
 	low = vm_first_phys;
 	high = vm_first_phys + vm_num_phys - PAGE_SIZE;
 
-	if ((mlist = malloc(sizeof(*mlist), M_DEVBUF,
-	    (flags & BUS_DMA_NOWAIT) ? M_NOWAIT : M_WAITOK)) == NULL)
+	if ((mlist = kmem_alloc(sizeof(*mlist),
+	    (flags & BUS_DMA_NOWAIT) ? KM_NOSLEEP : KM_SLEEP)) == NULL)
 		return (ENOMEM);
 
 	/*
@@ -1381,7 +1385,7 @@ _bus_dmamem_alloc(bus_dma_tag_t t, bus_s
 	error = uvm_pglistalloc(size, low, high, 0, 0,
 				mlist, nsegs, (flags & BUS_DMA_NOWAIT) == 0);
 	if (error) {
-		free(mlist, M_DEVBUF);
+		kmem_free(mlist, sizeof(*mlist));
 		return (error);
 	}
 
@@ -1414,6 +1418,7 @@ _bus_dmamem_alloc(bus_dma_tag_t t, bus_s
 void
 _bus_dmamem_free(bus_dma_tag_t t, bus_dma_segment_t *segs, int nsegs)
 {
+	struct pglist *mlist = segs[0]._ds_mlist;
 
 	if (nsegs != 1)
 		panic("bus_dmamem_free: nsegs = %d", nsegs);
@@ -1421,8 +1426,8 @@ _bus_dmamem_free(bus_dma_tag_t t, bus_dm
 	/*
 	 * Return the list of pages back to the VM system.
 	 */
-	uvm_pglistfree(segs[0]._ds_mlist);
-	free(segs[0]._ds_mlist, M_DEVBUF);
+	uvm_pglistfree(mlist);
+	kmem_free(mlist, sizeof(*mlist));
 }
 
 /*
@@ -2793,8 +2798,7 @@ bus_space_tag_alloc(bus_space_tag_t pare
 {
 	struct sparc_bus_space_tag *sbt;
 
-	sbt = malloc(sizeof(struct sparc_bus_space_tag),
-		     M_DEVBUF, M_WAITOK|M_ZERO);
+	sbt = kmem_zalloc(sizeof(*sbt), KM_SLEEP);
 
 	if (parent) {
 		memcpy(sbt, parent, sizeof(*sbt));
@@ -3012,7 +3016,7 @@ sparc_mainbus_intr_establish(bus_space_t
 {
 	struct intrhand *ih;
 
-	ih = malloc(sizeof(struct intrhand), M_DEVBUF, M_WAITOK);
+	ih = kmem_alloc(sizeof(struct intrhand), KM_SLEEP);
 	ih->ih_fun = handler;
 	ih->ih_arg = arg;
 	intr_establish(pil, level, ih, fastvec, false);

Index: src/sys/arch/sparc/sparc/msiiep.c
diff -u src/sys/arch/sparc/sparc/msiiep.c:1.48 src/sys/arch/sparc/sparc/msiiep.c:1.49
--- src/sys/arch/sparc/sparc/msiiep.c:1.48	Mon Dec 30 22:13:47 2019
+++ src/sys/arch/sparc/sparc/msiiep.c	Sun Nov 22 03:55:33 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: msiiep.c,v 1.48 2019/12/30 22:13:47 ad Exp $ */
+/*	$NetBSD: msiiep.c,v 1.49 2020/11/22 03:55:33 thorpej Exp $ */
 
 /*
  * Copyright (c) 2001 Valeriy E. Ushakov
@@ -27,10 +27,10 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: msiiep.c,v 1.48 2019/12/30 22:13:47 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: msiiep.c,v 1.49 2020/11/22 03:55:33 thorpej Exp $");
 
 #include <sys/param.h>
-#include <sys/malloc.h>
+#include <sys/kmem.h>
 #include <sys/kernel.h>
 #include <sys/systm.h>
 #include <sys/device.h>
@@ -559,7 +559,7 @@ mspcic_intr_establish(bus_space_tag_t t,
 	struct intrhand *ih;
 	int pil;
 
-	ih = malloc(sizeof(struct intrhand), M_DEVBUF, M_WAITOK);
+	ih = kmem_alloc(sizeof(*ih), KM_SLEEP);
 
 	/* use pil set-up by prom */
 	pil = mspcic_assigned_interrupt(line);

Reply via email to