svn commit: r277460 - in head/sys: arm/arm arm/at91 arm/include arm/versatile arm/xilinx arm/xscale/i80321 arm/xscale/i8134x arm/xscale/ixp425 arm/xscale/pxa dev/usb/controller

Ian Lepore ian at FreeBSD.org
Wed Jan 21 01:06:11 UTC 2015


Author: ian
Date: Wed Jan 21 01:06:08 2015
New Revision: 277460
URL: https://svnweb.freebsd.org/changeset/base/277460

Log:
  Revise the arm bus_space implementation to avoid dereferencing the tag on
  every operation to retrieve the bs_cookie value almost nothing actually uses.
  
  The bus_space struct contains a private data pointer (poorly named bs_cookie,
  now renamed to bs_privdata) which is used only by a few old armv4 xscale
  implementations.  The bus_space functions were all defined to take this
  value as the first parameter instead of the bus_space_tag_t, requiring all
  the inline macro and function expansions to dereference the tag to pass it
  to another function, which never uses it.  Now all the functions take the tag
  as the first parameter and retrieve the privdata if they need it.
  
  Also fix a couple bus_space_unmap() implementations that were calling
  kva_free() instead of pmap_unmapdev().
  
  Discussed with:	   cognet

Modified:
  head/sys/arm/arm/bus_space_generic.c
  head/sys/arm/at91/at91.c
  head/sys/arm/include/bus.h
  head/sys/arm/versatile/bus_space.c
  head/sys/arm/xilinx/zy7_bus_space.c
  head/sys/arm/xscale/i80321/i80321_space.c
  head/sys/arm/xscale/i8134x/i81342_space.c
  head/sys/arm/xscale/ixp425/avila_ata.c
  head/sys/arm/xscale/ixp425/cambria_exp_space.c
  head/sys/arm/xscale/ixp425/ixp425_a4x_space.c
  head/sys/arm/xscale/ixp425/ixp425_pci_space.c
  head/sys/arm/xscale/ixp425/ixp425_space.c
  head/sys/arm/xscale/pxa/pxa_space.c
  head/sys/dev/usb/controller/ehci_ixp4xx.c

Modified: head/sys/arm/arm/bus_space_generic.c
==============================================================================
--- head/sys/arm/arm/bus_space_generic.c	Wed Jan 21 00:00:41 2015	(r277459)
+++ head/sys/arm/arm/bus_space_generic.c	Wed Jan 21 01:06:08 2015	(r277460)
@@ -57,7 +57,7 @@ __FBSDID("$FreeBSD$");
 bs_protos(generic);
 
 int
