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);