static uint32_t __BS(read_stream_4)(void *v, bus_space_handle_t h, bus_size_t off) { h += CHIP_OFF32(off); #if CHIP_ACCESS_SIZE == 8 return (uint32_t)mips3_ld(h); #else return (uint32_t)mips_lwu(h); #endif }
static void __BS(write_stream_4)(void *v, bus_space_handle_t h, bus_size_t off, uint32_t val) { h += CHIP_OFF32(off); #if CHIP_ACCESS_SIZE == 8 mips3_sd(h, val); #else mips_sw(h, val); #endif }
inline uint32_t __BS(read_4)(void *v, bus_space_handle_t h, bus_size_t off) { #if CHIP_ACCESS_SIZE > 4 volatile CHIP_TYPE *ptr; #else /* CHIP_ACCESS_SIZE > 4 */ volatile uint32_t *ptr; #endif ptr = (void *)(h + CHIP_OFF32(off)); return CHIP_SWAP32(*ptr) & 0xffffffff; }
inline void __BS(write_4)(void *v, bus_space_handle_t h, bus_size_t off, uint32_t val) { #if CHIP_ACCESS_SIZE > 4 volatile CHIP_TYPE *ptr; #else /* CHIP_ACESSS_SIZE > 4 */ volatile uint32_t *ptr; #endif /* CHIP_ACCESS_SIZE > 4 */ ptr = (void *)(h + CHIP_OFF32(off)); *ptr = CHIP_SWAP32(val); }
static void __BS(write_4)(void *v, bus_space_handle_t h, bus_size_t off, uint32_t val) { KASSERT((h & 3) == 0); KASSERT((off & 3) == 0); h += CHIP_OFF32(off); #if CHIP_ACCESS_SIZE <= 4 mips_sw(h, CHIP_SWAP32(val)); #else const int shift = (h & (CHIP_ACCESS_SIZE - 1)) * 8; h &= ~((bus_space_handle_t)(CHIP_ACCESS_SIZE - 1)); mips3_sd(h, ((CHIP_TYPE)CHIP_SWAP32(val)) << shift); #endif }
static uint32_t __BS(read_4)(void *v, bus_space_handle_t h, bus_size_t off) { KASSERT((off & 3) == 0); h += CHIP_OFF32(off); const int shift = (h & (CHIP_ACCESS_SIZE - 1)) * 8; h &= ~((bus_space_handle_t)(CHIP_ACCESS_SIZE - 1)); #if CHIP_ACCESS_SIZE > 4 const CHIP_TYPE val = mips3_ld(h); #else /* CHIP_ACCESS_SIZE > 4 */ const uint32_t val = mips_lwu(h); #endif const uint32_t r = (uint32_t)CHIP_SWAP32(val >> shift); return r; }