-generic_bs_map(void *t, bus_addr_t bpa, bus_size_t size, int flags,
+generic_bs_map(bus_space_tag_t t, bus_addr_t bpa, bus_size_t size, int flags,
     bus_space_handle_t *bshp)
 {
 	void *va;
@@ -74,7 +74,7 @@ generic_bs_map(void *t, bus_addr_t bpa, 
 }
 
 int
-generic_bs_alloc(void *t, bus_addr_t rstart, bus_addr_t rend, bus_size_t size,
+generic_bs_alloc(bus_space_tag_t t, bus_addr_t rstart, bus_addr_t rend, bus_size_t size,
     bus_size_t alignment, bus_size_t boundary, int flags, bus_addr_t *bpap,
     bus_space_handle_t *bshp)
 {
@@ -84,21 +84,21 @@ generic_bs_alloc(void *t, bus_addr_t rst
 
 
 void
-generic_bs_unmap(void *t, bus_space_handle_t h, bus_size_t size)
+generic_bs_unmap(bus_space_tag_t t, bus_space_handle_t h, bus_size_t size)
 {
 
 	pmap_unmapdev((vm_offset_t)h, size);
 }
 
 void
-generic_bs_free(void *t, bus_space_handle_t bsh, bus_size_t size)
+generic_bs_free(bus_space_tag_t t, bus_space_handle_t bsh, bus_size_t size)
 {
 
 	panic("generic_bs_free(): not implemented");
 }
 
 int
-generic_bs_subregion(void *t, bus_space_handle_t bsh, bus_size_t offset,
+generic_bs_subregion(bus_space_tag_t t, bus_space_handle_t bsh, bus_size_t offset,
     bus_size_t size, bus_space_handle_t *nbshp)
 {
 
@@ -107,7 +107,7 @@ generic_bs_subregion(void *t, bus_space_
 }
 
 void
-generic_bs_barrier(void *t, bus_space_handle_t bsh, bus_size_t offset,
+generic_bs_barrier(bus_space_tag_t t, bus_space_handle_t bsh, bus_size_t offset,
     bus_size_t len, int flags)
 {
 

Modified: head/sys/arm/at91/at91.c
==============================================================================
--- head/sys/arm/at91/at91.c	Wed Jan 21 00:00:41 2015	(r277459)
+++ head/sys/arm/at91/at91.c	Wed Jan 21 01:06:08 2015	(r277460)
@@ -55,7 +55,7 @@ __FBSDID("$FreeBSD$");
 uint32_t at91_master_clock;
 
 static int
-at91_bs_map(void *t, bus_addr_t bpa, bus_size_t size, int flags,
+at91_bs_map(bus_space_tag_t tag, bus_addr_t bpa, bus_size_t size, int flags,
     bus_space_handle_t *bshp)
 {
 	vm_paddr_t pa, endpa;
@@ -77,23 +77,18 @@ at91_bs_map(void *t, bus_addr_t bpa, bus
 }
 
 static void
-at91_bs_unmap(void *t, bus_space_handle_t h, bus_size_t size)
+at91_bs_unmap(bus_space_tag_t tag, bus_space_handle_t h, bus_size_t size)
 {
-	vm_offset_t va, endva;
+	vm_offset_t va;
 
-	if (t == 0)
-		return;
-	va = trunc_page((vm_offset_t)t);
+	va = (vm_offset_t)h;
 	if (va >= AT91_BASE && va <= AT91_BASE + 0xff00000)
 		return;
-	endva = round_page((vm_offset_t)t + size);
-
-	/* Free the kernel virtual mapping. */
-	kva_free(va, endva - va);
+	pmap_unmapdev(va, size);
 }
 
 static int
-at91_bs_subregion(void *t, bus_space_handle_t bsh, bus_size_t offset,
+at91_bs_subregion(bus_space_tag_t tag, bus_space_handle_t bsh, bus_size_t offset,
     bus_size_t size, bus_space_handle_t *nbshp)
 {
 
@@ -102,7 +97,7 @@ at91_bs_subregion(void *t, bus_space_han
 }
 
 static void
-at91_barrier(void *t, bus_space_handle_t bsh, bus_size_t size, bus_size_t b,
+at91_barrier(bus_space_tag_t tag, bus_space_handle_t bsh, bus_size_t size, bus_size_t b,
     int a)
 {
 }

Modified: head/sys/arm/include/bus.h
==============================================================================
--- head/sys/arm/include/bus.h	Wed Jan 21 00:00:41 2015	(r277459)
+++ head/sys/arm/include/bus.h	Wed Jan 21 01:06:08 2015	(r277460)
@@ -81,168 +81,168 @@
 
 struct bus_space {
 	/* cookie */
-	void		*bs_cookie;
+	void		*bs_privdata;
 
 	/* mapping/unmapping */
-	int		(*bs_map) (void *, bus_addr_t, bus_size_t,
+	int		(*bs_map) (bus_space_tag_t, bus_addr_t, bus_size_t,
 			    int, bus_space_handle_t *);
-	void		(*bs_unmap) (void *, bus_space_handle_t, bus_size_t);
-	int		(*bs_subregion) (void *, bus_space_handle_t,
+	void		(*bs_unmap) (bus_space_tag_t, bus_space_handle_t, bus_size_t);
+	int		(*bs_subregion) (bus_space_tag_t, bus_space_handle_t,
 			    bus_size_t, bus_size_t, bus_space_handle_t *);
 
 	/* allocation/deallocation */
-	int		(*bs_alloc) (void *, bus_addr_t, bus_addr_t,
+	int		(*bs_alloc) (bus_space_tag_t, bus_addr_t, bus_addr_t,
 			    bus_size_t, bus_size_t, bus_size_t, int,
 			    bus_addr_t *, bus_space_handle_t *);
-	void		(*bs_free) (void *, bus_space_handle_t,
+	void		(*bs_free) (bus_space_tag_t, bus_space_handle_t,
 			    bus_size_t);
 
 	/* get kernel virtual address */
 	/* barrier */
-	void		(*bs_barrier) (void *, bus_space_handle_t,
+	void		(*bs_barrier) (bus_space_tag_t, bus_space_handle_t,
 			    bus_size_t, bus_size_t, int);
 
 	/* read (single) */
-	u_int8_t	(*bs_r_1) (void *, bus_space_handle_t, bus_size_t);
-	u_int16_t	(*bs_r_2) (void *, bus_space_handle_t, bus_size_t);
-	u_int32_t	(*bs_r_4) (void *, bus_space_handle_t, bus_size_t);
-	u_int64_t	(*bs_r_8) (void *, bus_space_handle_t, bus_size_t);
+	uint8_t		(*bs_r_1) (bus_space_tag_t, bus_space_handle_t, bus_size_t);
+	uint16_t	(*bs_r_2) (bus_space_tag_t, bus_space_handle_t, bus_size_t);
+	uint32_t	(*bs_r_4) (bus_space_tag_t, bus_space_handle_t, bus_size_t);
+	uint64_t	(*bs_r_8) (bus_space_tag_t, bus_space_handle_t, bus_size_t);
 
 	/* read multiple */
-	void		(*bs_rm_1) (void *, bus_space_handle_t, bus_size_t,
-	    u_int8_t *, bus_size_t);
-	void		(*bs_rm_2) (void *, bus_space_handle_t, bus_size_t,
-	    u_int16_t *, bus_size_t);
-	void		(*bs_rm_4) (void *, bus_space_handle_t,
-			    bus_size_t, u_int32_t *, bus_size_t);
-	void		(*bs_rm_8) (void *, bus_space_handle_t,
-			    bus_size_t, u_int64_t *, bus_size_t);
+	void		(*bs_rm_1) (bus_space_tag_t, bus_space_handle_t, bus_size_t,
+	    uint8_t *, bus_size_t);
+	void		(*bs_rm_2) (bus_space_tag_t, bus_space_handle_t, bus_size_t,
+	    uint16_t *, bus_size_t);
+	void		(*bs_rm_4) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, uint32_t *, bus_size_t);
+	void		(*bs_rm_8) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, uint64_t *, bus_size_t);
 					
 	/* read region */
-	void		(*bs_rr_1) (void *, bus_space_handle_t,
-			    bus_size_t, u_int8_t *, bus_size_t);
-	void		(*bs_rr_2) (void *, bus_space_handle_t,
-			    bus_size_t, u_int16_t *, bus_size_t);
-	void		(*bs_rr_4) (void *, bus_space_handle_t,
-			    bus_size_t, u_int32_t *, bus_size_t);
-	void		(*bs_rr_8) (void *, bus_space_handle_t,
-			    bus_size_t, u_int64_t *, bus_size_t);
+	void		(*bs_rr_1) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, uint8_t *, bus_size_t);
+	void		(*bs_rr_2) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, uint16_t *, bus_size_t);
+	void		(*bs_rr_4) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, uint32_t *, bus_size_t);
+	void		(*bs_rr_8) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, uint64_t *, bus_size_t);
 					
 	/* write (single) */
-	void		(*bs_w_1) (void *, bus_space_handle_t,
-			    bus_size_t, u_int8_t);
-	void		(*bs_w_2) (void *, bus_space_handle_t,
-			    bus_size_t, u_int16_t);
-	void		(*bs_w_4) (void *, bus_space_handle_t,
-			    bus_size_t, u_int32_t);
-	void		(*bs_w_8) (void *, bus_space_handle_t,
-			    bus_size_t, u_int64_t);
+	void		(*bs_w_1) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, uint8_t);
+	void		(*bs_w_2) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, uint16_t);
+	void		(*bs_w_4) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, uint32_t);
+	void		(*bs_w_8) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, uint64_t);
 
 	/* write multiple */
-	void		(*bs_wm_1) (void *, bus_space_handle_t,
-			    bus_size_t, const u_int8_t *, bus_size_t);
-	void		(*bs_wm_2) (void *, bus_space_handle_t,
-			    bus_size_t, const u_int16_t *, bus_size_t);
-	void		(*bs_wm_4) (void *, bus_space_handle_t,
-			    bus_size_t, const u_int32_t *, bus_size_t);
-	void		(*bs_wm_8) (void *, bus_space_handle_t,
-			    bus_size_t, const u_int64_t *, bus_size_t);
+	void		(*bs_wm_1) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, const uint8_t *, bus_size_t);
+	void		(*bs_wm_2) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, const uint16_t *, bus_size_t);
+	void		(*bs_wm_4) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, const uint32_t *, bus_size_t);
+	void		(*bs_wm_8) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, const uint64_t *, bus_size_t);
 					
 	/* write region */
-	void		(*bs_wr_1) (void *, bus_space_handle_t,
-			    bus_size_t, const u_int8_t *, bus_size_t);
-	void		(*bs_wr_2) (void *, bus_space_handle_t,
-			    bus_size_t, const u_int16_t *, bus_size_t);
-	void		(*bs_wr_4) (void *, bus_space_handle_t,
-			    bus_size_t, const u_int32_t *, bus_size_t);
-	void		(*bs_wr_8) (void *, bus_space_handle_t,
-			    bus_size_t, const u_int64_t *, bus_size_t);
+	void		(*bs_wr_1) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, const uint8_t *, bus_size_t);
+	void		(*bs_wr_2) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, const uint16_t *, bus_size_t);
+	void		(*bs_wr_4) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, const uint32_t *, bus_size_t);
+	void		(*bs_wr_8) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, const uint64_t *, bus_size_t);
 
 	/* set multiple */
-	void		(*bs_sm_1) (void *, bus_space_handle_t,
-			    bus_size_t, u_int8_t, bus_size_t);
-	void		(*bs_sm_2) (void *, bus_space_handle_t,
-			    bus_size_t, u_int16_t, bus_size_t);
-	void		(*bs_sm_4) (void *, bus_space_handle_t,
-			    bus_size_t, u_int32_t, bus_size_t);
-	void		(*bs_sm_8) (void *, bus_space_handle_t,
-			    bus_size_t, u_int64_t, bus_size_t);
+	void		(*bs_sm_1) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, uint8_t, bus_size_t);
+	void		(*bs_sm_2) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, uint16_t, bus_size_t);
+	void		(*bs_sm_4) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, uint32_t, bus_size_t);
+	void		(*bs_sm_8) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, uint64_t, bus_size_t);
 
 	/* set region */
