summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/alpha/include/_bus.h42
-rw-r--r--sys/alpha/include/bus.h8
-rw-r--r--sys/amd64/include/_bus.h46
-rw-r--r--sys/amd64/include/bus.h10
-rw-r--r--sys/arm/include/_bus.h46
-rw-r--r--sys/arm/include/bus.h12
-rw-r--r--sys/i386/include/_bus.h50
-rw-r--r--sys/i386/include/bus.h17
-rw-r--r--sys/ia64/include/_bus.h46
-rw-r--r--sys/ia64/include/bus.h14
-rw-r--r--sys/pc98/include/_bus.h74
-rw-r--r--sys/pc98/include/bus.h38
-rw-r--r--sys/powerpc/include/_bus.h46
-rw-r--r--sys/powerpc/include/bus.h13
-rw-r--r--sys/sparc64/include/_bus.h42
-rw-r--r--sys/sparc64/include/bus.h9
16 files changed, 400 insertions, 113 deletions
diff --git a/sys/alpha/include/_bus.h b/sys/alpha/include/_bus.h
new file mode 100644
index 0000000..261120e
--- /dev/null
+++ b/sys/alpha/include/_bus.h
@@ -0,0 +1,42 @@
+/*-
+ * Copyright (c) 2005 M. Warner Losh.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions, and the following disclaimer,
+ * without modification, immediately at the beginning of the file.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef ALPHA_INCLUDE__BUS_H
+#define ALPHA_INCLUDE__BUS_H
+
+/*
+ * Bus address and size types
+ */
+typedef u_int64_t bus_addr_t;
+typedef u_int64_t bus_size_t;
+typedef struct alpha_busspace *bus_space_tag_t;
+typedef u_int32_t bus_space_handle_t;
+
+#endif /* ALPHA_INCLUDE__BUS_H */
diff --git a/sys/alpha/include/bus.h b/sys/alpha/include/bus.h
index a5ea275..bfd5c55 100644
--- a/sys/alpha/include/bus.h
+++ b/sys/alpha/include/bus.h
@@ -72,13 +72,7 @@
#ifndef _ALPHA_BUS_H_
#define _ALPHA_BUS_H_
-/*
- * Bus address and size types
- */
-typedef u_int64_t bus_addr_t;
-typedef u_int64_t bus_size_t;
-typedef struct alpha_busspace *bus_space_tag_t;
-typedef u_int32_t bus_space_handle_t;
+#include <machine/_bus.h>
#define BUS_SPACE_MAXSIZE_24BIT 0xFFFFFF
#define BUS_SPACE_MAXSIZE_32BIT 0xFFFFFFFF
diff --git a/sys/amd64/include/_bus.h b/sys/amd64/include/_bus.h
new file mode 100644
index 0000000..a8cbf48
--- /dev/null
+++ b/sys/amd64/include/_bus.h
@@ -0,0 +1,46 @@
+/*-
+ * Copyright (c) 2005 M. Warner Losh.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions, and the following disclaimer,
+ * without modification, immediately at the beginning of the file.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef AMD64_INCLUDE__BUS_H
+#define AMD64_INCLUDE__BUS_H
+
+/*
+ * Bus address and size types
+ */
+typedef uint64_t bus_addr_t;
+typedef uint64_t bus_size_t;
+
+/*
+ * Access methods for bus resources and address space.
+ */
+typedef uint64_t bus_space_tag_t;
+typedef uint64_t bus_space_handle_t;
+
+#endif /* AMD64_INCLUDE__BUS_H */
diff --git a/sys/amd64/include/bus.h b/sys/amd64/include/bus.h
index e127a7e..e9f8c17 100644
--- a/sys/amd64/include/bus.h
+++ b/sys/amd64/include/bus.h
@@ -104,6 +104,7 @@
#ifndef _AMD64_BUS_H_
#define _AMD64_BUS_H_
+#include <machine/_bus.h>
#include <machine/cpufunc.h>
/*
@@ -124,9 +125,6 @@
/*
* Bus address and size types
*/
-typedef uint64_t bus_addr_t;
-typedef uint64_t bus_size_t;
-
#define BUS_SPACE_MAXSIZE_24BIT 0xFFFFFF
#define BUS_SPACE_MAXSIZE_32BIT 0xFFFFFFFF
#define BUS_SPACE_MAXSIZE 0xFFFFFFFF
@@ -137,12 +135,6 @@ typedef uint64_t bus_size_t;
#define BUS_SPACE_UNRESTRICTED (~0)
/*
- * Access methods for bus resources and address space.
- */
-typedef uint64_t bus_space_tag_t;
-typedef uint64_t bus_space_handle_t;
-
-/*
* Map a region of device bus space into CPU virtual address space.
*/
diff --git a/sys/arm/include/_bus.h b/sys/arm/include/_bus.h
new file mode 100644
index 0000000..30dd3fb
--- /dev/null
+++ b/sys/arm/include/_bus.h
@@ -0,0 +1,46 @@
+/*-
+% * Copyright (c) 2005 M. Warner Losh.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions, and the following disclaimer,
+ * without modification, immediately at the beginning of the file.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef ARM_INCLUDE__BUS_H
+#define ARM_INCLUDE__BUS_H
+
+/*
+ * Addresses (in bus space).
+ */
+typedef u_long bus_addr_t;
+typedef u_long bus_size_t;
+
+/*
+ * Access methods for bus space.
+ */
+typedef struct bus_space *bus_space_tag_t;
+typedef u_long bus_space_handle_t;
+
+#endif /* ARM_INCLUDE__BUS_H */
diff --git a/sys/arm/include/bus.h b/sys/arm/include/bus.h
index 70f7438..624edab 100644
--- a/sys/arm/include/bus.h
+++ b/sys/arm/include/bus.h
@@ -73,17 +73,7 @@
#ifndef _MACHINE_BUS_H_
#define _MACHINE_BUS_H_
-/*
- * Addresses (in bus space).
- */
-typedef u_long bus_addr_t;
-typedef u_long bus_size_t;
-
-/*
- * Access methods for bus space.
- */
-typedef struct bus_space *bus_space_tag_t;
-typedef u_long bus_space_handle_t;
+#include <machine/_bus.h>
/*
* int bus_space_map (bus_space_tag_t t, bus_addr_t addr,
diff --git a/sys/i386/include/_bus.h b/sys/i386/include/_bus.h
new file mode 100644
index 0000000..49bdd5a
--- /dev/null
+++ b/sys/i386/include/_bus.h
@@ -0,0 +1,50 @@
+/*-
+ * Copyright (c) 2005 M. Warner Losh.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions, and the following disclaimer,
+ * without modification, immediately at the beginning of the file.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef I386_INCLUDE__BUS_H
+#define I386_INCLUDE__BUS_H
+
+/*
+ * Bus address and size types
+ */
+#ifdef PAE
+typedef uint64_t bus_addr_t;
+#else
+typedef uint32_t bus_addr_t;
+#endif
+typedef uint32_t bus_size_t;
+
+/*
+ * Access methods for bus resources and address space.
+ */
+typedef int bus_space_tag_t;
+typedef u_int bus_space_handle_t;
+
+#endif /* I386_INCLUDE__BUS_H */
diff --git a/sys/i386/include/bus.h b/sys/i386/include/bus.h
index 29c6d98..4fd13ea 100644
--- a/sys/i386/include/bus.h
+++ b/sys/i386/include/bus.h
@@ -104,6 +104,7 @@
#ifndef _I386_BUS_H_
#define _I386_BUS_H_
+#include <machine/_bus.h>
#include <machine/cpufunc.h>
/*
@@ -121,16 +122,6 @@
#define I386_BUS_SPACE_IO 0 /* space is i/o space */
#define I386_BUS_SPACE_MEM 1 /* space is mem space */
-/*
- * Bus address and size types
- */
-#ifdef PAE
-typedef uint64_t bus_addr_t;
-#else
-typedef uint32_t bus_addr_t;
-#endif
-typedef uint32_t bus_size_t;
-
#define BUS_SPACE_MAXSIZE_24BIT 0xFFFFFF
#define BUS_SPACE_MAXSIZE_32BIT 0xFFFFFFFF
#define BUS_SPACE_MAXSIZE 0xFFFFFFFF
@@ -145,12 +136,6 @@ typedef uint32_t bus_size_t;
#define BUS_SPACE_UNRESTRICTED (~0)
/*
- * Access methods for bus resources and address space.
- */
-typedef int bus_space_tag_t;
-typedef u_int bus_space_handle_t;
-
-/*
* Map a region of device bus space into CPU virtual address space.
*/
diff --git a/sys/ia64/include/_bus.h b/sys/ia64/include/_bus.h
new file mode 100644
index 0000000..95d94b4
--- /dev/null
+++ b/sys/ia64/include/_bus.h
@@ -0,0 +1,46 @@
+/*-
+ * Copyright (c) 2005 M. Warner Losh.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions, and the following disclaimer,
+ * without modification, immediately at the beginning of the file.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef IA64_INCLUDE__BUS_H
+#define IA64_INCLUDE__BUS_H
+
+/*
+ * Bus address and size types
+ */
+typedef u_long bus_addr_t;
+typedef u_long bus_size_t;
+
+/*
+ * Access methods for bus resources and address space.
+ */
+typedef int bus_space_tag_t;
+typedef u_long bus_space_handle_t;
+
+#endif /* IA64_INCLUDE__BUS_H */
diff --git a/sys/ia64/include/bus.h b/sys/ia64/include/bus.h
index 3b50d8a..2537597 100644
--- a/sys/ia64/include/bus.h
+++ b/sys/ia64/include/bus.h
@@ -86,6 +86,7 @@
#define _MACHINE_BUS_MEMIO_H_
#define _MACHINE_BUS_PIO_H_
+#include <machine/_bus.h>
#include <machine/cpufunc.h>
/*
@@ -94,12 +95,6 @@
#define IA64_BUS_SPACE_IO 0 /* space is i/o space */
#define IA64_BUS_SPACE_MEM 1 /* space is mem space */
-/*
- * Bus address and size types
- */
-typedef u_long bus_addr_t;
-typedef u_long bus_size_t;
-
#define BUS_SPACE_MAXSIZE_24BIT 0xFFFFFF
#define BUS_SPACE_MAXSIZE_32BIT 0xFFFFFFFF
#define BUS_SPACE_MAXSIZE 0xFFFFFFFFFFFFFFFF
@@ -110,13 +105,6 @@ typedef u_long bus_size_t;
#define BUS_SPACE_UNRESTRICTED (~0)
/*
- * Access methods for bus resources and address space.
- */
-typedef int bus_space_tag_t;
-typedef u_long bus_space_handle_t;
-
-
-/*
* Map a region of device bus space into CPU virtual address space.
*/
diff --git a/sys/pc98/include/_bus.h b/sys/pc98/include/_bus.h
new file mode 100644
index 0000000..5b8084b
--- /dev/null
+++ b/sys/pc98/include/_bus.h
@@ -0,0 +1,74 @@
+/*-
+ * Copyright (c) 2005 M. Warner Losh.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions, and the following disclaimer,
+ * without modification, immediately at the beginning of the file.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef PC98_INCLUDE__BUS_H
+#define PC98_INCLUDE__BUS_H
+
+/*
+ * Bus address and size types
+ */
+typedef u_int bus_addr_t;
+typedef u_int bus_size_t;
+
+/*
+ * Access methods for bus resources and address space.
+ */
+struct bus_space_tag {
+#define BUS_SPACE_IO 0
+#define BUS_SPACE_MEM 1
+ u_int bs_tag; /* bus space flags */
+
+ struct bus_space_access_methods bs_da; /* direct access */
+ struct bus_space_access_methods bs_ra; /* relocate access */
+#if 0
+ struct bus_space_access_methods bs_ida; /* indexed direct access */
+#endif
+};
+typedef struct bus_space_tag *bus_space_tag_t;
+
+/*
+ * bus space handle
+ */
+struct bus_space_handle {
+ bus_addr_t bsh_base;
+ size_t bsh_sz;
+
+ bus_addr_t bsh_iat[BUS_SPACE_IAT_MAXSIZE];
+ size_t bsh_maxiatsz;
+ size_t bsh_iatsz;
+
+ struct resource **bsh_res;
+ size_t bsh_ressz;
+
+ struct bus_space_access_methods bsh_bam;
+};
+typedef struct bus_space_handle *bus_space_handle_t;
+
+#endif /* PC98_INCLUDE__BUS_H */
diff --git a/sys/pc98/include/bus.h b/sys/pc98/include/bus.h
index bcb92f2..c344886 100644
--- a/sys/pc98/include/bus.h
+++ b/sys/pc98/include/bus.h
@@ -80,14 +80,9 @@
#include <sys/systm.h>
+#include <machine/_bus.h>
#include <machine/cpufunc.h>
-/*
- * Bus address and size types
- */
-typedef u_int bus_addr_t;
-typedef u_int bus_size_t;
-
#define BUS_SPACE_MAXSIZE_24BIT 0xFFFFFF
#define BUS_SPACE_MAXSIZE_32BIT 0xFFFFFFFF
#define BUS_SPACE_MAXSIZE 0xFFFFFFFF
@@ -153,19 +148,6 @@ struct bus_space_access_methods {
_BUS_SPACE_CALL_FUNCS(bs,u_int32_t,4)
};
-struct bus_space_tag {
-#define BUS_SPACE_IO 0
-#define BUS_SPACE_MEM 1
- u_int bs_tag; /* bus space flags */
-
- struct bus_space_access_methods bs_da; /* direct access */
- struct bus_space_access_methods bs_ra; /* relocate access */
-#if 0
- struct bus_space_access_methods bs_ida; /* indexed direct access */
-#endif
-};
-typedef struct bus_space_tag *bus_space_tag_t;
-
/*
* Values for the i386 bus space tag, not to be used directly by MI code.
*/
@@ -176,24 +158,6 @@ extern struct bus_space_tag SBUS_mem_space_tag;
#define I386_BUS_SPACE_MEM (&SBUS_mem_space_tag)
/*
- * bus space handle
- */
-struct bus_space_handle {
- bus_addr_t bsh_base;
- size_t bsh_sz;
-
- bus_addr_t bsh_iat[BUS_SPACE_IAT_MAXSIZE];
- size_t bsh_maxiatsz;
- size_t bsh_iatsz;
-
- struct resource **bsh_res;
- size_t bsh_ressz;
-
- struct bus_space_access_methods bsh_bam;
-};
-typedef struct bus_space_handle *bus_space_handle_t;
-
-/*
* Allocate/Free bus_space_handle
*/
int i386_bus_space_handle_alloc(bus_space_tag_t t, bus_addr_t bpa,
diff --git a/sys/powerpc/include/_bus.h b/sys/powerpc/include/_bus.h
new file mode 100644
index 0000000..5561ce7
--- /dev/null
+++ b/sys/powerpc/include/_bus.h
@@ -0,0 +1,46 @@
+/*-
+ * Copyright (c) 2005 M. Warner Losh.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions, and the following disclaimer,
+ * without modification, immediately at the beginning of the file.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef POWERPC_INCLUDE__BUS_H
+#define POWERPC_INCLUDE__BUS_H
+
+/*
+ * Bus address and size types
+ */
+typedef u_int32_t bus_addr_t;
+typedef u_int32_t bus_size_t;
+
+/*
+ * Access methods for bus resources and address space.
+ */
+typedef u_int32_t bus_space_tag_t;
+typedef u_int32_t bus_space_handle_t;
+
+#endif /* POWERPC_INCLUDE__BUS_H */
diff --git a/sys/powerpc/include/bus.h b/sys/powerpc/include/bus.h
index 5892eef..c7bbf16 100644
--- a/sys/powerpc/include/bus.h
+++ b/sys/powerpc/include/bus.h
@@ -72,6 +72,7 @@
#ifndef _MACPPC_BUS_H_
#define _MACPPC_BUS_H_
+#include <machine/_bus.h>
#include <machine/pio.h>
#define BUS_SPACE_MAXSIZE_24BIT 0xFFFFFF
@@ -90,23 +91,11 @@
#define __BUS_SPACE_HAS_STREAM_METHODS 1
/*
- * Bus address and size types
- */
-typedef u_int32_t bus_addr_t;
-typedef u_int32_t bus_size_t;
-
-/*
* Define the PPC tag values
*/
#define PPC_BUS_SPACE_MEM 1 /* space is mem space */
#define PPC_BUS_SPACE_IO 2 /* space is io space */
-/*
- * Access methods for bus resources and address space.
- */
-typedef u_int32_t bus_space_tag_t;
-typedef u_int32_t bus_space_handle_t;
-
static __inline void *
__ppc_ba(bus_space_tag_t tag __unused, bus_space_handle_t handle,
bus_size_t offset)
diff --git a/sys/sparc64/include/_bus.h b/sys/sparc64/include/_bus.h
new file mode 100644
index 0000000..c3db341
--- /dev/null
+++ b/sys/sparc64/include/_bus.h
@@ -0,0 +1,42 @@
+/*-
+ * Copyright (c) 2005 M. Warner Losh.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions, and the following disclaimer,
+ * without modification, immediately at the beginning of the file.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef SPARC64_INCLUDE__BUS_H
+#define SPARC64_INCLUDE__BUS_H
+
+/*
+ * Bus address and size types
+ */
+typedef u_long bus_space_handle_t;
+typedef int bus_type_t;
+typedef u_long bus_addr_t;
+typedef u_long bus_size_t;
+
+#endif /* SPARC64_INCLUDE__BUS_H */
diff --git a/sys/sparc64/include/bus.h b/sys/sparc64/include/bus.h
index ed134af..97a4baa 100644
--- a/sys/sparc64/include/bus.h
+++ b/sys/sparc64/include/bus.h
@@ -79,6 +79,7 @@
#include <sys/ktr.h>
#endif
+#include <machine/_bus.h>
#include <machine/cpufunc.h>
#include <machine/upa.h>
@@ -100,14 +101,6 @@ extern int bus_stream_asi[];
#define __BUS_SPACE_HAS_STREAM_METHODS 1
-/*
- * Bus address and size types
- */
-typedef u_long bus_space_handle_t;
-typedef int bus_type_t;
-typedef u_long bus_addr_t;
-typedef u_long bus_size_t;
-
#define BUS_SPACE_MAXSIZE_24BIT 0xFFFFFF
#define BUS_SPACE_MAXSIZE_32BIT 0xFFFFFFFF
#define BUS_SPACE_MAXSIZE 0xFFFFFFFFFFFFFFFF
OpenPOWER on IntegriCloud