Module Name:    src
Committed By:   thorpej
Date:           Thu Dec  7 03:46:10 UTC 2023

Modified Files:
        src/sys/arch/arc/arc: bus_space.c machdep.c wired_map_machdep.c
        src/sys/arch/arc/include: bus_defs.h bus_funcs.h
        src/sys/arch/arc/isa: isabus.c
        src/sys/arch/arc/pci: necpb.c

Log Message:
extent(9) -> vmem(9)


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/arc/arc/bus_space.c
cvs rdiff -u -r1.131 -r1.132 src/sys/arch/arc/arc/machdep.c
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/arc/arc/wired_map_machdep.c
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/arc/include/bus_defs.h \
    src/sys/arch/arc/include/bus_funcs.h
cvs rdiff -u -r1.53 -r1.54 src/sys/arch/arc/isa/isabus.c
cvs rdiff -u -r1.48 -r1.49 src/sys/arch/arc/pci/necpb.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/arc/arc/bus_space.c
diff -u src/sys/arch/arc/arc/bus_space.c:1.12 src/sys/arch/arc/arc/bus_space.c:1.13
--- src/sys/arch/arc/arc/bus_space.c:1.12	Fri Jan 27 18:52:49 2012
+++ src/sys/arch/arc/arc/bus_space.c	Thu Dec  7 03:46:10 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: bus_space.c,v 1.12 2012/01/27 18:52:49 para Exp $	*/
+/*	$NetBSD: bus_space.c,v 1.13 2023/12/07 03:46:10 thorpej Exp $	*/
 /*	NetBSD: bus_machdep.c,v 1.1 2000/01/26 18:48:00 drochner Exp 	*/
 
 /*-
@@ -32,12 +32,12 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: bus_space.c,v 1.12 2012/01/27 18:52:49 para Exp $");
+__KERNEL_RCSID(0, "$NetBSD: bus_space.c,v 1.13 2023/12/07 03:46:10 thorpej Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/malloc.h>
-#include <sys/extent.h>
+#include <sys/vmem_impl.h>
 
 #include <uvm/uvm_extern.h>
 
@@ -316,7 +316,7 @@ arc_bus_space_init(bus_space_tag_t bst, 
 {
 
 	bst->bs_name = name;
-	bst->bs_extent = NULL;
+	bst->bs_arena = NULL;
 	bst->bs_start = start;
 	bst->bs_size = size;
 	bst->bs_pbase = paddr;
@@ -338,16 +338,28 @@ arc_bus_space_init(bus_space_tag_t bst, 
 }
 
 void
-arc_bus_space_init_extent(bus_space_tag_t bst, void *storage,
-    size_t storagesize)
+arc_bus_space_init_arena(bus_space_tag_t bst, struct vmem *arena_store,
+    struct vmem_btag *btag_store, unsigned int btag_count)
 {
+	int error __diagused;
 
-	bst->bs_extent = extent_create(bst->bs_name,
-	    bst->bs_start, bst->bs_start + bst->bs_size,
-	    storage, storagesize, EX_NOWAIT);
-	if (bst->bs_extent == NULL)
-		panic("arc_bus_space_init_extent: cannot create extent map %s",
-		    bst->bs_name);
+	bst->bs_arena = vmem_init(arena_store,
+				  bst->bs_name,		/* name */
+				  0,			/* addr */
+				  0,			/* size */
+				  1,			/* quantum */
+				  NULL,			/* importfn */
+				  NULL,			/* releasefn */
+				  NULL,			/* source */
+				  0,			/* qcache_max */
+				  VM_NOSLEEP | VM_PRIVTAGS,
+				  IPL_NONE);
+	KASSERT(bst->bs_arena != NULL);
+
+	vmem_add_bts(bst->bs_arena, btag_store, btag_count);
+	error = vmem_add(bst->bs_arena, bst->bs_start, bst->bs_size,
+	    VM_NOSLEEP);
+	KASSERT(error == 0);
 }
 
 void
@@ -367,22 +379,6 @@ arc_bus_space_set_aligned_stride(bus_spa
 	bst->bs_stride_8 = alignment_shift;
 }
 