-	void		(*bs_sr_1) (void *, bus_space_handle_t,
-			    bus_size_t, u_int8_t, bus_size_t);
-	void		(*bs_sr_2) (void *, bus_space_handle_t,
-			    bus_size_t, u_int16_t, bus_size_t);
-	void		(*bs_sr_4) (void *, bus_space_handle_t,
-			    bus_size_t, u_int32_t, bus_size_t);
-	void		(*bs_sr_8) (void *, bus_space_handle_t,
-			    bus_size_t, u_int64_t, bus_size_t);
+	void		(*bs_sr_1) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, uint8_t, bus_size_t);
+	void		(*bs_sr_2) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, uint16_t, bus_size_t);
+	void		(*bs_sr_4) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, uint32_t, bus_size_t);
+	void		(*bs_sr_8) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, uint64_t, bus_size_t);
 
 	/* copy */
-	void		(*bs_c_1) (void *, bus_space_handle_t, bus_size_t,
+	void		(*bs_c_1) (bus_space_tag_t, bus_space_handle_t, bus_size_t,
 			    bus_space_handle_t, bus_size_t, bus_size_t);
-	void		(*bs_c_2) (void *, bus_space_handle_t, bus_size_t,
+	void		(*bs_c_2) (bus_space_tag_t, bus_space_handle_t, bus_size_t,
 			    bus_space_handle_t, bus_size_t, bus_size_t);
-	void		(*bs_c_4) (void *, bus_space_handle_t, bus_size_t,
+	void		(*bs_c_4) (bus_space_tag_t, bus_space_handle_t, bus_size_t,
 			    bus_space_handle_t, bus_size_t, bus_size_t);
-	void		(*bs_c_8) (void *, bus_space_handle_t, bus_size_t,
+	void		(*bs_c_8) (bus_space_tag_t, bus_space_handle_t, bus_size_t,
 			    bus_space_handle_t, bus_size_t, bus_size_t);
 
 	/* read stream (single) */
-	u_int8_t	(*bs_r_1_s) (void *, bus_space_handle_t, bus_size_t);
-	u_int16_t	(*bs_r_2_s) (void *, bus_space_handle_t, bus_size_t);
-	u_int32_t	(*bs_r_4_s) (void *, bus_space_handle_t, bus_size_t);
-	u_int64_t	(*bs_r_8_s) (void *, bus_space_handle_t, bus_size_t);
+	uint8_t	(*bs_r_1_s) (bus_space_tag_t, bus_space_handle_t, bus_size_t);
+	uint16_t	(*bs_r_2_s) (bus_space_tag_t, bus_space_handle_t, bus_size_t);
+	uint32_t	(*bs_r_4_s) (bus_space_tag_t, bus_space_handle_t, bus_size_t);
+	uint64_t	(*bs_r_8_s) (bus_space_tag_t, bus_space_handle_t, bus_size_t);
 
 	/* read multiple stream */
-	void		(*bs_rm_1_s) (void *, bus_space_handle_t, bus_size_t,
-	    u_int8_t *, bus_size_t);
-	void		(*bs_rm_2_s) (void *, bus_space_handle_t, bus_size_t,
-	    u_int16_t *, bus_size_t);
-	void		(*bs_rm_4_s) (void *, bus_space_handle_t,
-			    bus_size_t, u_int32_t *, bus_size_t);
-	void		(*bs_rm_8_s) (void *, bus_space_handle_t,
-			    bus_size_t, u_int64_t *, bus_size_t);
+	void		(*bs_rm_1_s) (bus_space_tag_t, bus_space_handle_t, bus_size_t,
+	    uint8_t *, bus_size_t);
+	void		(*bs_rm_2_s) (bus_space_tag_t, bus_space_handle_t, bus_size_t,
+	    uint16_t *, bus_size_t);
+	void		(*bs_rm_4_s) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, uint32_t *, bus_size_t);
+	void		(*bs_rm_8_s) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, uint64_t *, bus_size_t);
 					
 	/* read region stream */
-	void		(*bs_rr_1_s) (void *, bus_space_handle_t,
-			    bus_size_t, u_int8_t *, bus_size_t);
-	void		(*bs_rr_2_s) (void *, bus_space_handle_t,
-			    bus_size_t, u_int16_t *, bus_size_t);
-	void		(*bs_rr_4_s) (void *, bus_space_handle_t,
-			    bus_size_t, u_int32_t *, bus_size_t);
-	void		(*bs_rr_8_s) (void *, bus_space_handle_t,
-			    bus_size_t, u_int64_t *, bus_size_t);
+	void		(*bs_rr_1_s) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, uint8_t *, bus_size_t);
+	void		(*bs_rr_2_s) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, uint16_t *, bus_size_t);
+	void		(*bs_rr_4_s) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, uint32_t *, bus_size_t);
+	void		(*bs_rr_8_s) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, uint64_t *, bus_size_t);
 					
 	/* write stream (single) */
-	void		(*bs_w_1_s) (void *, bus_space_handle_t,
-			    bus_size_t, u_int8_t);
-	void		(*bs_w_2_s) (void *, bus_space_handle_t,
-			    bus_size_t, u_int16_t);
-	void		(*bs_w_4_s) (void *, bus_space_handle_t,
-			    bus_size_t, u_int32_t);
-	void		(*bs_w_8_s) (void *, bus_space_handle_t,
-			    bus_size_t, u_int64_t);
+	void		(*bs_w_1_s) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, uint8_t);
+	void		(*bs_w_2_s) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, uint16_t);
+	void		(*bs_w_4_s) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, uint32_t);
+	void		(*bs_w_8_s) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, uint64_t);
 
 	/* write multiple stream */
-	void		(*bs_wm_1_s) (void *, bus_space_handle_t,
-			    bus_size_t, const u_int8_t *, bus_size_t);
-	void		(*bs_wm_2_s) (void *, bus_space_handle_t,
-			    bus_size_t, const u_int16_t *, bus_size_t);
-	void		(*bs_wm_4_s) (void *, bus_space_handle_t,
-			    bus_size_t, const u_int32_t *, bus_size_t);
-	void		(*bs_wm_8_s) (void *, bus_space_handle_t,
-			    bus_size_t, const u_int64_t *, bus_size_t);
+	void		(*bs_wm_1_s) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, const uint8_t *, bus_size_t);
+	void		(*bs_wm_2_s) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, const uint16_t *, bus_size_t);
+	void		(*bs_wm_4_s) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, const uint32_t *, bus_size_t);
+	void		(*bs_wm_8_s) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, const uint64_t *, bus_size_t);
 					
 	/* write region stream */
