__BS
return __BS(map)(v, addr, size, flags, hp, acct);
__BS(read_stream_4)(void *v, bus_space_handle_t h, bus_size_t off)
__BS(read_stream_8)(void *v, bus_space_handle_t h, bus_size_t off)
__C(__BS(read_multi_stream_),BYTES)(void *v, bus_space_handle_t h, \
__BS(barrier)(v, h, o, sizeof *a, \
*a++ = __C(__BS(read_stream_),BYTES)(v, h, o); \
__C(__BS(read_region_stream_),BYTES)(void *v, bus_space_handle_t h, \
*a++ = __C(__BS(read_stream_),BYTES)(v, h, o); \
__BS(write_stream_1)(void *v, bus_space_handle_t h, bus_size_t off,
__BS(write_stream_2)(void *v, bus_space_handle_t h, bus_size_t off,
__BS(write_stream_4)(void *v, bus_space_handle_t h, bus_size_t off,
__BS(write_stream_8)(void *v, bus_space_handle_t h, bus_size_t off,
__C(__BS(write_multi_stream_),BYTES)(void *v, bus_space_handle_t h, \
__C(__BS(write_stream_),BYTES)(v, h, o, *a++); \
__BS(barrier)(v, h, o, sizeof *a, \
__C(__BS(write_region_stream_),BYTES)(void *v, bus_space_handle_t h, \
__C(__BS(write_stream_),BYTES)(v, h, o, *a++); \
__BS(init)(bus_space_tag_t t, void *v)
t->bs_map = __BS(map);
t->bs_unmap = __BS(unmap);
t->bs_subregion = __BS(subregion);
t->bs_translate = __BS(translate);
t->bs_get_window = __BS(get_window);
t->bs_alloc = __BS(alloc);
t->bs_free = __BS(free);
t->bs_vaddr = __BS(vaddr);
t->bs_mmap = __BS(mmap);
t->bs_barrier = __BS(barrier);
t->bs_r_1 = __BS(read_1);
t->bs_r_2 = __BS(read_2);
t->bs_r_4 = __BS(read_4);
t->bs_r_8 = __BS(read_8);
t->bs_rm_1 = __BS(read_multi_1);
t->bs_rm_2 = __BS(read_multi_2);
t->bs_rm_4 = __BS(read_multi_4);
t->bs_rm_8 = __BS(read_multi_8);
t->bs_rr_1 = __BS(read_region_1);
t->bs_rr_2 = __BS(read_region_2);
t->bs_rr_4 = __BS(read_region_4);
t->bs_rr_8 = __BS(read_region_8);
t->bs_w_1 = __BS(write_1);
t->bs_w_2 = __BS(write_2);
t->bs_w_4 = __BS(write_4);
t->bs_w_8 = __BS(write_8);
t->bs_wm_1 = __BS(write_multi_1);
t->bs_wm_2 = __BS(write_multi_2);
t->bs_wm_4 = __BS(write_multi_4);
t->bs_wm_8 = __BS(write_multi_8);
t->bs_wr_1 = __BS(write_region_1);
t->bs_wr_2 = __BS(write_region_2);
t->bs_wr_4 = __BS(write_region_4);
t->bs_wr_8 = __BS(write_region_8);
t->bs_sm_1 = __BS(set_multi_1);
t->bs_sm_2 = __BS(set_multi_2);
t->bs_sm_4 = __BS(set_multi_4);
t->bs_sm_8 = __BS(set_multi_8);
t->bs_sr_1 = __BS(set_region_1);
t->bs_sr_2 = __BS(set_region_2);
t->bs_sr_4 = __BS(set_region_4);
t->bs_sr_8 = __BS(set_region_8);
t->bs_c_1 = __BS(copy_region_1);
t->bs_c_2 = __BS(copy_region_2);
t->bs_c_4 = __BS(copy_region_4);
t->bs_c_8 = __BS(copy_region_8);
t->bs_rs_1 = __BS(read_stream_1);
t->bs_rs_2 = __BS(read_stream_2);
t->bs_rs_4 = __BS(read_stream_4);
t->bs_rs_8 = __BS(read_stream_8);
t->bs_rms_1 = __BS(read_multi_stream_1);
t->bs_rms_2 = __BS(read_multi_stream_2);
t->bs_rms_4 = __BS(read_multi_stream_4);
t->bs_rms_8 = __BS(read_multi_stream_8);
t->bs_rrs_1 = __BS(read_region_stream_1);
t->bs_rrs_2 = __BS(read_region_stream_2);
t->bs_rrs_4 = __BS(read_region_stream_4);
t->bs_rrs_8 = __BS(read_region_stream_8);
t->bs_ws_1 = __BS(write_stream_1);
t->bs_ws_2 = __BS(write_stream_2);
t->bs_ws_4 = __BS(write_stream_4);
t->bs_ws_8 = __BS(write_stream_8);
t->bs_wms_1 = __BS(write_multi_stream_1);
t->bs_wms_2 = __BS(write_multi_stream_2);
t->bs_wms_4 = __BS(write_multi_stream_4);
t->bs_wms_8 = __BS(write_multi_stream_8);
t->bs_wrs_1 = __BS(write_region_stream_1);
t->bs_wrs_2 = __BS(write_region_stream_2);
t->bs_wrs_4 = __BS(write_region_stream_4);
t->bs_wrs_8 = __BS(write_region_stream_8);
t->bs_rs_1 = __BS(read_1);
t->bs_rs_2 = __BS(read_2);
t->bs_rs_4 = __BS(read_4);
t->bs_rs_8 = __BS(read_8);
t->bs_rms_1 = __BS(read_multi_1);
t->bs_rms_2 = __BS(read_multi_2);
t->bs_rms_4 = __BS(read_multi_4);
t->bs_rms_8 = __BS(read_multi_8);
t->bs_rrs_1 = __BS(read_region_1);
t->bs_rrs_2 = __BS(read_region_2);
t->bs_rrs_4 = __BS(read_region_4);
t->bs_rrs_8 = __BS(read_region_8);
t->bs_ws_1 = __BS(write_1);
t->bs_ws_2 = __BS(write_2);
t->bs_ws_4 = __BS(write_4);
t->bs_ws_8 = __BS(write_8);
t->bs_wms_1 = __BS(write_multi_1);
t->bs_wms_2 = __BS(write_multi_2);
t->bs_wms_4 = __BS(write_multi_4);
t->bs_wms_8 = __BS(write_multi_8);
t->bs_wrs_1 = __BS(write_region_1);
t->bs_wrs_2 = __BS(write_region_2);
t->bs_wrs_4 = __BS(write_region_4);
t->bs_wrs_8 = __BS(write_region_8);
ex = extent_create(__S(__BS(bus)), 0x0UL, ~0UL,
printf("%s: this space is disabled\n", __S(__BS(init)));
__S(__BS(init)), (bus_addr_t)CHIP_W1_BUS_START(v),
__BS(ex_storage)[EXTENT_FIXED_STORAGE_SIZE(8) / sizeof(long)];
#define CHIP_EX_STORE(v) (__BS(ex_storage))
#define CHIP_EX_STORE_SIZE(v) (sizeof __BS(ex_storage))
__BS(get_window)(void *v, int window, struct mips_bus_space_translation *mbst)
panic(__S(__BS(get_window)) ": invalid window %d",
__BS(translate)(void *v, bus_addr_t addr, bus_size_t len, int flags,
return (__BS(get_window)(v, 0, mbst));
return (__BS(get_window)(v, 1, mbst));
return (__BS(get_window)(v, 2, mbst));
printf("%s: window[1]=0x%lx-0x%lx\n", __S(__BS(map)),
printf("%s: window[2]=0x%lx-0x%lx\n", __S(__BS(map)),
printf("%s: window[3]=0x%lx-0x%lx\n", __S(__BS(map)),
__BS(map)(void *v, bus_addr_t addr, bus_size_t size, int flags,
error = __BS(translate)(v, addr, size, flags, &mbst);
__S(__BS(map)), addr, addr + size - 1);
printf("%s: allocation failed (%d)\n", __S(__BS(map)), error);
__BS(unmap)(void *v, bus_space_handle_t h, bus_size_t size, int acct)
__S(__BS(unmap)), h, size);
__S(__BS(unmap)), (u_long)CHIP_W1_SYS_START(v),
__S(__BS(unmap)), (u_long)CHIP_W2_SYS_START(v),
__S(__BS(unmap)), (u_long)CHIP_W3_SYS_START(v),
panic("%s: don't know how to unmap %#"PRIxBSH, __S(__BS(unmap)), h);
__S(__BS(unmap)), addr, addr + size - 1);
__S(__BS(unmap)), addr, addr + size - 1, error);
__BS(subregion)(void *v, bus_space_handle_t h, bus_size_t offset,
__BS(alloc)(void *v, bus_addr_t rstart, bus_addr_t rend, bus_size_t size,
__S(__BS(alloc)), rstart, rend);
printf("%s: allocation failed (%d)\n", __S(__BS(alloc)), error);
__S(__BS(alloc)), addr, addr + size - 1);
error = __BS(translate)(v, addr, size, flags, &mbst);
__BS(free)(void *v, bus_space_handle_t bsh, bus_size_t size)
__BS(unmap)(v, bsh, size, 1);
__BS(vaddr)(void *v, bus_space_handle_t bsh)
__BS(mmap)(void *v, bus_addr_t addr, off_t off, int prot, int flags)
error = __BS(translate)(v, addr, off + PAGE_SIZE, flags,
__BS(barrier)(void *v, bus_space_handle_t h, bus_size_t o, bus_size_t l, int f)
__BS(read_1)(void *v, bus_space_handle_t h, bus_size_t off)
__BS(read_2)(void *v, bus_space_handle_t h, bus_size_t off)
__BS(read_4)(void *v, bus_space_handle_t h, bus_size_t off)
__BS(read_8)(void *v, bus_space_handle_t h, bus_size_t off)
__C(__BS(read_multi_),BYTES)(void *v, bus_space_handle_t h, \
__BS(barrier)(v, h, o, sizeof *a, \
*a++ = __C(__BS(read_),BYTES)(v, h, o); \
__C(__BS(read_region_),BYTES)(void *v, bus_space_handle_t h, \
*a++ = __C(__BS(read_),BYTES)(v, h, o); \
__BS(write_1)(void *v, bus_space_handle_t h, bus_size_t off, uint8_t val)
__BS(write_2)(void *v, bus_space_handle_t h, bus_size_t off, uint16_t val)
__BS(write_4)(void *v, bus_space_handle_t h, bus_size_t off, uint32_t val)
__BS(write_8)(void *v, bus_space_handle_t h, bus_size_t off, uint64_t val)
__C(__BS(write_multi_),BYTES)(void *v, bus_space_handle_t h, \
__C(__BS(write_),BYTES)(v, h, o, *a++); \
__BS(barrier)(v, h, o, sizeof *a, \
__C(__BS(write_region_),BYTES)(void *v, bus_space_handle_t h, \
__C(__BS(write_),BYTES)(v, h, o, *a++); \
__C(__BS(set_multi_),BYTES)(void *v, bus_space_handle_t h, \
__C(__BS(write_),BYTES)(v, h, o, val); \
__BS(barrier)(v, h, o, sizeof val, \
__C(__BS(set_region_),BYTES)(void *v, bus_space_handle_t h, \
__C(__BS(write_),BYTES)(v, h, o, val); \
__C(__BS(copy_region_),BYTES)(void *v, bus_space_handle_t h1, \
__C(__BS(write_),BYTES)(v, h2, o2 + o, \
__C(__BS(read_),BYTES)(v, h1, o1 + o)); \
__C(__BS(write_),BYTES)(v, h2, o2 + o, \
__C(__BS(read_),BYTES)(v, h1, o1 + o)); \
__BS(read_stream_1)(void *v, bus_space_handle_t h, bus_size_t off)
__BS(read_stream_2)(void *v, bus_space_handle_t h, bus_size_t off)