Module Name: src Committed By: thorpej Date: Mon Jan 4 14:48:52 UTC 2021
Modified Files: src/sys/arch/sparc64/dev: cbus.c central.c ebus.c ebus_mainbus.c fdc.c fhc.c pckbc_ebus.c psycho.c pyro.c sbus.c upa.c vbus.c vpci.c vrtc.c src/sys/arch/sparc64/sparc64: machdep.c Log Message: malloc(9) -> kmem(9) -- just the simple, straightforward conversions for now. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/sys/arch/sparc64/dev/cbus.c \ src/sys/arch/sparc64/dev/pckbc_ebus.c cvs rdiff -u -r1.4 -r1.5 src/sys/arch/sparc64/dev/central.c \ src/sys/arch/sparc64/dev/vbus.c cvs rdiff -u -r1.64 -r1.65 src/sys/arch/sparc64/dev/ebus.c cvs rdiff -u -r1.17 -r1.18 src/sys/arch/sparc64/dev/ebus_mainbus.c cvs rdiff -u -r1.48 -r1.49 src/sys/arch/sparc64/dev/fdc.c cvs rdiff -u -r1.6 -r1.7 src/sys/arch/sparc64/dev/fhc.c cvs rdiff -u -r1.128 -r1.129 src/sys/arch/sparc64/dev/psycho.c cvs rdiff -u -r1.20 -r1.21 src/sys/arch/sparc64/dev/pyro.c cvs rdiff -u -r1.99 -r1.100 src/sys/arch/sparc64/dev/sbus.c cvs rdiff -u -r1.19 -r1.20 src/sys/arch/sparc64/dev/upa.c cvs rdiff -u -r1.8 -r1.9 src/sys/arch/sparc64/dev/vpci.c cvs rdiff -u -r1.2 -r1.3 src/sys/arch/sparc64/dev/vrtc.c cvs rdiff -u -r1.298 -r1.299 src/sys/arch/sparc64/sparc64/machdep.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/sparc64/dev/cbus.c diff -u src/sys/arch/sparc64/dev/cbus.c:1.3 src/sys/arch/sparc64/dev/cbus.c:1.4 --- src/sys/arch/sparc64/dev/cbus.c:1.3 Sun Nov 10 21:16:33 2019 +++ src/sys/arch/sparc64/dev/cbus.c Mon Jan 4 14:48:51 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: cbus.c,v 1.3 2019/11/10 21:16:33 chs Exp $ */ +/* $NetBSD: cbus.c,v 1.4 2021/01/04 14:48:51 thorpej Exp $ */ /* $OpenBSD: cbus.c,v 1.15 2015/09/27 11:29:20 kettenis Exp $ */ /* * Copyright (c) 2008 Mark Kettenis @@ -18,7 +18,7 @@ #include <sys/param.h> #include <sys/device.h> -#include <sys/malloc.h> +#include <sys/kmem.h> #include <sys/systm.h> #include <machine/autoconf.h> @@ -238,7 +238,7 @@ cbus_alloc_bus_tag(struct cbus_softc *sc { struct sparc_bus_space_tag *bt; - bt = malloc(sizeof(*bt), M_DEVBUF, M_WAITOK | M_ZERO); + bt = kmem_zalloc(sizeof(*bt), KM_SLEEP); bt->cookie = sc; bt->parent = parent; bt->sparc_bus_map = parent->sparc_bus_map; Index: src/sys/arch/sparc64/dev/pckbc_ebus.c diff -u src/sys/arch/sparc64/dev/pckbc_ebus.c:1.3 src/sys/arch/sparc64/dev/pckbc_ebus.c:1.4 --- src/sys/arch/sparc64/dev/pckbc_ebus.c:1.3 Sat Oct 13 20:11:48 2018 +++ src/sys/arch/sparc64/dev/pckbc_ebus.c Mon Jan 4 14:48:51 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: pckbc_ebus.c,v 1.3 2018/10/13 20:11:48 macallan Exp $ */ +/* $NetBSD: pckbc_ebus.c,v 1.4 2021/01/04 14:48:51 thorpej Exp $ */ /* * Copyright (c) 2002 Valeriy E. Ushakov @@ -28,13 +28,13 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: pckbc_ebus.c,v 1.3 2018/10/13 20:11:48 macallan Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pckbc_ebus.c,v 1.4 2021/01/04 14:48:51 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> @@ -154,8 +154,7 @@ pckbc_ebus_attach(device_t parent, devic 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/sparc64/dev/central.c diff -u src/sys/arch/sparc64/dev/central.c:1.4 src/sys/arch/sparc64/dev/central.c:1.5 --- src/sys/arch/sparc64/dev/central.c:1.4 Sun Nov 10 21:16:33 2019 +++ src/sys/arch/sparc64/dev/central.c Mon Jan 4 14:48:51 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: central.c,v 1.4 2019/11/10 21:16:33 chs Exp $ */ +/* $NetBSD: central.c,v 1.5 2021/01/04 14:48:51 thorpej Exp $ */ /* $OpenBSD: central.c,v 1.7 2010/11/11 17:58:23 miod Exp $ */ /* @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: central.c,v 1.4 2019/11/10 21:16:33 chs Exp $"); +__KERNEL_RCSID(0, "$NetBSD: central.c,v 1.5 2021/01/04 14:48:51 thorpej Exp $"); #include <sys/types.h> #include <sys/param.h> @@ -37,6 +37,7 @@ __KERNEL_RCSID(0, "$NetBSD: central.c,v #include <sys/device.h> #include <sys/conf.h> #include <sys/malloc.h> +#include <sys/kmem.h> #include <sys/bus.h> #include <machine/autoconf.h> @@ -153,7 +154,7 @@ central_alloc_bus_tag(struct central_sof { struct sparc_bus_space_tag *bt; - bt = malloc(sizeof(*bt), M_DEVBUF, M_WAITOK | M_ZERO); + bt = kmem_zalloc(sizeof(*bt), KM_SLEEP); bt->cookie = sc; bt->parent = sc->sc_bt; #if 0 Index: src/sys/arch/sparc64/dev/vbus.c diff -u src/sys/arch/sparc64/dev/vbus.c:1.4 src/sys/arch/sparc64/dev/vbus.c:1.5 --- src/sys/arch/sparc64/dev/vbus.c:1.4 Sun Nov 10 21:16:33 2019 +++ src/sys/arch/sparc64/dev/vbus.c Mon Jan 4 14:48:52 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: vbus.c,v 1.4 2019/11/10 21:16:33 chs Exp $ */ +/* $NetBSD: vbus.c,v 1.5 2021/01/04 14:48:52 thorpej Exp $ */ /* $OpenBSD: vbus.c,v 1.8 2015/09/27 11:29:20 kettenis Exp $ */ /* * Copyright (c) 2008 Mark Kettenis @@ -19,6 +19,7 @@ #include <sys/param.h> #include <sys/device.h> #include <sys/malloc.h> +#include <sys/kmem.h> #include <sys/systm.h> #include <machine/autoconf.h> @@ -261,7 +262,7 @@ vbus_alloc_bus_tag(struct vbus_softc *sc { struct sparc_bus_space_tag *bt; - bt = malloc(sizeof(*bt), M_DEVBUF, M_WAITOK | M_ZERO); + bt = kmem_zalloc(sizeof(*bt), KM_SLEEP); bt->cookie = sc; bt->parent = parent; bt->sparc_bus_map = parent->sparc_bus_map; Index: src/sys/arch/sparc64/dev/ebus.c diff -u src/sys/arch/sparc64/dev/ebus.c:1.64 src/sys/arch/sparc64/dev/ebus.c:1.65 --- src/sys/arch/sparc64/dev/ebus.c:1.64 Sun Nov 10 21:16:33 2019 +++ src/sys/arch/sparc64/dev/ebus.c Mon Jan 4 14:48:51 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: ebus.c,v 1.64 2019/11/10 21:16:33 chs Exp $ */ +/* $NetBSD: ebus.c,v 1.65 2021/01/04 14:48:51 thorpej Exp $ */ /* * Copyright (c) 1999, 2000, 2001 Matthew R. Green @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ebus.c,v 1.64 2019/11/10 21:16:33 chs Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ebus.c,v 1.65 2021/01/04 14:48:51 thorpej Exp $"); #include "opt_ddb.h" @@ -60,6 +60,7 @@ int ebus_debug = 0x0; #include <sys/errno.h> #include <sys/extent.h> #include <sys/malloc.h> +#include <sys/kmem.h> #include <sys/systm.h> #include <sys/time.h> @@ -365,7 +366,7 @@ ebus_alloc_bus_tag(struct ebus_softc *sc { bus_space_tag_t bt; - bt = malloc(sizeof(struct sparc_bus_space_tag), M_DEVBUF, M_WAITOK | M_ZERO); + bt = kmem_zalloc(sizeof(*bt), KM_SLEEP); bt->cookie = sc; bt->parent = sc->sc_memtag; bt->type = type; Index: src/sys/arch/sparc64/dev/ebus_mainbus.c diff -u src/sys/arch/sparc64/dev/ebus_mainbus.c:1.17 src/sys/arch/sparc64/dev/ebus_mainbus.c:1.18 --- src/sys/arch/sparc64/dev/ebus_mainbus.c:1.17 Sun Nov 10 21:16:33 2019 +++ src/sys/arch/sparc64/dev/ebus_mainbus.c Mon Jan 4 14:48:51 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: ebus_mainbus.c,v 1.17 2019/11/10 21:16:33 chs Exp $ */ +/* $NetBSD: ebus_mainbus.c,v 1.18 2021/01/04 14:48:51 thorpej Exp $ */ /* $OpenBSD: ebus_mainbus.c,v 1.7 2010/11/11 17:58:23 miod Exp $ */ /* @@ -18,7 +18,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ebus_mainbus.c,v 1.17 2019/11/10 21:16:33 chs Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ebus_mainbus.c,v 1.18 2021/01/04 14:48:51 thorpej Exp $"); #ifdef DEBUG #define EDB_PROM 0x01 @@ -38,7 +38,7 @@ extern int ebus_debug; #include <sys/device.h> #include <sys/errno.h> #include <sys/extent.h> -#include <sys/malloc.h> +#include <sys/kmem.h> #include <sys/systm.h> #include <sys/time.h> @@ -186,7 +186,7 @@ ebus_mainbus_alloc_bus_tag(struct ebus_s { struct sparc_bus_space_tag *bt; - bt = malloc(sizeof(*bt), M_DEVBUF, M_WAITOK | M_ZERO); + bt = kmem_zalloc(sizeof(*bt), KM_SLEEP); bt->cookie = sc; bt->parent = parent; bt->type = type; Index: src/sys/arch/sparc64/dev/fdc.c diff -u src/sys/arch/sparc64/dev/fdc.c:1.48 src/sys/arch/sparc64/dev/fdc.c:1.49 --- src/sys/arch/sparc64/dev/fdc.c:1.48 Sun Nov 10 21:16:33 2019 +++ src/sys/arch/sparc64/dev/fdc.c Mon Jan 4 14:48:51 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: fdc.c,v 1.48 2019/11/10 21:16:33 chs Exp $ */ +/* $NetBSD: fdc.c,v 1.49 2021/01/04 14:48:51 thorpej Exp $ */ /*- * Copyright (c) 2000 The NetBSD Foundation, Inc. @@ -101,7 +101,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: fdc.c,v 1.48 2019/11/10 21:16:33 chs Exp $"); +__KERNEL_RCSID(0, "$NetBSD: fdc.c,v 1.49 2021/01/04 14:48:51 thorpej Exp $"); #include "opt_ddb.h" #include "opt_md.h" @@ -119,7 +119,7 @@ __KERNEL_RCSID(0, "$NetBSD: fdc.c,v 1.48 #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> @@ -2287,8 +2287,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; @@ -2312,7 +2311,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 */ @@ -2542,7 +2541,7 @@ fd_read_md_image(size_t *sizep, void **a 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/sparc64/dev/fhc.c diff -u src/sys/arch/sparc64/dev/fhc.c:1.6 src/sys/arch/sparc64/dev/fhc.c:1.7 --- src/sys/arch/sparc64/dev/fhc.c:1.6 Sun Nov 10 21:16:33 2019 +++ src/sys/arch/sparc64/dev/fhc.c Mon Jan 4 14:48:51 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: fhc.c,v 1.6 2019/11/10 21:16:33 chs Exp $ */ +/* $NetBSD: fhc.c,v 1.7 2021/01/04 14:48:51 thorpej Exp $ */ /* $OpenBSD: fhc.c,v 1.17 2010/11/11 17:58:23 miod Exp $ */ /* @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: fhc.c,v 1.6 2019/11/10 21:16:33 chs Exp $"); +__KERNEL_RCSID(0, "$NetBSD: fhc.c,v 1.7 2021/01/04 14:48:51 thorpej Exp $"); #include <sys/types.h> #include <sys/param.h> @@ -37,6 +37,7 @@ __KERNEL_RCSID(0, "$NetBSD: fhc.c,v 1.6 #include <sys/device.h> #include <sys/conf.h> #include <sys/malloc.h> +#include <sys/kmem.h> #include <sys/bus.h> #include <machine/autoconf.h> @@ -163,7 +164,7 @@ fhc_alloc_bus_tag(struct fhc_softc *sc) { struct sparc_bus_space_tag *bt; - bt = malloc(sizeof(*bt), M_DEVBUF, M_WAITOK | M_ZERO); + bt = kmem_zalloc(sizeof(*bt), KM_SLEEP); bt->cookie = sc; bt->parent = sc->sc_bt; bt->type = 0; /* XXX asi? */ Index: src/sys/arch/sparc64/dev/psycho.c diff -u src/sys/arch/sparc64/dev/psycho.c:1.128 src/sys/arch/sparc64/dev/psycho.c:1.129 --- src/sys/arch/sparc64/dev/psycho.c:1.128 Sun Nov 10 21:16:33 2019 +++ src/sys/arch/sparc64/dev/psycho.c Mon Jan 4 14:48:51 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: psycho.c,v 1.128 2019/11/10 21:16:33 chs Exp $ */ +/* $NetBSD: psycho.c,v 1.129 2021/01/04 14:48:51 thorpej Exp $ */ /* * Copyright (c) 1999, 2000 Matthew R. Green @@ -55,7 +55,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: psycho.c,v 1.128 2019/11/10 21:16:33 chs Exp $"); +__KERNEL_RCSID(0, "$NetBSD: psycho.c,v 1.129 2021/01/04 14:48:51 thorpej Exp $"); #include "opt_ddb.h" @@ -81,7 +81,7 @@ int psycho_debug = 0x0; #include <sys/device.h> #include <sys/errno.h> #include <sys/extent.h> -#include <sys/malloc.h> +#include <sys/kmem.h> #include <sys/systm.h> #include <sys/time.h> #include <sys/reboot.h> @@ -463,8 +463,7 @@ found: /* * Allocate our psycho_pbm */ - pp = sc->sc_psycho_this = malloc(sizeof *pp, M_DEVBUF, - M_WAITOK | M_ZERO); + pp = sc->sc_psycho_this = kmem_zalloc(sizeof *pp, KM_SLEEP); pp->pp_sc = sc; /* grab the psycho ranges */ @@ -580,8 +579,7 @@ found: * Allocate bus node, this contains a prom node per bus. */ pp->pp_pc->spc_busnode = - malloc(sizeof(*pp->pp_pc->spc_busnode), M_DEVBUF, - M_WAITOK | M_ZERO); + kmem_zalloc(sizeof(*pp->pp_pc->spc_busnode), KM_SLEEP); /* * Setup IOMMU and PCI configuration if we're the first @@ -593,8 +591,7 @@ found: * * For the moment, 32KB should be more than enough. */ - sc->sc_is = malloc(sizeof(struct iommu_state), - M_DEVBUF, M_WAITOK); + sc->sc_is = kmem_alloc(sizeof(struct iommu_state), KM_SLEEP); /* Point the strbuf_ctl at the iommu_state */ pp->pp_sb.sb_is = sc->sc_is; @@ -725,12 +722,7 @@ psycho_register_power_button(struct psyc sysmon_task_queue_init(); sc->sc_powerpressed = 0; - sc->sc_smcontext = malloc(sizeof(struct sysmon_pswitch), M_DEVBUF, 0); - if (!sc->sc_smcontext) { - aprint_error_dev(sc->sc_dev, "could not allocate power button context\n"); - return; - } - memset(sc->sc_smcontext, 0, sizeof(struct sysmon_pswitch)); + sc->sc_smcontext = kmem_zalloc(sizeof(struct sysmon_pswitch), KM_SLEEP); sc->sc_smcontext->smpsw_name = device_xname(sc->sc_dev); sc->sc_smcontext->smpsw_type = PSWITCH_TYPE_POWER; if (sysmon_pswitch_register(sc->sc_smcontext) != 0) @@ -758,7 +750,7 @@ psycho_alloc_chipset(struct psycho_pbm * { pci_chipset_tag_t npc; - npc = malloc(sizeof *npc, M_DEVBUF, M_WAITOK); + npc = kmem_alloc(sizeof *npc, KM_SLEEP); memcpy(npc, pc, sizeof *pc); npc->cookie = pp; npc->rootnode = node; @@ -841,7 +833,7 @@ psycho_alloc_extent(struct psycho_pbm *p ret: /* return extent */ - free(pa, M_DEVBUF); + kmem_free(pa, sizeof(*pa)); return ex; } @@ -1074,8 +1066,7 @@ psycho_iommu_init(struct psycho_softc *s } /* give us a nice name.. */ - name = malloc(32, M_DEVBUF, M_WAITOK); - snprintf(name, 32, "%s dvma", device_xname(sc->sc_dev)); + name = kmem_asprintf("%s dvma", device_xname(sc->sc_dev)); iommu_init(name, is, tsbsize, iobase); } @@ -1089,8 +1080,7 @@ psycho_alloc_bus_tag(struct psycho_pbm * struct psycho_softc *sc = pp->pp_sc; bus_space_tag_t bt; - bt = malloc(sizeof(struct sparc_bus_space_tag), - M_DEVBUF, M_WAITOK | M_ZERO); + bt = kmem_zalloc(sizeof(*bt), KM_SLEEP); bt->cookie = pp; bt->parent = sc->sc_bustag; bt->type = type; @@ -1106,7 +1096,7 @@ psycho_alloc_dma_tag(struct psycho_pbm * struct psycho_softc *sc = pp->pp_sc; bus_dma_tag_t dt, pdt = sc->sc_dmatag; - dt = malloc(sizeof(struct sparc_bus_dma_tag), M_DEVBUF, M_WAITOK | M_ZERO); + dt = kmem_zalloc(sizeof(*dt), KM_SLEEP); dt->_cookie = pp; dt->_parent = pdt; #define PCOPY(x) dt->x = pdt->x @@ -1333,7 +1323,7 @@ psycho_intr_establish(bus_space_tag_t t, } printf("Cannot find interrupt vector %lx\n", vec); - free(ih, M_DEVBUF); + kmem_free(ih, sizeof(*ih)); return (NULL); found: Index: src/sys/arch/sparc64/dev/pyro.c diff -u src/sys/arch/sparc64/dev/pyro.c:1.20 src/sys/arch/sparc64/dev/pyro.c:1.21 --- src/sys/arch/sparc64/dev/pyro.c:1.20 Sun Nov 10 21:16:33 2019 +++ src/sys/arch/sparc64/dev/pyro.c Mon Jan 4 14:48:51 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: pyro.c,v 1.20 2019/11/10 21:16:33 chs Exp $ */ +/* $NetBSD: pyro.c,v 1.21 2021/01/04 14:48:51 thorpej Exp $ */ /* from: $OpenBSD: pyro.c,v 1.20 2010/12/05 15:15:14 kettenis Exp $ */ /* @@ -31,12 +31,13 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: pyro.c,v 1.20 2019/11/10 21:16:33 chs Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pyro.c,v 1.21 2021/01/04 14:48:51 thorpej Exp $"); #include <sys/param.h> #include <sys/device.h> #include <sys/errno.h> #include <sys/malloc.h> +#include <sys/kmem.h> #include <sys/systm.h> #define _SPARC_BUS_DMA_PRIVATE @@ -185,7 +186,7 @@ pyro_init(struct pyro_softc *sc, int bus struct pcibus_attach_args pba; int *busranges = NULL, nranges; - pbm = malloc(sizeof(*pbm), M_DEVBUF, M_WAITOK | M_ZERO); + pbm = kmem_zalloc(sizeof(*pbm), KM_SLEEP); pbm->pp_sc = sc; pbm->pp_bus_a = busa; @@ -217,8 +218,8 @@ pyro_init(struct pyro_softc *sc, int bus pbm->pp_pc = pyro_alloc_chipset(pbm, sc->sc_node, &_sparc_pci_chipset); pbm->pp_pc->spc_busmax = busranges[1]; - pbm->pp_pc->spc_busnode = malloc(sizeof(*pbm->pp_pc->spc_busnode), - M_DEVBUF, M_WAITOK | M_ZERO); + pbm->pp_pc->spc_busnode = kmem_zalloc(sizeof(*pbm->pp_pc->spc_busnode), + KM_SLEEP); #if 0 pbm->pp_pc->bustag = pbm->pp_cfgt; @@ -258,8 +259,7 @@ pyro_init_iommu(struct pyro_softc *sc, s /* We have no STC. */ is->is_sb[0] = NULL; - name = malloc(32, M_DEVBUF, M_WAITOK); - snprintf(name, 32, "%s dvma", device_xname(sc->sc_dev)); + name = kmem_asprintf("%s dvma", device_xname(sc->sc_dev)); /* Tell iommu how to set the TSB size. */ is->is_flags = IOMMU_TSBSIZE_IN_PTSB; @@ -392,7 +392,7 @@ pyro_alloc_bus_tag(struct pyro_pbm *pbm, struct pyro_softc *sc = pbm->pp_sc; struct sparc_bus_space_tag *bt; - bt = malloc(sizeof(*bt), M_DEVBUF, M_WAITOK | M_ZERO); + bt = kmem_zalloc(sizeof(*bt), KM_SLEEP); #if 0 snprintf(bt->name, sizeof(bt->name), "%s-pbm_%s(%d/%2.2x)", @@ -414,7 +414,7 @@ pyro_alloc_dma_tag(struct pyro_pbm *pbm) struct pyro_softc *sc = pbm->pp_sc; bus_dma_tag_t dt, pdt = sc->sc_dmat; - dt = malloc(sizeof(*dt), M_DEVBUF, M_WAITOK | M_ZERO); + dt = kmem_zalloc(sizeof(*dt), KM_SLEEP); dt->_cookie = pbm; dt->_parent = pdt; #define PCOPY(x) dt->x = pdt->x @@ -440,7 +440,7 @@ pyro_alloc_chipset(struct pyro_pbm *pbm, { pci_chipset_tag_t npc; - npc = malloc(sizeof *npc, M_DEVBUF, M_WAITOK); + npc = kmem_alloc(sizeof *npc, KM_SLEEP); memcpy(npc, pc, sizeof *pc); npc->cookie = pbm; npc->rootnode = node; Index: src/sys/arch/sparc64/dev/sbus.c diff -u src/sys/arch/sparc64/dev/sbus.c:1.99 src/sys/arch/sparc64/dev/sbus.c:1.100 --- src/sys/arch/sparc64/dev/sbus.c:1.99 Sun Jun 14 01:40:05 2020 +++ src/sys/arch/sparc64/dev/sbus.c Mon Jan 4 14:48:51 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: sbus.c,v 1.99 2020/06/14 01:40:05 chs Exp $ */ +/* $NetBSD: sbus.c,v 1.100 2021/01/04 14:48:51 thorpej Exp $ */ /* * Copyright (c) 1999-2002 Eduardo Horvath @@ -34,13 +34,14 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: sbus.c,v 1.99 2020/06/14 01:40:05 chs Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sbus.c,v 1.100 2021/01/04 14:48:51 thorpej Exp $"); #include "opt_ddb.h" #include <sys/param.h> #include <sys/extent.h> #include <sys/malloc.h> +#include <sys/kmem.h> #include <sys/systm.h> #include <sys/device.h> #include <sys/reboot.h> @@ -246,8 +247,7 @@ sbus_attach(device_t parent, device_t se sc->sc_sb.sb_flush = &sc->sc_flush; /* give us a nice name.. */ - name = malloc(32, M_DEVBUF, M_WAITOK); - snprintf(name, 32, "%s dvma", device_xname(self)); + name = kmem_asprintf("%s dvma", device_xname(self)); iommu_init(name, &sc->sc_is, 0, -1); @@ -591,7 +591,7 @@ sbus_alloc_dmatag(struct sbus_softc *sc) { bus_dma_tag_t sdt, psdt = sc->sc_dmatag; - sdt = malloc(sizeof(struct sparc_bus_dma_tag), M_DEVBUF, M_WAITOK); + sdt = kmem_alloc(sizeof(*sdt), KM_SLEEP); sdt->_cookie = sc; sdt->_parent = psdt; #define PCOPY(x) sdt->x = psdt->x Index: src/sys/arch/sparc64/dev/upa.c diff -u src/sys/arch/sparc64/dev/upa.c:1.19 src/sys/arch/sparc64/dev/upa.c:1.20 --- src/sys/arch/sparc64/dev/upa.c:1.19 Sun Nov 10 21:16:33 2019 +++ src/sys/arch/sparc64/dev/upa.c Mon Jan 4 14:48:51 2021 @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: upa.c,v 1.19 2019/11/10 21:16:33 chs Exp $"); +__KERNEL_RCSID(0, "$NetBSD: upa.c,v 1.20 2021/01/04 14:48:51 thorpej Exp $"); #include <sys/types.h> #include <sys/param.h> @@ -40,7 +40,7 @@ __KERNEL_RCSID(0, "$NetBSD: upa.c,v 1.19 #include <sys/kernel.h> #include <sys/device.h> #include <sys/conf.h> -#include <sys/malloc.h> +#include <sys/kmem.h> #include <sys/bus.h> #include <machine/autoconf.h> @@ -151,7 +151,7 @@ upa_alloc_bus_tag(struct upa_softc *sc) { struct sparc_bus_space_tag *bt; - bt = malloc(sizeof(*bt), M_DEVBUF, M_WAITOK | M_ZERO); + bt = kmem_zalloc(sizeof(*bt), KM_SLEEP); *bt = *sc->sc_bt; bt->cookie = sc; bt->parent = sc->sc_bt; Index: src/sys/arch/sparc64/dev/vpci.c diff -u src/sys/arch/sparc64/dev/vpci.c:1.8 src/sys/arch/sparc64/dev/vpci.c:1.9 --- src/sys/arch/sparc64/dev/vpci.c:1.8 Sun Nov 10 21:16:33 2019 +++ src/sys/arch/sparc64/dev/vpci.c Mon Jan 4 14:48:52 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: vpci.c,v 1.8 2019/11/10 21:16:33 chs Exp $ */ +/* $NetBSD: vpci.c,v 1.9 2021/01/04 14:48:52 thorpej Exp $ */ /* * Copyright (c) 2015 Palle Lyckegaard * All rights reserved. @@ -30,12 +30,13 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: vpci.c,v 1.8 2019/11/10 21:16:33 chs Exp $"); +__KERNEL_RCSID(0, "$NetBSD: vpci.c,v 1.9 2021/01/04 14:48:52 thorpej Exp $"); #include <sys/param.h> #include <sys/device.h> #include <sys/errno.h> #include <sys/malloc.h> +#include <sys/kmem.h> #include <sys/systm.h> #define _SPARC_BUS_DMA_PRIVATE @@ -200,7 +201,7 @@ vpci_init(struct vpci_softc *sc/*FIXME, struct pcibus_attach_args pba; int *busranges = NULL, nranges; - pbm = malloc(sizeof(*pbm), M_DEVBUF, M_WAITOK | M_ZERO); + pbm = kmem_zalloc(sizeof(*pbm), KM_SLEEP); pbm->vp_sc = sc; pbm->vp_devhandle = (ma->ma_reg[0].ur_paddr >> 32) & 0x0fffffff; #if 0 @@ -247,8 +248,8 @@ FIXME #endif pbm->vp_pc = vpci_alloc_chipset(pbm, sc->sc_node, &_sparc_pci_chipset); pbm->vp_pc->spc_busmax = busranges[1]; - pbm->vp_pc->spc_busnode = malloc(sizeof(*pbm->vp_pc->spc_busnode), - M_DEVBUF, M_WAITOK | M_ZERO); + pbm->vp_pc->spc_busnode = kmem_zalloc(sizeof(*pbm->vp_pc->spc_busnode), + KM_SLEEP); #if 0 pbm->vp_pc->bustag = pbm->vp_cfgt; @@ -309,8 +310,7 @@ vpci_init_iommu(struct vpci_softc *sc, s /* We have no STC. */ is->is_sb[0] = NULL; - name = malloc(32, M_DEVBUF, M_WAITOK); - snprintf(name, 32, "%s dvma", device_xname(sc->sc_dev)); + name = kmem_asprintf("%s dvma", device_xname(sc->sc_dev)); /* Tell iommu how to set the TSB size. */ is->is_flags = IOMMU_TSBSIZE_IN_PTSB; @@ -415,7 +415,7 @@ vpci_alloc_bus_tag(struct vpci_pbm *pbm, struct vpci_softc *sc = pbm->vp_sc; struct sparc_bus_space_tag *bt; - bt = malloc(sizeof(*bt), M_DEVBUF, M_WAITOK | M_ZERO); + bt = kmem_zalloc(sizeof(*bt), KM_SLEEP); #if 0 snprintf(bt->name, sizeof(bt->name), "%s-pbm_%s(%d/%2.2x)", @@ -437,7 +437,7 @@ vpci_alloc_dma_tag(struct vpci_pbm *pbm) struct vpci_softc *sc = pbm->vp_sc; bus_dma_tag_t dt, pdt = sc->sc_dmat; - dt = malloc(sizeof(*dt), M_DEVBUF, M_WAITOK | M_ZERO); + dt = kmem_zalloc(sizeof(*dt), KM_SLEEP); dt->_cookie = pbm; dt->_parent = pdt; #define PCOPY(x) dt->x = pdt->x @@ -463,7 +463,7 @@ vpci_alloc_chipset(struct vpci_pbm *pbm, { pci_chipset_tag_t npc; - npc = malloc(sizeof *npc, M_DEVBUF, M_WAITOK); + npc = kmem_alloc(sizeof *npc, KM_SLEEP); memcpy(npc, pc, sizeof *pc); npc->cookie = pbm; npc->rootnode = node; Index: src/sys/arch/sparc64/dev/vrtc.c diff -u src/sys/arch/sparc64/dev/vrtc.c:1.2 src/sys/arch/sparc64/dev/vrtc.c:1.3 --- src/sys/arch/sparc64/dev/vrtc.c:1.2 Sun Nov 10 21:16:33 2019 +++ src/sys/arch/sparc64/dev/vrtc.c Mon Jan 4 14:48:52 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: vrtc.c,v 1.2 2019/11/10 21:16:33 chs Exp $ */ +/* $NetBSD: vrtc.c,v 1.3 2021/01/04 14:48:52 thorpej Exp $ */ /* $OpenBSD: vrtc.c,v 1.1 2008/03/08 19:19:43 kettenis Exp $ */ /* * Copyright (c) 2008 Mark Kettenis @@ -18,7 +18,7 @@ #include <sys/param.h> #include <sys/device.h> -#include <sys/malloc.h> +#include <sys/kmem.h> #include <sys/systm.h> #include <machine/autoconf.h> @@ -57,7 +57,7 @@ vrtc_attach(device_t parent, device_t se printf("\n"); - handle = malloc(sizeof(struct todr_chip_handle), M_DEVBUF,M_WAITOK); + handle = kmem_alloc(sizeof(struct todr_chip_handle), KM_SLEEP); handle->cookie = self; handle->todr_gettime = vrtc_gettime; handle->todr_settime = vrtc_settime; Index: src/sys/arch/sparc64/sparc64/machdep.c diff -u src/sys/arch/sparc64/sparc64/machdep.c:1.298 src/sys/arch/sparc64/sparc64/machdep.c:1.299 --- src/sys/arch/sparc64/sparc64/machdep.c:1.298 Thu Jun 11 19:20:45 2020 +++ src/sys/arch/sparc64/sparc64/machdep.c Mon Jan 4 14:48:52 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.298 2020/06/11 19:20:45 ad Exp $ */ +/* $NetBSD: machdep.c,v 1.299 2021/01/04 14:48:52 thorpej Exp $ */ /*- * Copyright (c) 1996, 1997, 1998, 2019 The NetBSD Foundation, Inc. @@ -71,7 +71,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.298 2020/06/11 19:20:45 ad Exp $"); +__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.299 2021/01/04 14:48:52 thorpej Exp $"); #include "opt_ddb.h" #include "opt_multiprocessor.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> @@ -911,6 +911,14 @@ cpu_exec_aout_makecmds(struct lwp *l, st return (ENOEXEC); } +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. @@ -922,7 +930,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 @@ -936,13 +943,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; @@ -967,7 +971,7 @@ _bus_dmamap_destroy(bus_dma_tag_t t, bus { if (map->dm_nsegs) bus_dmamap_unload(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 ((pglist = malloc(sizeof(*pglist), M_DEVBUF, - (flags & BUS_DMA_NOWAIT) ? M_NOWAIT : M_WAITOK)) == NULL) + if ((pglist = kmem_alloc(sizeof(*pglist), + (flags & BUS_DMA_NOWAIT) ? KM_NOSLEEP : KM_SLEEP)) == NULL) return (ENOMEM); /* @@ -1391,7 +1395,7 @@ _bus_dmamem_alloc(bus_dma_tag_t t, bus_s error = uvm_pglistalloc(size, low, high, alignment, boundary, pglist, nsegs, (flags & BUS_DMA_NOWAIT) == 0); if (error) { - free(pglist, M_DEVBUF); + kmem_free(pglist, sizeof(*pglist)); return (error); } @@ -1423,6 +1427,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 *pglist = segs[0]._ds_mlist; if (nsegs != 1) panic("bus_dmamem_free: nsegs = %d", nsegs); @@ -1430,8 +1435,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(pglist); + kmem_free(pglist, sizeof(*pglist)); } /* @@ -2182,8 +2187,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));