-	void		(*bs_wr_1_s) (void *, bus_space_handle_t,
-			    bus_size_t, const u_int8_t *, bus_size_t);
-	void		(*bs_wr_2_s) (void *, bus_space_handle_t,
-			    bus_size_t, const u_int16_t *, bus_size_t);
-	void		(*bs_wr_4_s) (void *, bus_space_handle_t,
-			    bus_size_t, const u_int32_t *, bus_size_t);
-	void		(*bs_wr_8_s) (void *, bus_space_handle_t,
-			    bus_size_t, const u_int64_t *, bus_size_t);
+	void		(*bs_wr_1_s) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, const uint8_t *, bus_size_t);
+	void		(*bs_wr_2_s) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, const uint16_t *, bus_size_t);
+	void		(*bs_wr_4_s) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, const uint32_t *, bus_size_t);
+	void		(*bs_wr_8_s) (bus_space_tag_t, bus_space_handle_t,
+			    bus_size_t, const uint64_t *, bus_size_t);
 };
 
 
@@ -253,19 +253,19 @@ struct bus_space {
 #define	__bs_opname(op,size)	__bs_c(__bs_c(__bs_c(bs_,op),_),size)
 
 #define	__bs_nonsingle(type, sz, t, h, o, a, c)				\
-	(*(t)->__bs_opname(type,sz))((t)->bs_cookie, h, o, a, c)
+	(*(t)->__bs_opname(type,sz))((t), h, o, a, c)
 #define	__bs_set(type, sz, t, h, o, v, c)				\
-	(*(t)->__bs_opname(type,sz))((t)->bs_cookie, h, o, v, c)
+	(*(t)->__bs_opname(type,sz))((t), h, o, v, c)
 #define	__bs_copy(sz, t, h1, o1, h2, o2, cnt)				\
-	(*(t)->__bs_opname(c,sz))((t)->bs_cookie, h1, o1, h2, o2, cnt)
+	(*(t)->__bs_opname(c,sz))((t), h1, o1, h2, o2, cnt)
 
 #define	__bs_opname_s(op,size)	__bs_c(__bs_c(__bs_c(__bs_c(bs_,op),_),size),_s)
 #define	__bs_rs_s(sz, t, h, o)						\
-	(*(t)->__bs_opname_s(r,sz))((t)->bs_cookie, h, o)
+	(*(t)->__bs_opname_s(r,sz))((t), h, o)
 #define	__bs_ws_s(sz, t, h, o, v)					\
-	(*(t)->__bs_opname_s(w,sz))((t)->bs_cookie, h, o, v)
+	(*(t)->__bs_opname_s(w,sz))((t), h, o, v)
 #define	__bs_nonsingle_s(type, sz, t, h, o, a, c)			\
-	(*(t)->__bs_opname_s(type,sz))((t)->bs_cookie, h, o, a, c)
+	(*(t)->__bs_opname_s(type,sz))((t), h, o, a, c)
 
 
 #define __generate_inline_bs_rs(IFN, MBR, TYP)					\
@@ -276,7 +276,7 @@ struct bus_space {
 		if (__predict_true(t->MBR == NULL))			\
 			return (*(volatile TYP *)(h + o));		\
 		else							\
-			return (t->MBR(t->bs_cookie, h, o));		\
+			return (t->MBR(t, h, o));		\
 	}
 
 #define __generate_inline_bs_ws(IFN, MBR, TYP)					\
@@ -287,34 +287,34 @@ struct bus_space {
 		if (__predict_true(t->MBR == NULL))			\
 			*(volatile TYP *)(h + o) = v;			\
 		else							\
-			t->MBR(t->bs_cookie, h, o, v);			\
+			t->MBR(t, h, o, v);			\
 	}
 
 /*
  * Mapping and unmapping operations.
  */
 #define	bus_space_map(t, a, s, c, hp)					\
-	(*(t)->bs_map)((t)->bs_cookie, (a), (s), (c), (hp))
+	(*(t)->bs_map)((t), (a), (s), (c), (hp))
 #define	bus_space_unmap(t, h, s)					\
-	(*(t)->bs_unmap)((t)->bs_cookie, (h), (s))
+	(*(t)->bs_unmap)((t), (h), (s))
 #define	bus_space_subregion(t, h, o, s, hp)				\
-	(*(t)->bs_subregion)((t)->bs_cookie, (h), (o), (s), (hp))
+	(*(t)->bs_subregion)((t), (h), (o), (s), (hp))
 
 
 /*
  * Allocation and deallocation operations.
  */
 #define	bus_space_alloc(t, rs, re, s, a, b, c, ap, hp)			\
-	(*(t)->bs_alloc)((t)->bs_cookie, (rs), (re), (s), (a), (b),	\
+	(*(t)->bs_alloc)((t), (rs), (re), (s), (a), (b),	\
 	    (c), (ap), (hp))
 #define	bus_space_free(t, h, s)						\
-	(*(t)->bs_free)((t)->bs_cookie, (h), (s))
+	(*(t)->bs_free)((t), (h), (s))
 
 /*
  * Bus barrier operations.
  */
 #define	bus_space_barrier(t, h, o, l, f)				\
-	(*(t)->bs_barrier)((t)->bs_cookie, (h), (o), (l), (f))
+	(*(t)->bs_barrier)((t), (h), (o), (l), (f))
 
 #define	BUS_SPACE_BARRIER_READ	0x01
 #define	BUS_SPACE_BARRIER_WRITE	0x02
@@ -478,204 +478,204 @@ __generate_inline_bs_ws(bus_space_write_
  */
 
 #define bs_map_proto(f)							\
-int	__bs_c(f,_bs_map) (void *t, bus_addr_t addr,		\
+int	__bs_c(f,_bs_map) (bus_space_tag_t t, bus_addr_t addr,		\
 	    bus_size_t size, int cacheable, bus_space_handle_t *bshp);
 
 #define bs_unmap_proto(f)						\
-void	__bs_c(f,_bs_unmap) (void *t, bus_space_handle_t bsh,		\
+void	__bs_c(f,_bs_unmap) (bus_space_tag_t t, bus_space_handle_t bsh,		\
 	    bus_size_t size);
 
 #define bs_subregion_proto(f)						\
-int	__bs_c(f,_bs_subregion) (void *t, bus_space_handle_t bsh,	\
+int	__bs_c(f,_bs_subregion) (bus_space_tag_t t, bus_space_handle_t bsh,	\
 	    bus_size_t offset, bus_size_t size, 			\
 	    bus_space_handle_t *nbshp);
 
 #define bs_alloc_proto(f)						\
-int	__bs_c(f,_bs_alloc) (void *t, bus_addr_t rstart,		\
+int	__bs_c(f,_bs_alloc) (bus_space_tag_t t, bus_addr_t rstart,		\
 	    bus_addr_t rend, bus_size_t size, bus_size_t align,		\
 	    bus_size_t boundary, int cacheable, bus_addr_t *addrp,	\
 	    bus_space_handle_t *bshp);
 
 #define bs_free_proto(f)						\
-void	__bs_c(f,_bs_free) (void *t, bus_space_handle_t bsh,	\
+void	__bs_c(f,_bs_free) (bus_space_tag_t t, bus_space_handle_t bsh,	\
 	    bus_size_t size);
 
 #define bs_mmap_proto(f)						\
 int	__bs_c(f,_bs_mmap) (struct cdev *, vm_offset_t, vm_paddr_t *, int);
 
 #define bs_barrier_proto(f)						\
-void	__bs_c(f,_bs_barrier) (void *t, bus_space_handle_t bsh,	\
+void	__bs_c(f,_bs_barrier) (bus_space_tag_t t, bus_space_handle_t bsh,	\
 	    bus_size_t offset, bus_size_t len, int flags);
 
 #define	bs_r_1_proto(f)							\
-u_int8_t	__bs_c(f,_bs_r_1) (void *t, bus_space_handle_t bsh,	\
+uint8_t	__bs_c(f,_bs_r_1) (bus_space_tag_t t, bus_space_handle_t bsh,	\
 		    bus_size_t offset);
 
 #define	bs_r_2_proto(f)							\
-u_int16_t	__bs_c(f,_bs_r_2) (void *t, bus_space_handle_t bsh,	\
+uint16_t	__bs_c(f,_bs_r_2) (bus_space_tag_t t, bus_space_handle_t bsh,	\
 		    bus_size_t offset);
 
 #define	bs_r_4_proto(f)							\
-u_int32_t	__bs_c(f,_bs_r_4) (void *t, bus_space_handle_t bsh,	\
+uint32_t	__bs_c(f,_bs_r_4) (bus_space_tag_t t, bus_space_handle_t bsh,	\
 		    bus_size_t offset);
 
 #define	bs_r_8_proto(f)							\
-u_int64_t	__bs_c(f,_bs_r_8) (void *t, bus_space_handle_t bsh,	\
+uint64_t	__bs_c(f,_bs_r_8) (bus_space_tag_t t, bus_space_handle_t bsh,	\
 		    bus_size_t offset);
 
 #define	bs_r_1_s_proto(f)						\
-u_int8_t	__bs_c(f,_bs_r_1_s) (void *t, bus_space_handle_t bsh,	\
+uint8_t	__bs_c(f,_bs_r_1_s) (bus_space_tag_t t, bus_space_handle_t bsh,	\
 		    bus_size_t offset);
 
 #define	bs_r_2_s_proto(f)						\
-u_int16_t	__bs_c(f,_bs_r_2_s) (void *t, bus_space_handle_t bsh,	\
+uint16_t	__bs_c(f,_bs_r_2_s) (bus_space_tag_t t, bus_space_handle_t bsh,	\
 		    bus_size_t offset);
 
 #define	bs_r_4_s_proto(f)						\
-u_int32_t	__bs_c(f,_bs_r_4_s) (void *t, bus_space_handle_t bsh,	\
+uint32_t	__bs_c(f,_bs_r_4_s) (bus_space_tag_t t, bus_space_handle_t bsh,	\
 		    bus_size_t offset);
 
 #define	bs_w_1_proto(f)							\
-void	__bs_c(f,_bs_w_1) (void *t, bus_space_handle_t bsh,		\
-	    bus_size_t offset, u_int8_t value);
+void	__bs_c(f,_bs_w_1) (bus_space_tag_t t, bus_space_handle_t bsh,		\
+	    bus_size_t offset, uint8_t value);
 
 #define	bs_w_2_proto(f)							\
-void	__bs_c(f,_bs_w_2) (void *t, bus_space_handle_t bsh,		\
-	    bus_size_t offset, u_int16_t value);
+void	__bs_c(f,_bs_w_2) (bus_space_tag_t t, bus_space_handle_t bsh,		\
+	    bus_size_t offset, uint16_t value);
 
 #define	bs_w_4_proto(f)							\
-void	__bs_c(f,_bs_w_4) (void *t, bus_space_handle_t bsh,		\
-	    bus_size_t offset, u_int32_t value);
+void	__bs_c(f,_bs_w_4) (bus_space_tag_t t, bus_space_handle_t bsh,		\
+	    bus_size_t offset, uint32_t value);
 
 #define	bs_w_8_proto(f)							\
-void	__bs_c(f,_bs_w_8) (void *t, bus_space_handle_t bsh,		\
-	    bus_size_t offset, u_int64_t value);
+void	__bs_c(f,_bs_w_8) (bus_space_tag_t t, bus_space_handle_t bsh,		\
+	    bus_size_t offset, uint64_t value);
 
 #define	bs_w_1_s_proto(f)						\
-void	__bs_c(f,_bs_w_1_s) (void *t, bus_space_handle_t bsh,		\
-	    bus_size_t offset, u_int8_t value);
+void	__bs_c(f,_bs_w_1_s) (bus_space_tag_t t, bus_space_handle_t bsh,		\
+	    bus_size_t offset, uint8_t value);
 
 #define	bs_w_2_s_proto(f)						\
-void	__bs_c(f,_bs_w_2_s) (void *t, bus_space_handle_t bsh,		\
-	    bus_size_t offset, u_int16_t value);
+void	__bs_c(f,_bs_w_2_s) (bus_space_tag_t t, bus_space_handle_t bsh,		\
+	    bus_size_t offset, uint16_t value);
 
 #define	bs_w_4_s_proto(f)						\
-void	__bs_c(f,_bs_w_4_s) (void *t, bus_space_handle_t bsh,		\
-	    bus_size_t offset, u_int32_t value);
+void	__bs_c(f,_bs_w_4_s) (bus_space_tag_t t, bus_space_handle_t bsh,		\
+	    bus_size_t offset, uint32_t value);
 
 #define	bs_rm_1_proto(f)						\
-void	__bs_c(f,_bs_rm_1) (void *t, bus_space_handle_t bsh,	\
-	    bus_size_t offset, u_int8_t *addr, bus_size_t count);
+void	__bs_c(f,_bs_rm_1) (bus_space_tag_t t, bus_space_handle_t bsh,	\
+	    bus_size_t offset, uint8_t *addr, bus_size_t count);
 
 #define	bs_rm_2_proto(f)						\
-void	__bs_c(f,_bs_rm_2) (void *t, bus_space_handle_t bsh,	\
-	    bus_size_t offset, u_int16_t *addr, bus_size_t count);
+void	__bs_c(f,_bs_rm_2) (bus_space_tag_t t, bus_space_handle_t bsh,	\
+	    bus_size_t offset, uint16_t *addr, bus_size_t count);
 
 #define	bs_rm_4_proto(f)						\
-void	__bs_c(f,_bs_rm_4) (void *t, bus_space_handle_t bsh,	\
-	    bus_size_t offset, u_int32_t *addr, bus_size_t count);		
+void	__bs_c(f,_bs_rm_4) (bus_space_tag_t t, bus_space_handle_t bsh,	\
+	    bus_size_t offset, uint32_t *addr, bus_size_t count);		
 
 #define	bs_rm_8_proto(f)						\
-void	__bs_c(f,_bs_rm_8) (void *t, bus_space_handle_t bsh,	\
-	    bus_size_t offset, u_int64_t *addr, bus_size_t count);
+void	__bs_c(f,_bs_rm_8) (bus_space_tag_t t, bus_space_handle_t bsh,	\
+	    bus_size_t offset, uint64_t *addr, bus_size_t count);
 
 #define	bs_wm_1_proto(f)						\
-void	__bs_c(f,_bs_wm_1) (void *t, bus_space_handle_t bsh,	\
-	    bus_size_t offset, const u_int8_t *addr, bus_size_t count);
+void	__bs_c(f,_bs_wm_1) (bus_space_tag_t t, bus_space_handle_t bsh,	\
+	    bus_size_t offset, const uint8_t *addr, bus_size_t count);
 
 #define	bs_wm_2_proto(f)						\
-void	__bs_c(f,_bs_wm_2) (void *t, bus_space_handle_t bsh,	\
-	    bus_size_t offset, const u_int16_t *addr, bus_size_t count);
+void	__bs_c(f,_bs_wm_2) (bus_space_tag_t t, bus_space_handle_t bsh,	\
+	    bus_size_t offset, const uint16_t *addr, bus_size_t count);
 
 #define	bs_wm_4_proto(f)						\
-void	__bs_c(f,_bs_wm_4) (void *t, bus_space_handle_t bsh,	\
-	    bus_size_t offset, const u_int32_t *addr, bus_size_t count);
+void	__bs_c(f,_bs_wm_4) (bus_space_tag_t t, bus_space_handle_t bsh,	\
+	    bus_size_t offset, const uint32_t *addr, bus_size_t count);
 
 #define	bs_wm_8_proto(f)						\
-void	__bs_c(f,_bs_wm_8) (void *t, bus_space_handle_t bsh,	\
-	    bus_size_t offset, const u_int64_t *addr, bus_size_t count);
+void	__bs_c(f,_bs_wm_8) (bus_space_tag_t t, bus_space_handle_t bsh,	\
+	    bus_size_t offset, const uint64_t *addr, bus_size_t count);
 
 #define	bs_rr_1_proto(f)						\
-void	__bs_c(f, _bs_rr_1) (void *t, bus_space_handle_t bsh,	\
-	    bus_size_t offset, u_int8_t *addr, bus_size_t count);
+void	__bs_c(f, _bs_rr_1) (bus_space_tag_t t, bus_space_handle_t bsh,	\
+	    bus_size_t offset, uint8_t *addr, bus_size_t count);
 
 #define	bs_rr_2_proto(f)						\
-void	__bs_c(f, _bs_rr_2) (void *t, bus_space_handle_t bsh,	\
-	    bus_size_t offset, u_int16_t *addr, bus_size_t count);
+void	__bs_c(f, _bs_rr_2) (bus_space_tag_t t, bus_space_handle_t bsh,	\
+	    bus_size_t offset, uint16_t *addr, bus_size_t count);
 
 #define	bs_rr_4_proto(f)						\
-void	__bs_c(f, _bs_rr_4) (void *t, bus_space_handle_t bsh,	\
-	    bus_size_t offset, u_int32_t *addr, bus_size_t count);
+void	__bs_c(f, _bs_rr_4) (bus_space_tag_t t, bus_space_handle_t bsh,	\
+	    bus_size_t offset, uint32_t *addr, bus_size_t count);
 
 #define	bs_rr_8_proto(f)						\
-void	__bs_c(f, _bs_rr_8) (void *t, bus_space_handle_t bsh,	\
-	    bus_size_t offset, u_int64_t *addr, bus_size_t count);
+void	__bs_c(f, _bs_rr_8) (bus_space_tag_t t, bus_space_handle_t bsh,	\
+	    bus_size_t offset, uint64_t *addr, bus_size_t count);
 
 #define	bs_wr_1_proto(f)						\
-void	__bs_c(f, _bs_wr_1) (void *t, bus_space_handle_t bsh,	\
-	    bus_size_t offset, const u_int8_t *addr, bus_size_t count);
+void	__bs_c(f, _bs_wr_1) (bus_space_tag_t t, bus_space_handle_t bsh,	\
+	    bus_size_t offset, const uint8_t *addr, bus_size_t count);
 
 #define	bs_wr_2_proto(f)						\
-void	__bs_c(f, _bs_wr_2) (void *t, bus_space_handle_t bsh,	\
-	    bus_size_t offset, const u_int16_t *addr, bus_size_t count);
+void	__bs_c(f, _bs_wr_2) (bus_space_tag_t t, bus_space_handle_t bsh,	\
+	    bus_size_t offset, const uint16_t *addr, bus_size_t count);
 
 #define	bs_wr_4_proto(f)						\
-void	__bs_c(f, _bs_wr_4) (void *t, bus_space_handle_t bsh,	\
-	    bus_size_t offset, const u_int32_t *addr, bus_size_t count);
+void	__bs_c(f, _bs_wr_4) (bus_space_tag_t t, bus_space_handle_t bsh,	\
+	    bus_size_t offset, const uint32_t *addr, bus_size_t count);
 
 #define	bs_wr_8_proto(f)						\
-void	__bs_c(f, _bs_wr_8) (void *t, bus_space_handle_t bsh,	\
-	    bus_size_t offset, const u_int64_t *addr, bus_size_t count);
+void	__bs_c(f, _bs_wr_8) (bus_space_tag_t t, bus_space_handle_t bsh,	\
+	    bus_size_t offset, const uint64_t *addr, bus_size_t count);
 
 #define	bs_sm_1_proto(f)						\
-void	__bs_c(f,_bs_sm_1) (void *t, bus_space_handle_t bsh,	\
-	    bus_size_t offset, u_int8_t value, bus_size_t count);
+void	__bs_c(f,_bs_sm_1) (bus_space_tag_t t, bus_space_handle_t bsh,	\
+	    bus_size_t offset, uint8_t value, bus_size_t count);
 
 #define	bs_sm_2_proto(f)						\
-void	__bs_c(f,_bs_sm_2) (void *t, bus_space_handle_t bsh,	\
-	    bus_size_t offset, u_int16_t value, bus_size_t count);
+void	__bs_c(f,_bs_sm_2) (bus_space_tag_t t, bus_space_handle_t bsh,	\
+	    bus_size_t offset, uint16_t value, bus_size_t count);
 
 #define	bs_sm_4_proto(f)						\
-void	__bs_c(f,_bs_sm_4) (void *t, bus_space_handle_t bsh,	\
-	    bus_size_t offset, u_int32_t value, bus_size_t count);
+void	__bs_c(f,_bs_sm_4) (bus_space_tag_t t, bus_space_handle_t bsh,	\
+	    bus_size_t offset, uint32_t value, bus_size_t count);
 
 #define	bs_sm_8_proto(f)						\
-void	__bs_c(f,_bs_sm_8) (void *t, bus_space_handle_t bsh,	\
-	    bus_size_t offset, u_int64_t value, bus_size_t count);
+void	__bs_c(f,_bs_sm_8) (bus_space_tag_t t, bus_space_handle_t bsh,	\
+	    bus_size_t offset, uint64_t value, bus_size_t count);
 
 #define	bs_sr_1_proto(f)						\
-void	__bs_c(f,_bs_sr_1) (void *t, bus_space_handle_t bsh,	\
-	    bus_size_t offset, u_int8_t value, bus_size_t count);
+void	__bs_c(f,_bs_sr_1) (bus_space_tag_t t, bus_space_handle_t bsh,	\
+	    bus_size_t offset, uint8_t value, bus_size_t count);
 
 #define	bs_sr_2_proto(f)						\
-void	__bs_c(f,_bs_sr_2) (void *t, bus_space_handle_t bsh,	\
-	    bus_size_t offset, u_int16_t value, bus_size_t count);
+void	__bs_c(f,_bs_sr_2) (bus_space_tag_t t, bus_space_handle_t bsh,	\
+	    bus_size_t offset, uint16_t value, bus_size_t count);
 
 #define	bs_sr_4_proto(f)						\
-void	__bs_c(f,_bs_sr_4) (void *t, bus_space_handle_t bsh,	\
-	    bus_size_t offset, u_int32_t value, bus_size_t count);
+void	__bs_c(f,_bs_sr_4) (bus_space_tag_t t, bus_space_handle_t bsh,	\
+	    bus_size_t offset, uint32_t value, bus_size_t count);
 
 #define	bs_sr_8_proto(f)						\
-void	__bs_c(f,_bs_sr_8) (void *t, bus_space_handle_t bsh,	\
-	    bus_size_t offset, u_int64_t value, bus_size_t count);
+void	__bs_c(f,_bs_sr_8) (bus_space_tag_t t, bus_space_handle_t bsh,	\
+	    bus_size_t offset, uint64_t value, bus_size_t count);
 
 #define	bs_c_1_proto(f)							\
-void	__bs_c(f,_bs_c_1) (void *t, bus_space_handle_t bsh1,	\
+void	__bs_c(f,_bs_c_1) (bus_space_tag_t t, bus_space_handle_t bsh1,	\
 	    bus_size_t offset1, bus_space_handle_t bsh2,		\
 	    bus_size_t offset2, bus_size_t count);
 
 #define	bs_c_2_proto(f)							\
-void	__bs_c(f,_bs_c_2) (void *t, bus_space_handle_t bsh1,	\
+void	__bs_c(f,_bs_c_2) (bus_space_tag_t t, bus_space_handle_t bsh1,	\
 	    bus_size_t offset1, bus_space_handle_t bsh2,		\
 	    bus_size_t offset2, bus_size_t count);
 
 #define	bs_c_4_proto(f)							\
-void	__bs_c(f,_bs_c_4) (void *t, bus_space_handle_t bsh1,	\
+void	__bs_c(f,_bs_c_4) (bus_space_tag_t t, bus_space_handle_t bsh1,	\
 	    bus_size_t offset1, bus_space_handle_t bsh2,		\
 	    bus_size_t offset2, bus_size_t count);
 
 #define	bs_c_8_proto(f)							\
-void	__bs_c(f,_bs_c_8) (void *t, bus_space_handle_t bsh1,	\
+void	__bs_c(f,_bs_c_8) (bus_space_tag_t t, bus_space_handle_t bsh1,	\
 	    bus_size_t offset1, bus_space_handle_t bsh2,		\
 	    bus_size_t offset2, bus_size_t count);
 

Modified: head/sys/arm/versatile/bus_space.c
==============================================================================
--- head/sys/arm/versatile/bus_space.c	Wed Jan 21 00:00:41 2015	(r277459)
+++ head/sys/arm/versatile/bus_space.c	Wed Jan 21 01:06:08 2015	(r277460)
@@ -46,7 +46,7 @@ bs_protos(generic_armv4);
 
 struct bus_space _base_tag = {
 	/* cookie */
-	.bs_cookie	= (void *) 0,
+	.bs_privdata	= (void *) 0,
 	
 	/* mapping/unmapping */
 	.bs_map		= generic_bs_map,

Modified: head/sys/arm/xilinx/zy7_bus_space.c
==============================================================================
--- head/sys/arm/xilinx/zy7_bus_space.c	Wed Jan 21 00:00:41 2015	(r277459)
+++ head/sys/arm/xilinx/zy7_bus_space.c	Wed Jan 21 01:06:08 2015	(r277460)
@@ -46,7 +46,7 @@ bs_protos(generic_armv4);
 
 struct bus_space _base_tag = {
 	/* cookie */
-	.bs_cookie	= (void *) 0,
+	.bs_privdata	= (void *) 0,
 	
 	/* mapping/unmapping */
 	.bs_map		= generic_bs_map,

Modified: head/sys/arm/xscale/i80321/i80321_space.c
==============================================================================
--- head/sys/arm/xscale/i80321/i80321_space.c	Wed Jan 21 00:00:41 2015	(r277459)
+++ head/sys/arm/xscale/i80321/i80321_space.c	Wed Jan 21 01:06:08 2015	(r277460)
@@ -182,7 +182,7 @@ i80321_bs_init(bus_space_tag_t bs, void 
 {
 
 	*bs = i80321_bs_tag_template;
-	bs->bs_cookie = cookie;
+	bs->bs_privdata = cookie;
 }
 
 void
@@ -190,7 +190,7 @@ i80321_io_bs_init(bus_space_tag_t bs, vo
 {
 
 	*bs = i80321_bs_tag_template;
-	bs->bs_cookie = cookie;
+	bs->bs_privdata = cookie;
 
 	bs->bs_map = i80321_io_bs_map;
 	bs->bs_unmap = i80321_io_bs_unmap;
@@ -204,7 +204,7 @@ i80321_mem_bs_init(bus_space_tag_t bs, v
 {
 
 	*bs = i80321_bs_tag_template;
-	bs->bs_cookie = cookie;
+	bs->bs_privdata = cookie;
 
 	bs->bs_map = i80321_mem_bs_map;
 	bs->bs_unmap = i80321_mem_bs_unmap;
@@ -216,7 +216,7 @@ i80321_mem_bs_init(bus_space_tag_t bs, v
 /* *** Routines shared by i80321, PCI IO, and PCI MEM. *** */
 
 int
-i80321_bs_subregion(void *t, bus_space_handle_t bsh, bus_size_t offset,
+i80321_bs_subregion(bus_space_tag_t tag, bus_space_handle_t bsh, bus_size_t offset,
     bus_size_t size, bus_space_handle_t *nbshp)
 {
 
@@ -225,7 +225,7 @@ i80321_bs_subregion(void *t, bus_space_h
 }
 
 void
-i80321_bs_barrier(void *t, bus_space_handle_t bsh, bus_size_t offset,
+i80321_bs_barrier(bus_space_tag_t tag, bus_space_handle_t bsh, bus_size_t offset,
     bus_size_t len, int flags)
 {
 
@@ -236,7 +236,7 @@ i80321_bs_barrier(void *t, bus_space_han
 
 extern struct i80321_softc *i80321_softc;
 int
-i80321_io_bs_map(void *t, bus_addr_t bpa, bus_size_t size, int flags,
+i80321_io_bs_map(bus_space_tag_t tag, bus_addr_t bpa, bus_size_t size, int flags,
     bus_space_handle_t *bshp)
 {
 	struct i80321_softc *sc = i80321_softc;
@@ -264,14 +264,14 @@ i80321_io_bs_map(void *t, bus_addr_t bpa
 }
 
 void
-i80321_io_bs_unmap(void *t, bus_space_handle_t h, bus_size_t size)
+i80321_io_bs_unmap(bus_space_tag_t tag, bus_space_handle_t h, bus_size_t size)
 {
 
 	/* Nothing to do. */
 }
 
 int
-i80321_io_bs_alloc(void *t, bus_addr_t rstart, bus_addr_t rend,
+i80321_io_bs_alloc(bus_space_tag_t tag, bus_addr_t rstart, bus_addr_t rend,
     bus_size_t size, bus_size_t alignment, bus_size_t boundary, int flags,
     bus_addr_t *bpap, bus_space_handle_t *bshp)
 {
@@ -280,7 +280,7 @@ i80321_io_bs_alloc(void *t, bus_addr_t r
 }
 
 void
-i80321_io_bs_free(void *t, bus_space_handle_t bsh, bus_size_t size)
+i80321_io_bs_free(bus_space_tag_t tag, bus_space_handle_t bsh, bus_size_t size)
 {
 
 	panic("i80321_io_bs_free(): not implemented");
@@ -290,33 +290,23 @@ i80321_io_bs_free(void *t, bus_space_han
 /* *** Routines for PCI MEM. *** */
 extern int badaddr_read(void *, int, void *);
 int
-i80321_mem_bs_map(void *t, bus_addr_t bpa, bus_size_t size, int flags,
+i80321_mem_bs_map(bus_space_tag_t tag, bus_addr_t bpa, bus_size_t size, int flags,
     bus_space_handle_t *bshp)
 {
-	vm_paddr_t pa, endpa;
 
-	pa = trunc_page(bpa);
-	endpa = round_page(bpa + size);
-
-	*bshp = (vm_offset_t)pmap_mapdev(pa, endpa - pa);
-		
+	*bshp = (vm_offset_t)pmap_mapdev(bpa, size);
 	return (0);
 }
 
 void
-i80321_mem_bs_unmap(void *t, bus_space_handle_t h, bus_size_t size)
+i80321_mem_bs_unmap(bus_space_tag_t tag, bus_space_handle_t h, bus_size_t size)
 {
-	vm_offset_t va, endva;
-
-	va = trunc_page((vm_offset_t)t);
-	endva = va + round_page(size);
 
-	/* Free the kernel virtual mapping. */
-	kva_free(va, endva - va);
+	pmap_unmapdev((vm_offset_t)h, size);
 }
 
 int
-i80321_mem_bs_alloc(void *t, bus_addr_t rstart, bus_addr_t rend,
+i80321_mem_bs_alloc(bus_space_tag_t tag, bus_addr_t rstart, bus_addr_t rend,
     bus_size_t size, bus_size_t alignment, bus_size_t boundary, int flags,
     bus_addr_t *bpap, bus_space_handle_t *bshp)
 {
@@ -325,7 +315,7 @@ i80321_mem_bs_alloc(void *t, bus_addr_t 
 }
 
 void
-i80321_mem_bs_free(void *t, bus_space_handle_t bsh, bus_size_t size)
+i80321_mem_bs_free(bus_space_tag_t tag, bus_space_handle_t bsh, bus_size_t size)
 {
 
 	panic("i80321_mem_bs_free(): not implemented");

Modified: head/sys/arm/xscale/i8134x/i81342_space.c
==============================================================================
--- head/sys/arm/xscale/i8134x/i81342_space.c	Wed Jan 21 00:00:41 2015	(r277459)
+++ head/sys/arm/xscale/i8134x/i81342_space.c	Wed Jan 21 01:06:08 2015	(r277460)
@@ -183,7 +183,7 @@ i81342_bs_init(bus_space_tag_t bs, void 
 {
 
 	*bs = i81342_bs_tag_template;
-	bs->bs_cookie = cookie;
+	bs->bs_privdata = cookie;
 }
 
 void
@@ -191,7 +191,7 @@ i81342_io_bs_init(bus_space_tag_t bs, vo
 {
 
 	*bs = i81342_bs_tag_template;
-	bs->bs_cookie = cookie;
+	bs->bs_privdata = cookie;
 
 	bs->bs_map = i81342_io_bs_map;
 	bs->bs_unmap = i81342_io_bs_unmap;
@@ -205,7 +205,7 @@ i81342_mem_bs_init(bus_space_tag_t bs, v
 {
 
 	*bs = i81342_bs_tag_template;
-	bs->bs_cookie = cookie;
+	bs->bs_privdata = cookie;
 
 	bs->bs_map = i81342_mem_bs_map;
 	bs->bs_unmap = i81342_mem_bs_unmap;
@@ -217,7 +217,7 @@ i81342_mem_bs_init(bus_space_tag_t bs, v
 /* *** Routines shared by i81342, PCI IO, and PCI MEM. *** */
 
 int
-i81342_bs_subregion(void *t, bus_space_handle_t bsh, bus_size_t offset,
+i81342_bs_subregion(bus_space_tag_t tag, bus_space_handle_t bsh, bus_size_t offset,
     bus_size_t size, bus_space_handle_t *nbshp)
 {
 
@@ -226,7 +226,7 @@ i81342_bs_subregion(void *t, bus_space_h
 }
 
 void
-i81342_bs_barrier(void *t, bus_space_handle_t bsh, bus_size_t offset,
+i81342_bs_barrier(bus_space_tag_t tag, bus_space_handle_t bsh, bus_size_t offset,
     bus_size_t len, int flags)
 {
 
@@ -236,7 +236,7 @@ i81342_bs_barrier(void *t, bus_space_han
 /* *** Routines for PCI IO. *** */
 
 int
-i81342_io_bs_map(void *t, bus_addr_t bpa, bus_size_t size, int flags,
+i81342_io_bs_map(bus_space_tag_t tag, bus_addr_t bpa, bus_size_t size, int flags,
     bus_space_handle_t *bshp)
 {
 
@@ -245,14 +245,14 @@ i81342_io_bs_map(void *t, bus_addr_t bpa
 }
 
 void
-i81342_io_bs_unmap(void *t, bus_space_handle_t h, bus_size_t size)
+i81342_io_bs_unmap(bus_space_tag_t tag, bus_space_handle_t h, bus_size_t size)
 {
 
 	/* Nothing to do. */
 }
 
 int
-i81342_io_bs_alloc(void *t, bus_addr_t rstart, bus_addr_t rend,
+i81342_io_bs_alloc(bus_space_tag_t tag, bus_addr_t rstart, bus_addr_t rend,
     bus_size_t size, bus_size_t alignment, bus_size_t boundary, int flags,
     bus_addr_t *bpap, bus_space_handle_t *bshp)
 {
@@ -261,7 +261,7 @@ i81342_io_bs_alloc(void *t, bus_addr_t r
 }
 
 void
-i81342_io_bs_free(void *t, bus_space_handle_t bsh, bus_size_t size)
+i81342_io_bs_free(bus_space_tag_t tag, bus_space_handle_t bsh, bus_size_t size)
 {
 
 	panic("i81342_io_bs_free(): not implemented");
@@ -272,10 +272,10 @@ i81342_io_bs_free(void *t, bus_space_han
 extern int badaddr_read(void *, int, void *);
 static vm_offset_t allocable = 0xe1000000;
 int
-i81342_mem_bs_map(void *t, bus_addr_t bpa, bus_size_t size, int flags,
+i81342_mem_bs_map(bus_space_tag_t tag, bus_addr_t bpa, bus_size_t size, int flags,
     bus_space_handle_t *bshp)
 {
-	struct i81342_pci_softc *sc = (struct i81342_pci_softc *)t;
+	struct i81342_pci_softc *sc = (struct i81342_pci_softc *)tag->bs_privdata;
 	struct i81342_pci_map *tmp;
 	vm_offset_t addr, endaddr;
 	vm_paddr_t paddr;
@@ -315,12 +315,12 @@ i81342_mem_bs_map(void *t, bus_addr_t bp
 }
 

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-all mailing list