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