bus.h revision 91394
1/*-
2 * Copyright (c) KATO Takenori, 1999.
3 *
4 * All rights reserved.  Unpublished rights reserved under the copyright
5 * laws of Japan.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 *
11 * 1. Redistributions of source code must retain the above copyright
12 *    notice, this list of conditions and the following disclaimer as
13 *    the first lines of this file unmodified.
14 * 2. Redistributions in binary form must reproduce the above copyright
15 *    notice, this list of conditions and the following disclaimer in the
16 *    documentation and/or other materials provided with the distribution.
17 * 3. The name of the author may not be used to endorse or promote products
18 *    derived from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
21 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
22 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
23 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
24 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
25 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
29 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 *
31 * $FreeBSD: head/sys/amd64/include/bus.h 91394 2002-02-27 17:16:18Z tmm $
32 */
33
34#ifndef _I386_BUS_H_
35#define _I386_BUS_H_
36
37#ifdef	PC98
38/* NEC PC-98 */
39#include <machine/bus_pc98.h>
40#else
41/* IBM-PC */
42#include <machine/bus_at386.h>
43#endif
44#include <machine/bus_dma.h>
45
46/*
47 * Stream accesses are the same as normal accesses on i386/pc98; there are no
48 * supported bus systems with an endianess different from the host one.
49 */
50#define	bus_space_read_stream_1(t, h, o)	bus_space_read_1((t), (h), (o))
51#define	bus_space_read_stream_2(t, h, o)	bus_space_read_2((t), (h), (o))
52#define	bus_space_read_stream_4(t, h, o)	bus_space_read_4((t), (h), (o))
53
54#define	bus_space_read_multi_stream_1(t, h, o, a, c) \
55	bus_space_read_multi_1((t), (h), (o), (a), (c))
56#define	bus_space_read_multi_stream_2(t, h, o, a, c) \
57	bus_space_read_multi_2((t), (h), (o), (a), (c))
58#define	bus_space_read_multi_stream_4(t, h, o, a, c) \
59	bus_space_read_multi_4((t), (h), (o), (a), (c))
60
61#define	bus_space_write_stream_1(t, h, o, v) \
62	bus_space_write_1((t), (h), (o), (v))
63#define	bus_space_write_stream_2(t, h, o, v) \
64	bus_space_write_2((t), (h), (o), (v))
65#define	bus_space_write_stream_4(t, h, o, v) \
66	bus_space_write_4((t), (h), (o), (v))
67
68#define	bus_space_write_multi_stream_1(t, h, o, a, c) \
69	bus_space_write_multi_1((t), (h), (o), (a), (c))
70#define	bus_space_write_multi_stream_2(t, h, o, a, c) \
71	bus_space_write_multi_2((t), (h), (o), (a), (c))
72#define	bus_space_write_multi_stream_4(t, h, o, a, c) \
73	bus_space_write_multi_4((t), (h), (o), (a), (c))
74
75#define	bus_space_set_multi_stream_1(t, h, o, v, c) \
76	bus_space_set_multi_1((t), (h), (o), (v), (c))
77#define	bus_space_set_multi_stream_2(t, h, o, v, c) \
78	bus_space_set_multi_2((t), (h), (o), (v), (c))
79#define	bus_space_set_multi_stream_4(t, h, o, v, c) \
80	bus_space_set_multi_4((t), (h), (o), (v), (c))
81
82#define	bus_space_read_region_stream_1(t, h, o, a, c) \
83	bus_space_read_region_1((t), (h), (o), (a), (c))
84#define	bus_space_read_region_stream_2(t, h, o, a, c) \
85	bus_space_read_region_2((t), (h), (o), (a), (c))
86#define	bus_space_read_region_stream_4(t, h, o, a, c) \
87	bus_space_read_region_4((t), (h), (o), (a), (c))
88
89#define	bus_space_write_region_stream_1(t, h, o, a, c) \
90	bus_space_write_region_1((t), (h), (o), (a), (c))
91#define	bus_space_write_region_stream_2(t, h, o, a, c) \
92	bus_space_write_region_2((t), (h), (o), (a), (c))
93#define	bus_space_write_region_stream_4(t, h, o, a, c) \
94	bus_space_write_region_4((t), (h), (o), (a), (c))
95
96#define	bus_space_set_region_stream_1(t, h, o, v, c) \
97	bus_space_set_region_1((t), (h), (o), (v), (c))
98#define	bus_space_set_region_stream_2(t, h, o, v, c) \
99	bus_space_set_region_2((t), (h), (o), (v), (c))
100#define	bus_space_set_region_stream_4(t, h, o, v, c) \
101	bus_space_set_region_4((t), (h), (o), (v), (c))
102
103#define	bus_space_copy_region_stream_1(t, h1, o1, h2, o2, c) \
104	bus_space_copy_region_1((t), (h1), (o1), (h2), (o2), (c))
105#define	bus_space_copy_region_stream_2(t, h1, o1, h2, o2, c) \
106	bus_space_copy_region_2((t), (h1), (o1), (h2), (o2), (c))
107#define	bus_space_copy_region_stream_4(t, h1, o1, h2, o2, c) \
108	bus_space_copy_region_4((t), (h1), (o1), (h2), (o2), (c))
109
110#endif /* _I386_BUS_H_ */
111