busiosubr.c revision 84615
184615Snyan/* $FreeBSD: head/sys/pc98/pc98/busiosubr.c 84615 2001-10-07 10:04:18Z nyan $ */
284615Snyan/*	$NecBSD: busiosubr.c,v 1.30.4.4 1999/08/28 02:25:35 honda Exp $	*/
384615Snyan/*	$NetBSD$	*/
484615Snyan
584615Snyan/*
684615Snyan * [NetBSD for NEC PC-98 series]
784615Snyan *  Copyright (c) 1996, 1997, 1998
884615Snyan *	NetBSD/pc98 porting staff. All rights reserved.
984615Snyan *
1084615Snyan * [Ported for FreeBSD]
1184615Snyan *  Copyright (c) 2001
1284615Snyan *	TAKAHASHI Yoshihiro. All rights reserved.
1384615Snyan *
1484615Snyan *  Redistribution and use in source and binary forms, with or without
1584615Snyan *  modification, are permitted provided that the following conditions
1684615Snyan *  are met:
1784615Snyan *  1. Redistributions of source code must retain the above copyright
1884615Snyan *     notice, this list of conditions and the following disclaimer.
1984615Snyan *  2. Redistributions in binary form must reproduce the above copyright
2084615Snyan *     notice, this list of conditions and the following disclaimer in the
2184615Snyan *     documentation and/or other materials provided with the distribution.
2284615Snyan *  3. The name of the author may not be used to endorse or promote products
2384615Snyan *     derived from this software without specific prior written permission.
2484615Snyan *
2584615Snyan * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
2684615Snyan * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
2784615Snyan * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
2884615Snyan * DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
2984615Snyan * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
3084615Snyan * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
3184615Snyan * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
3284615Snyan * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
3384615Snyan * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
3484615Snyan * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
3584615Snyan * POSSIBILITY OF SUCH DAMAGE.
3684615Snyan */
3784615Snyan
3884615Snyan/*
3984615Snyan * Copyright (c) 1997, 1998
4084615Snyan *	Naofumi HONDA.  All rights reserved.
4184615Snyan */
4284615Snyan
4384615Snyan#include <sys/param.h>
4484615Snyan#include <sys/systm.h>
4584615Snyan#include <sys/kernel.h>
4684615Snyan#include <machine/bus.h>
4784615Snyan
4884615Snyan_BUS_SPACE_CALL_FUNCS_PROTO(SBUS_DA_io,u_int8_t,1)
4984615Snyan_BUS_SPACE_CALL_FUNCS_PROTO(SBUS_DA_io,u_int16_t,2)
5084615Snyan_BUS_SPACE_CALL_FUNCS_PROTO(SBUS_DA_io,u_int32_t,4)
5184615Snyan_BUS_SPACE_CALL_FUNCS_PROTO(SBUS_DA_mem,u_int8_t,1)
5284615Snyan_BUS_SPACE_CALL_FUNCS_PROTO(SBUS_DA_mem,u_int16_t,2)
5384615Snyan_BUS_SPACE_CALL_FUNCS_PROTO(SBUS_DA_mem,u_int32_t,4)
5484615Snyan
5584615Snyan_BUS_SPACE_CALL_FUNCS_PROTO(SBUS_RA_io,u_int8_t,1)
5684615Snyan_BUS_SPACE_CALL_FUNCS_PROTO(SBUS_RA_io,u_int16_t,2)
5784615Snyan_BUS_SPACE_CALL_FUNCS_PROTO(SBUS_RA_io,u_int32_t,4)
5884615Snyan_BUS_SPACE_CALL_FUNCS_PROTO(SBUS_RA_mem,u_int8_t,1)
5984615Snyan_BUS_SPACE_CALL_FUNCS_PROTO(SBUS_RA_mem,u_int16_t,2)
6084615Snyan_BUS_SPACE_CALL_FUNCS_PROTO(SBUS_RA_mem,u_int32_t,4)
6184615Snyan
6284615Snyanstruct bus_space_tag SBUS_io_space_tag = {
6384615Snyan	BUS_SPACE_IO,
6484615Snyan
6584615Snyan	/* direct bus access methods */
6684615Snyan	{
6784615Snyan		_BUS_SPACE_CALL_FUNCS_TAB(SBUS_DA_io,u_int8_t,1),
6884615Snyan		_BUS_SPACE_CALL_FUNCS_TAB(SBUS_DA_io,u_int16_t,2),
6984615Snyan		_BUS_SPACE_CALL_FUNCS_TAB(SBUS_DA_io,u_int32_t,4),
7084615Snyan	},
7184615Snyan
7284615Snyan	/* relocate bus access methods */
7384615Snyan	{
7484615Snyan		_BUS_SPACE_CALL_FUNCS_TAB(SBUS_RA_io,u_int8_t,1),
7584615Snyan		_BUS_SPACE_CALL_FUNCS_TAB(SBUS_RA_io,u_int16_t,2),
7684615Snyan		_BUS_SPACE_CALL_FUNCS_TAB(SBUS_RA_io,u_int32_t,4),
7784615Snyan	}
7884615Snyan};
7984615Snyan
8084615Snyanstruct bus_space_tag SBUS_mem_space_tag = {
8184615Snyan	BUS_SPACE_MEM,
8284615Snyan
8384615Snyan	/* direct bus access methods */
8484615Snyan	{
8584615Snyan		_BUS_SPACE_CALL_FUNCS_TAB(SBUS_DA_mem,u_int8_t,1),
8684615Snyan		_BUS_SPACE_CALL_FUNCS_TAB(SBUS_DA_mem,u_int16_t,2),
8784615Snyan		_BUS_SPACE_CALL_FUNCS_TAB(SBUS_DA_mem,u_int32_t,4),
8884615Snyan	},
8984615Snyan
9084615Snyan	/* relocate bus access methods */
9184615Snyan	{
9284615Snyan		_BUS_SPACE_CALL_FUNCS_TAB(SBUS_RA_mem,u_int8_t,1),
9384615Snyan		_BUS_SPACE_CALL_FUNCS_TAB(SBUS_RA_mem,u_int16_t,2),
9484615Snyan		_BUS_SPACE_CALL_FUNCS_TAB(SBUS_RA_mem,u_int32_t,4),
9584615Snyan	}
9684615Snyan};
9784615Snyan
9884615Snyan
9984615Snyan#include "opt_mecia.h"
10084615Snyan#ifdef DEV_MECIA
10184615Snyan
10284615Snyan_BUS_SPACE_CALL_FUNCS_PROTO(NEPC_DA_io,u_int16_t,2)
10384615Snyan_BUS_SPACE_CALL_FUNCS_PROTO(NEPC_DA_io,u_int32_t,4)
10484615Snyan
10584615Snyan_BUS_SPACE_CALL_FUNCS_PROTO(NEPC_RA_io,u_int16_t,2)
10684615Snyan_BUS_SPACE_CALL_FUNCS_PROTO(NEPC_RA_io,u_int32_t,4)
10784615Snyan
10884615Snyanstruct bus_space_tag NEPC_io_space_tag = {
10984615Snyan	BUS_SPACE_IO,
11084615Snyan
11184615Snyan	/* direct bus access methods */
11284615Snyan	{
11384615Snyan		_BUS_SPACE_CALL_FUNCS_TAB(SBUS_DA_io,u_int8_t,1),
11484615Snyan		_BUS_SPACE_CALL_FUNCS_TAB(NEPC_DA_io,u_int16_t,2),
11584615Snyan		_BUS_SPACE_CALL_FUNCS_TAB(NEPC_DA_io,u_int32_t,4),
11684615Snyan	},
11784615Snyan
11884615Snyan	/* relocate bus access methods */
11984615Snyan	{
12084615Snyan		_BUS_SPACE_CALL_FUNCS_TAB(SBUS_RA_io,u_int8_t,1),
12184615Snyan		_BUS_SPACE_CALL_FUNCS_TAB(NEPC_RA_io,u_int16_t,2),
12284615Snyan		_BUS_SPACE_CALL_FUNCS_TAB(NEPC_RA_io,u_int32_t,4),
12384615Snyan	}
12484615Snyan};
12584615Snyan
12684615Snyanstruct bus_space_tag NEPC_mem_space_tag = {
12784615Snyan	BUS_SPACE_MEM,
12884615Snyan
12984615Snyan	/* direct bus access methods */
13084615Snyan	{
13184615Snyan		_BUS_SPACE_CALL_FUNCS_TAB(SBUS_DA_mem,u_int8_t,1),
13284615Snyan		_BUS_SPACE_CALL_FUNCS_TAB(SBUS_DA_mem,u_int16_t,2),
13384615Snyan		_BUS_SPACE_CALL_FUNCS_TAB(SBUS_DA_mem,u_int32_t,4),
13484615Snyan	},
13584615Snyan
13684615Snyan	/* relocate bus access methods */
13784615Snyan	{
13884615Snyan		_BUS_SPACE_CALL_FUNCS_TAB(SBUS_RA_mem,u_int8_t,1),
13984615Snyan		_BUS_SPACE_CALL_FUNCS_TAB(SBUS_RA_mem,u_int16_t,2),
14084615Snyan		_BUS_SPACE_CALL_FUNCS_TAB(SBUS_RA_mem,u_int32_t,4),
14184615Snyan	}
14284615Snyan};
14384615Snyan
14484615Snyan#endif /* DEV_MECIA */
145