1150524Sphk#!/bin/sh
2150524Sphk#
3150524Sphk# Copyright (c) 2004-2005 Poul-Henning Kamp.
4150524Sphk# All rights reserved.
5150524Sphk#
6150524Sphk# Redistribution and use in source and binary forms, with or without
7150524Sphk# modification, are permitted provided that the following conditions
8150524Sphk# are met:
9150524Sphk# 1. Redistributions of source code must retain the above copyright
10150524Sphk#    notice, this list of conditions and the following disclaimer.
11150524Sphk# 2. Redistributions in binary form must reproduce the above copyright
12150524Sphk#    notice, this list of conditions and the following disclaimer in the
13150524Sphk#    documentation and/or other materials provided with the distribution.
14150524Sphk#
15150524Sphk# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16150524Sphk# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17150524Sphk# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18150524Sphk# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19150524Sphk# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20150524Sphk# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21150524Sphk# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22150524Sphk# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23150524Sphk# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24150524Sphk# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25150524Sphk# SUCH DAMAGE.
26150524Sphk#
27150524Sphk# $FreeBSD$
28150524Sphk#
29150524Sphk# Generate the convenience macros at the bottom of sys/bus.h
30150524Sphk#
31150524Sphk
32150524Sphkmacro () {
33150524Sphk
34150524Sphk	n=${1}
35150524Sphk	shift
36150524Sphk	echo -n "#define bus_${n}(r"
37150524Sphk	for i
38150524Sphk	do
39150524Sphk		echo -n ", ${i}"
40150524Sphk	done
41150524Sphk	echo ") \\"
42150524Sphk	echo -n "	bus_space_${n}((r)->r_bustag, (r)->r_bushandle"
43150524Sphk	for i
44150524Sphk	do
45150524Sphk		echo -n ", (${i})"
46150524Sphk	done
47150524Sphk	echo ")"
48150524Sphk}
49150524Sphk
50150524Sphkmacro barrier o l f
51150524Sphk
52150524Sphkfor w in 1 2 4 8
53150524Sphkdo
54150524Sphk	# macro copy_region_$w so dh do c
55150524Sphk	# macro copy_region_stream_$w ?
56150524Sphk	# macro peek_$w
57150524Sphk	for s in "" stream_
58150524Sphk	do
59150524Sphk		macro read_$s$w o
60150524Sphk		macro read_multi_$s$w o d c
61150524Sphk		macro read_region_$s$w o d c
62150524Sphk		macro set_multi_$s$w o v c
63150524Sphk		macro set_region_$s$w o v c
64150524Sphk		macro write_$s$w o v
65150524Sphk		macro write_multi_$s$w o d c
66150524Sphk		macro write_region_$s$w o d c
67150524Sphk	done
68150524Sphkdone
69