freebsd-dev/sys/arm/xscale/ixp425
Ian Lepore 4098ccafa4 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
2015-01-21 01:06:08 +00:00
..
avila_ata.c Revise the arm bus_space implementation to avoid dereferencing the tag on 2015-01-21 01:06:08 +00:00
avila_gpio.c Moves all the duplicate code to a single function. 2014-11-18 17:22:08 +00:00
avila_led.c Provide a mutex around the read/modify/write of the IXP425_GPIO_* 2010-11-14 20:41:22 +00:00
avila_machdep.c Do not hand the VM the memory used for stacks/page tables/etc. 2014-05-29 16:56:39 +00:00
cambria_exp_space.c Revise the arm bus_space implementation to avoid dereferencing the tag on 2015-01-21 01:06:08 +00:00
cambria_fled.c Pass the correct pointer to fled_cb(). 2010-03-26 18:49:43 +00:00
cambria_gpio.c Moves all the duplicate code to a single function. 2014-11-18 17:22:08 +00:00
cambria_led.c
files.avila Add a GPIO driver for the Gateworks Cambria platform. 2010-11-11 20:18:33 +00:00
files.ixp425 Eliminate irq_dispatch.S. Move the data items it contained into arm/intr.c 2014-03-10 18:10:09 +00:00
if_npe.c Mechanically convert to if_inc_counter(). 2014-09-19 09:20:16 +00:00
if_npereg.h trim trailing spaces that have accumulated over the years (these files 2012-06-13 04:38:09 +00:00
ixdp425_pci.c Fix header pollution, possibly unbreaking the build of cfi_bus_ixp4xx.c 2011-12-31 15:53:34 +00:00
ixdp425reg.h
ixp425_a4x_io.S Add missing END macros to some of the xscale functions. 2014-12-05 19:04:08 +00:00
ixp425_a4x_space.c Revise the arm bus_space implementation to avoid dereferencing the tag on 2015-01-21 01:06:08 +00:00
ixp425_iic.c trim trailing spaces that have accumulated over the years (these files 2012-06-13 04:38:09 +00:00
ixp425_intr.h
ixp425_mem.c Typo fix. 2013-10-22 21:49:58 +00:00
ixp425_npe.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
ixp425_npereg.h trim trailing spaces that have accumulated over the years (these files 2012-06-13 04:38:09 +00:00
ixp425_npevar.h
ixp425_pci_asm.S Add missing END macros to some of the xscale functions. 2014-12-05 19:04:08 +00:00
ixp425_pci_space.c Revise the arm bus_space implementation to avoid dereferencing the tag on 2015-01-21 01:06:08 +00:00
ixp425_pci.c - Don't let rman_reserve_resource() activate the resource in 2014-09-12 20:34:19 +00:00
ixp425_qmgr.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
ixp425_qmgr.h trim trailing spaces that have accumulated over the years (these files 2012-06-13 04:38:09 +00:00
ixp425_space.c Revise the arm bus_space implementation to avoid dereferencing the tag on 2015-01-21 01:06:08 +00:00
ixp425_timer.c Unify interrupts bit definition and usage. While here remove PSR_C_bit. 2014-09-10 15:25:15 +00:00
ixp425_wdog.c Remove #include <machine/frame.h> from all the arm code that doesn't 2013-10-27 01:34:10 +00:00
ixp425.c Unify interrupts bit definition and usage. While here remove PSR_C_bit. 2014-09-10 15:25:15 +00:00
ixp425reg.h Fix undefined behavior: (1 << 31) is not defined as 1 is an int and this 2013-11-30 22:17:27 +00:00
ixp425var.h Fix header pollution, possibly unbreaking the build of cfi_bus_ixp4xx.c 2011-12-31 15:53:34 +00:00
std.avila Remove STARTUP_PAGETABLE_ADDR from the ARM configs and replace it with 2014-01-28 09:12:04 +00:00
std.ixp425 Set machine correctly on ARM. This allows universe to use the correct world 2012-08-18 05:48:19 +00:00
std.ixp435 Set machine correctly on ARM. This allows universe to use the correct world 2012-08-18 05:48:19 +00:00
uart_bus_ixp425.c
uart_cpu_ixp425.c