1.1 --- a/src/mmio.h Tue Jun 27 11:02:48 2006 +0000
1.2 +++ b/src/mmio.h Wed Oct 31 09:11:14 2007 +0000
1.5 - * $Id: mmio.h,v 1.6 2006-06-27 11:02:46 nkeynes Exp $
1.6 + * $Id: mmio.h,v 1.7 2007-10-31 09:05:44 nkeynes Exp $
1.8 * mmio.h defines a complicated batch of macros used to build up the
1.9 * memory-mapped I/O regions in a reasonably readable fashion.
1.11 #define MMIO_READ( id, r ) *((int32_t *)(mmio_region_##id.mem + (r)))
1.12 #define MMIO_READF( id, r ) *((float *)(mmio_region_##id.mem + (r)))
1.13 #define MMIO_WRITE( id, r, v ) *((int32_t *)(mmio_region_##id.mem + (r))) = (v)
1.14 +#define MMIO_ADDR( id, r) ((int32_t *)(mmio_region_##id.mem + (r)))
1.15 #define MMIO_REG( id, r ) ((int32_t *)(mmio_region_##id.mem + (r)))
1.16 #define MMIO_REGID( mid, r ) (mmio_region_##mid.index[(r)>>2] != NULL ? \
1.17 mmio_region_##mid.index[(r)>>2]->id : "<UNDEF>" )