-static int malloc_safe = 0;
-
-void
-arc_bus_space_malloc_set_safe(void)
-{
-
-	malloc_safe = EX_MALLOCOK;
-}
-
-int
-arc_bus_space_extent_malloc_flag(void)
-{
-
-	return malloc_safe;
-}
-
 int
 arc_bus_space_compose_handle(bus_space_tag_t bst, bus_addr_t addr,
     bus_size_t size, int flags, bus_space_handle_t *bshp)
@@ -457,9 +453,8 @@ arc_bus_space_map(bus_space_tag_t bst, b
 	if (addr < bst->bs_start || addr + size > bst->bs_start + bst->bs_size)
 		return EINVAL;
 
-	if (bst->bs_extent != NULL) {
-		err = extent_alloc_region(bst->bs_extent, addr, size,
-		    EX_NOWAIT | malloc_safe);
+	if (bst->bs_arena != NULL) {
+		err = vmem_xalloc_addr(bst->bs_arena, addr, size, VM_NOSLEEP);
 		if (err)
 			return err;
 	}
@@ -472,7 +467,7 @@ arc_bus_space_unmap(bus_space_tag_t bst,
     bus_size_t size)
 {
 
-	if (bst->bs_extent != NULL) {
+	if (bst->bs_arena != NULL) {
 		paddr_t pa;
 		bus_addr_t addr;
 		int err;
@@ -483,8 +478,7 @@ arc_bus_space_unmap(bus_space_tag_t bst,
 			panic("arc_bus_space_unmap: %s va 0x%qx: error %d",
 			    bst->bs_name, (unsigned long long) bsh, err);
 		addr = (bus_size_t)(pa - bst->bs_pbase) + bst->bs_start;
-		extent_free(bst->bs_extent, addr, size,
-		    EX_NOWAIT | malloc_safe);
+		vmem_xfree(bst->bs_arena, addr, size);
 	}
 	bus_space_dispose_handle(bst, bsh, size);
 }
@@ -520,19 +514,25 @@ arc_bus_space_alloc(bus_space_tag_t bst,
     bus_size_t size, bus_size_t align, bus_size_t boundary, int flags,
     bus_addr_t *addrp, bus_space_handle_t *bshp)
 {
-	u_long addr;
+	vmem_addr_t addr;
 	int err;
 
-	if (bst->bs_extent == NULL)
-		panic("arc_bus_space_alloc: extent map %s not available",
+	if (bst->bs_arena == NULL)
+		panic("arc_bus_space_alloc: vmem arena %s not available",
 		    bst->bs_name);
 
 	if (start < bst->bs_start ||
 	    start + size > bst->bs_start + bst->bs_size)
 		return EINVAL;
 
-	err = extent_alloc_subregion(bst->bs_extent, start, end, size,
-	    align, boundary, EX_FAST | EX_NOWAIT | malloc_safe, &addr);
+	err = vmem_xalloc(bst->bs_arena, size,
+			  align,		/* align */
+			  0,			/* phase */
+			  boundary,		/* nocross */
+			  start,		/* minaddr */
+			  end,			/* maxaddr */
+			  VM_BESTFIT | VM_NOSLEEP,
+			  &addr);
 	if (err)
 		return err;
 

Index: src/sys/arch/arc/arc/machdep.c
diff -u src/sys/arch/arc/arc/machdep.c:1.131 src/sys/arch/arc/arc/machdep.c:1.132
--- src/sys/arch/arc/arc/machdep.c:1.131	Tue Aug 29 21:34:50 2023
+++ src/sys/arch/arc/arc/machdep.c	Thu Dec  7 03:46:10 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: machdep.c,v 1.131 2023/08/29 21:34:50 andvar Exp $	*/
+/*	$NetBSD: machdep.c,v 1.132 2023/12/07 03:46:10 thorpej Exp $	*/
 /*	$OpenBSD: machdep.c,v 1.36 1999/05/22 21:22:19 weingart Exp $	*/
 
 /*
@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.131 2023/08/29 21:34:50 andvar Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.132 2023/12/07 03:46:10 thorpej Exp $");
 
 #include "opt_ddb.h"
 #include "opt_ddbparam.h"
@@ -492,8 +492,6 @@ cpu_startup(void)
 #endif
 
 	cpu_startup_common();
-
-	arc_bus_space_malloc_set_safe();
 }
 
 void *

Index: src/sys/arch/arc/arc/wired_map_machdep.c
diff -u src/sys/arch/arc/arc/wired_map_machdep.c:1.7 src/sys/arch/arc/arc/wired_map_machdep.c:1.8
--- src/sys/arch/arc/arc/wired_map_machdep.c:1.7	Fri Jan 27 18:52:50 2012
+++ src/sys/arch/arc/arc/wired_map_machdep.c	Thu Dec  7 03:46:10 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: wired_map_machdep.c,v 1.7 2012/01/27 18:52:50 para Exp $	*/
+/*	$NetBSD: wired_map_machdep.c,v 1.8 2023/12/07 03:46:10 thorpej Exp $	*/
 
 /*-
  * Copyright (C) 2000 Shuichiro URATA.  All rights reserved.
@@ -27,12 +27,12 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: wired_map_machdep.c,v 1.7 2012/01/27 18:52:50 para Exp $");
+__KERNEL_RCSID(0, "$NetBSD: wired_map_machdep.c,v 1.8 2023/12/07 03:46:10 thorpej Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/malloc.h>
-#include <sys/extent.h>
+#include <sys/vmem_impl.h>
 
 #include <uvm/uvm_extern.h>
 #include <machine/cpu.h>
@@ -46,20 +46,38 @@ static bool arc_wired_map_paddr_entry(pa
 static bool arc_wired_map_vaddr_entry(vaddr_t va, paddr_t *pap,
     vsize_t *sizep);
 
-static struct extent *arc_wired_map_ex;
-static long wired_map_ex_storage[EXTENT_FIXED_STORAGE_SIZE(8) / sizeof(long)];
+#define	ARC_WIRED_MAP_BTCOUNT	VMEM_EST_BTCOUNT(1, 8)
+
+static vmem_t *arc_wired_map_arena;
+static struct vmem arc_wired_map_arena_store;
+static struct vmem_btag arc_wired_map_btag_store[ARC_WIRED_MAP_BTCOUNT];
 
 void
 arc_init_wired_map(void)
 {
+	int error __diagused;
 
 	mips3_nwired_page = 0;
-	arc_wired_map_ex = extent_create("wired_map",
-	    VM_MIN_WIRED_MAP_ADDRESS, VM_MAX_WIRED_MAP_ADDRESS,
-	    (void *)wired_map_ex_storage, sizeof(wired_map_ex_storage),
-	    EX_NOWAIT);
-	if (arc_wired_map_ex == NULL)
-		panic("arc_init_wired_map: can't create extent");
+
+	arc_wired_map_arena = vmem_init(&arc_wired_map_arena_store,
+					"wired_map",	/* name */
+					0,		/* addr */
+					0,		/* size */
+					1,		/* quantum */
+					NULL,		/* importfn */
+					NULL,		/* releasefn */
+					NULL,		/* source */
+					0,		/* qcache_max */
+					VM_NOSLEEP | VM_PRIVTAGS,
+					IPL_NONE);
+	KASSERT(arc_wired_map_arena != NULL);
+
+	vmem_add_bts(arc_wired_map_arena, arc_wired_map_btag_store,
+	    ARC_WIRED_MAP_BTCOUNT);
+	error = vmem_add(arc_wired_map_arena, VM_MIN_WIRED_MAP_ADDRESS,
+	    VM_MAX_WIRED_MAP_ADDRESS - VM_MIN_WIRED_MAP_ADDRESS,
+	    VM_NOSLEEP);
+	KASSERT(error == 0);
 }
 
 void
@@ -77,7 +95,7 @@ arc_wired_enter_page(vaddr_t va, paddr_t
 		return;
 	}
 
-	error = extent_alloc_region(arc_wired_map_ex, va, pg_size, EX_NOWAIT);
+	error = vmem_xalloc_addr(arc_wired_map_arena, va, pg_size, VM_NOSLEEP);
 	if (error) {
 #ifdef DIAGNOSTIC
 		printf("arc_wired_enter_page: cannot allocate region.\n");
@@ -169,7 +187,7 @@ arc_contiguously_wired_mapped(paddr_t pa
 vaddr_t
 arc_map_wired(paddr_t pa, vsize_t size)
 {
-	u_long va;
+	vmem_addr_t va;
 	vsize_t off;
 	int error;
 
@@ -190,8 +208,14 @@ arc_map_wired(paddr_t pa, vsize_t size)
 		return 0; /* free wired TLB is not enough */
 	}
 
-	error = extent_alloc(arc_wired_map_ex, size, MIPS3_WIRED_SIZE,
-	    0, EX_NOWAIT, &va);
+	error = vmem_xalloc(arc_wired_map_arena, size,
+			    MIPS3_WIRED_SIZE,		/* align */
+			    0,				/* phase */
+			    0,				/* nocross */
+			    VMEM_ADDR_MIN,		/* minaddr */
+			    VMEM_ADDR_MAX,		/* maxaddr */
+			    VM_BESTFIT | VM_NOSLEEP,
+			    &va);
 	if (error) {
 #ifdef DIAGNOSTIC
 		printf("arc_map_wired: can't allocate region\n");

Index: src/sys/arch/arc/include/bus_defs.h
diff -u src/sys/arch/arc/include/bus_defs.h:1.2 src/sys/arch/arc/include/bus_defs.h:1.3
--- src/sys/arch/arc/include/bus_defs.h:1.2	Mon Sep 23 16:17:54 2019
+++ src/sys/arch/arc/include/bus_defs.h	Thu Dec  7 03:46:10 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: bus_defs.h,v 1.2 2019/09/23 16:17:54 skrll Exp $	*/
+/*	$NetBSD: bus_defs.h,v 1.3 2023/12/07 03:46:10 thorpej Exp $	*/
 /*	NetBSD: bus.h,v 1.27 2000/03/15 16:44:50 drochner Exp 	*/
 /*	$OpenBSD: bus.h,v 1.15 1999/08/11 23:15:21 niklas Exp $	*/
 
@@ -67,6 +67,8 @@
 #define _ARC_BUS_DEFS_H_
 #ifdef _KERNEL
 
+#include <sys/vmem.h>
+
 /*
  * Bus address and size types
  */
@@ -116,7 +118,7 @@ typedef struct arc_bus_space *bus_space_
 
 struct arc_bus_space {
 	const char	*bs_name;
-	struct extent	*bs_extent;
+	vmem_t		*bs_arena;
 	bus_addr_t	bs_start;
 	bus_size_t	bs_size;
 
Index: src/sys/arch/arc/include/bus_funcs.h
diff -u src/sys/arch/arc/include/bus_funcs.h:1.2 src/sys/arch/arc/include/bus_funcs.h:1.3
--- src/sys/arch/arc/include/bus_funcs.h:1.2	Fri Apr 23 06:13:05 2021
+++ src/sys/arch/arc/include/bus_funcs.h	Thu Dec  7 03:46:10 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: bus_funcs.h,v 1.2 2021/04/23 06:13:05 skrll Exp $	*/
+/*	$NetBSD: bus_funcs.h,v 1.3 2023/12/07 03:46:10 thorpej Exp $	*/
 /*	NetBSD: bus.h,v 1.27 2000/03/15 16:44:50 drochner Exp 	*/
 /*	$OpenBSD: bus.h,v 1.15 1999/08/11 23:15:21 niklas Exp $	*/
 
@@ -67,20 +67,20 @@
 #define _ARC_BUS_FUNCS_H_
 #ifdef _KERNEL
 
+struct vmem;
+struct vmem_btag;
+
 /* machine dependent utility function for bus_space users */
-void	arc_bus_space_malloc_set_safe(void);
 void	arc_bus_space_init(bus_space_tag_t, const char *,
 	    paddr_t, vaddr_t, bus_addr_t, bus_size_t);
-void	arc_bus_space_init_extent(bus_space_tag_t, void *, size_t);
+void	arc_bus_space_init_arena(bus_space_tag_t, struct vmem *,
+	    struct vmem_btag *, unsigned int);
 void	arc_bus_space_set_aligned_stride(bus_space_tag_t, unsigned int);
 void	arc_sparse_bus_space_init(bus_space_tag_t, const char *,
 	    paddr_t, bus_addr_t, bus_size_t);
 void	arc_large_bus_space_init(bus_space_tag_t, const char *,
 	    paddr_t, bus_addr_t, bus_size_t);
 
-/* machine dependent utility function for bus_space implementations */
-int	arc_bus_space_extent_malloc_flag(void);
-
 /* these are provided for subclasses which override base bus_space. */
 
 int	arc_bus_space_compose_handle(bus_space_tag_t,

Index: src/sys/arch/arc/isa/isabus.c
diff -u src/sys/arch/arc/isa/isabus.c:1.53 src/sys/arch/arc/isa/isabus.c:1.54
--- src/sys/arch/arc/isa/isabus.c:1.53	Sat Aug  7 16:18:42 2021
+++ src/sys/arch/arc/isa/isabus.c	Thu Dec  7 03:46:10 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: isabus.c,v 1.53 2021/08/07 16:18:42 thorpej Exp $	*/
+/*	$NetBSD: isabus.c,v 1.54 2023/12/07 03:46:10 thorpej Exp $	*/
 /*	$OpenBSD: isabus.c,v 1.15 1998/03/16 09:38:46 pefo Exp $	*/
 /*	NetBSD: isa.c,v 1.33 1995/06/28 04:30:51 cgd Exp 	*/
 
@@ -120,7 +120,7 @@ WITH THE USE OR PERFORMANCE OF THIS SOFT
 */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: isabus.c,v 1.53 2021/08/07 16:18:42 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: isabus.c,v 1.54 2023/12/07 03:46:10 thorpej Exp $");
 
 #include <sys/param.h>
 #include <sys/proc.h>
@@ -130,7 +130,7 @@ __KERNEL_RCSID(0, "$NetBSD: isabus.c,v 1
 #include <sys/kernel.h>
 #include <sys/device.h>
 #include <sys/kmem.h>
-#include <sys/extent.h>
+#include <sys/vmem_impl.h>
 
 #include <uvm/uvm_extern.h>
 
@@ -153,8 +153,13 @@ __KERNEL_RCSID(0, "$NetBSD: isabus.c,v 1
 static int beeping;
 static callout_t sysbeep_ch;
 
-static long isa_mem_ex_storage[EXTENT_FIXED_STORAGE_SIZE(16) / sizeof(long)];
-static long isa_io_ex_storage[EXTENT_FIXED_STORAGE_SIZE(16) / sizeof(long)];
+#define	ISA_MEM_BTAG_COUNT	VMEM_EST_BTCOUNT(1, 16)
+#define	ISA_IO_BTAG_COUNT	VMEM_EST_BTCOUNT(1, 16)
+
+static struct vmem isa_mem_arena_store;
+static struct vmem isa_io_arena_store;
+static struct vmem_btag isa_mem_btag_store[ISA_MEM_BTAG_COUNT];
+static struct vmem_btag isa_io_btag_store[ISA_IO_BTAG_COUNT];
 
 #define	IRQ_SLAVE	2
 
@@ -198,10 +203,10 @@ isabrattach(struct isabr_softc *sc)
 	sc->arc_isa_cs.ic_intr_establish = isabr_intr_establish;
 	sc->arc_isa_cs.ic_intr_disestablish = isabr_intr_disestablish;
 
-	arc_bus_space_init_extent(&arc_bus_mem, (void *)isa_mem_ex_storage,
-	    sizeof(isa_mem_ex_storage));
-	arc_bus_space_init_extent(&arc_bus_io, (void *)isa_io_ex_storage,
-	    sizeof(isa_io_ex_storage));
+	arc_bus_space_init_arena(&arc_bus_mem, &isa_mem_arena_store,
+	    isa_mem_btag_store, ISA_MEM_BTAG_COUNT);
+	arc_bus_space_init_arena(&arc_bus_io, &isa_io_arena_store,
+	    isa_io_btag_store, ISA_IO_BTAG_COUNT);
 
 	iba.iba_iot = &arc_bus_io;
 	iba.iba_memt = &arc_bus_mem;

Index: src/sys/arch/arc/pci/necpb.c
diff -u src/sys/arch/arc/pci/necpb.c:1.48 src/sys/arch/arc/pci/necpb.c:1.49
--- src/sys/arch/arc/pci/necpb.c:1.48	Sat Aug  7 16:18:42 2021
+++ src/sys/arch/arc/pci/necpb.c	Thu Dec  7 03:46:10 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: necpb.c,v 1.48 2021/08/07 16:18:42 thorpej Exp $	*/
+/*	$NetBSD: necpb.c,v 1.49 2023/12/07 03:46:10 thorpej Exp $	*/
 
 /*-
  * Copyright (c) 1997, 1998 The NetBSD Foundation, Inc.
@@ -61,7 +61,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: necpb.c,v 1.48 2021/08/07 16:18:42 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: necpb.c,v 1.49 2023/12/07 03:46:10 thorpej Exp $");
 
 #include "opt_pci.h"
 
@@ -72,7 +72,7 @@ __KERNEL_RCSID(0, "$NetBSD: necpb.c,v 1.
 #include <sys/errno.h>
 #include <sys/device.h>
 #include <sys/kmem.h>
-#include <sys/extent.h>
+#include <sys/vmem_impl.h>
 
 #include <uvm/uvm_extern.h>
 
@@ -134,8 +134,14 @@ static struct necpb_intrhand	*necpb_intt
 /* There can be only one. */
 int necpbfound;
 struct necpb_context necpb_main_context;
-static long necpb_mem_ex_storage[EXTENT_FIXED_STORAGE_SIZE(10) / sizeof(long)];
-static long necpb_io_ex_storage[EXTENT_FIXED_STORAGE_SIZE(10) / sizeof(long)];
+
+#define	NECPB_MEM_BTAG_COUNT	VMEM_EST_BTCOUNT(1, 10)
+#define	NECPB_IO_BTAG_COUNT	VMEM_EST_BTCOUNT(1, 10)
+
+static struct vmem necpb_mem_arena_store;
+static struct vmem necpb_io_arena_store;
+static struct vmem_btag necpb_mem_btag_store[NECPB_MEM_BTAG_COUNT];
+static struct vmem_btag necpb_io_btag_store[NECPB_IO_BTAG_COUNT];
 
 #define	PCI_IO_START	0x00100000
 #define	PCI_IO_END	0x01ffffff
@@ -177,13 +183,13 @@ necpb_init(struct necpb_context *ncp)
 
 	arc_large_bus_space_init(&ncp->nc_memt, "necpcimem",
 	    RD94_P_PCI_MEM, 0, RD94_S_PCI_MEM);
-	arc_bus_space_init_extent(&ncp->nc_memt, (void *)necpb_mem_ex_storage,
-	    sizeof(necpb_mem_ex_storage));
+	arc_bus_space_init_arena(&ncp->nc_memt, &necpb_mem_arena_store,
+	    necpb_mem_btag_store, NECPB_MEM_BTAG_COUNT);
 
 	arc_bus_space_init(&ncp->nc_iot, "necpciio",
 	    RD94_P_PCI_IO, RD94_V_PCI_IO, 0, RD94_S_PCI_IO);
-	arc_bus_space_init_extent(&ncp->nc_iot, (void *)necpb_io_ex_storage,
-	    sizeof(necpb_io_ex_storage));
+	arc_bus_space_init_arena(&ncp->nc_iot, &necpb_io_arena_store,
+	    necpb_io_btag_store, NECPB_IO_BTAG_COUNT);
 
 	jazz_bus_dma_tag_init(&ncp->nc_dmat);
 

Reply via email to