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