Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch Share a single pio.h instead of having 4 nearly-ide...



details:   https://anonhg.NetBSD.org/src/rev/afe8229c1b22
branches:  trunk
changeset: 503426:afe8229c1b22
user:      briggs <briggs%NetBSD.org@localhost>
date:      Mon Feb 05 19:33:54 2001 +0000

description:
Share a single pio.h instead of having 4 nearly-identical copies.

diffstat:

 sys/arch/bebox/include/pio.h     |  302 +-----------------------------------
 sys/arch/macppc/include/pio.h    |  302 +-----------------------------------
 sys/arch/powerpc/include/pio.h   |  327 ++++++++++++++++++++++++++++++++++++++
 sys/arch/prep/include/pio.h      |  330 +--------------------------------------
 sys/arch/sandpoint/include/pio.h |  328 +--------------------------------------
 5 files changed, 335 insertions(+), 1254 deletions(-)

diffs (truncated from 1613 to 300 lines):

diff -r 87e83880975d -r afe8229c1b22 sys/arch/bebox/include/pio.h
--- a/sys/arch/bebox/include/pio.h      Mon Feb 05 19:33:36 2001 +0000
+++ b/sys/arch/bebox/include/pio.h      Mon Feb 05 19:33:54 2001 +0000
@@ -1,301 +1,3 @@
-/*     $NetBSD: pio.h,v 1.6 1998/02/03 03:10:24 sakamoto Exp $ */
-/*     $OpenBSD: pio.h,v 1.1 1997/10/13 10:53:47 pefo Exp $ */
-
-/*
- * Copyright (c) 1997 Per Fogelstrom, Opsycon AB and RTMX Inc, USA.
- * 
- * 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.
- * 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.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed under OpenBSD by
- *     Per Fogelstrom Opsycon AB for RTMX Inc, North Carolina, USA.
- * 4. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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.
- *
- */
-
-#ifndef _MACHINE_PIO_H_
-#define _MACHINE_PIO_H_
-/*
- * I/O macros.
- */
-
-static __inline void
-__outb(a,v)
-       volatile u_int8_t *a;
-       u_int8_t v;
-{
-       *a = v;
-       __asm__ volatile("eieio; sync");
-}
-
-static __inline void
-__outw(a,v)
-       volatile u_int16_t *a;
-       u_int16_t v;
-{
-       *a = v;
-       __asm__ volatile("eieio; sync");
-}
-
-static __inline void
-__outl(a,v)
-       volatile u_int32_t *a;
-       u_int32_t v;
-{
-       *a = v;
-       __asm__ volatile("eieio; sync");
-}
-
-static __inline void
-__outwrb(a,v)
-       volatile u_int16_t *a;
-       u_int16_t v;
-{
-       __asm__ volatile("sthbrx %0, 0, %1" :: "r"(v), "r"(a));
-       __asm__ volatile("eieio; sync");
-}
-
-static __inline void
-__outlrb(a,v)
-       volatile u_int32_t *a;
-       u_int32_t v;
-{
-       __asm__ volatile("stwbrx %0, 0, %1" :: "r"(v), "r"(a));
-       __asm__ volatile("eieio; sync");
-}
-
-static __inline u_int8_t
-__inb(a)
-       volatile u_int8_t *a;
-{
-       u_int8_t _v_;
-
-       _v_ = *a;
-       __asm__ volatile("eieio; sync");
-       return _v_;
-}
-
-static __inline u_int16_t
-__inw(a)
-       volatile u_int16_t *a;
-{
-       u_int16_t _v_;
-
-       _v_ = *a;
-       __asm__ volatile("eieio; sync");
-       return _v_;
-}
-
-static __inline u_int32_t
-__inl(a)
-       volatile u_int32_t *a;
-{
-       u_int32_t _v_;
-
-       _v_ = *a;
-       __asm__ volatile("eieio; sync");
-       return _v_;
-}
-
-static __inline u_int16_t
-__inwrb(a)
-       volatile u_int16_t *a;
-{
-       u_int16_t _v_;
-
-       __asm__ volatile("lhbrx %0, 0, %1" : "=r"(_v_) : "r"(a));
-       __asm__ volatile("eieio; sync");
-       return _v_;
-}
-
-static __inline u_int32_t
-__inlrb(a)
-       volatile u_int32_t *a;
-{
-       u_int32_t _v_;
-
-       __asm__ volatile("lwbrx %0, 0, %1" : "=r"(_v_) : "r"(a));
-       __asm__ volatile("eieio; sync");
-       return _v_;
-}
+/*     $NetBSD: pio.h,v 1.7 2001/02/05 19:33:54 briggs Exp $ */
 
-#define        outb(a,v)       (__outb((volatile u_int8_t *)(a), v))
-#define        out8(a,v)       outb(a,v)
-#define        outw(a,v)       (__outw((volatile u_int16_t *)(a), v))
-#define        out16(a,v)      outw(a,v)
-#define        outl(a,v)       (__outl((volatile u_int32_t *)(a), v))
-#define        out32(a,v)      outl(a,v)
-#define        inb(a)          (__inb((volatile u_int8_t *)(a)))
-#define        in8(a)          inb(a)
-#define        inw(a)          (__inw((volatile u_int16_t *)(a)))
-#define        in16(a)         inw(a)
-#define        inl(a)          (__inl((volatile u_int32_t *)(a)))
-#define        in32(a)         inl(a)
-
-#define        out8rb(a,v)     outb(a,v)
-#define        outwrb(a,v)     (__outwrb((volatile u_int16_t *)(a), v))
-#define        out16rb(a,v)    outwrb(a,v)
-#define        outlrb(a,v)     (__outlrb((volatile u_int32_t *)(a), v))
-#define        out32rb(a,v)    outlrb(a,v)
-#define        in8rb(a)        inb(a)
-#define        inwrb(a)        (__inwrb((volatile u_int16_t *)(a)))
-#define        in16rb(a)       inwrb(a)
-#define        inlrb(a)        (__inlrb((volatile u_int32_t *)(a)))
-#define        in32rb(a)       inlrb(a)
-
-
-static __inline void
-__outsb(a,s,c)
-       volatile u_int8_t *a;
-       const u_int8_t *s;
-       size_t c;
-{
-       while (c--)
-               *a = *s++;
-       __asm__ volatile("eieio; sync");
-}
-
-static __inline void
-__outsw(a,s,c)
-       volatile u_int16_t *a;
-       const u_int16_t *s;
-       size_t c;
-{
-       while (c--)
-               *a = *s++;
-       __asm__ volatile("eieio; sync");
-}
-
-static __inline void
-__outsl(a,s,c)
-       volatile u_int32_t *a;
-       const u_int32_t *s;
-       size_t c;
-{
-       while (c--)
-               *a = *s++;
-       __asm__ volatile("eieio; sync");
-}
-
-static __inline void
-__outswrb(a,s,c)
-       volatile u_int16_t *a;
-       const u_int16_t *s;
-       size_t c;
-{
-       while (c--)
-               __asm__ volatile("sthbrx %0, 0, %1" :: "r"(*s++), "r"(a));
-       __asm__ volatile("eieio; sync");
-}
-
-static __inline void
-__outslrb(a,s,c)
-       volatile u_int32_t *a;
-       const u_int32_t *s;
-       size_t c;
-{
-       while (c--)
-               __asm__ volatile("stwbrx %0, 0, %1" :: "r"(*s++), "r"(a));
-       __asm__ volatile("eieio; sync");
-}
-
-static __inline void
-__insb(a,d,c)
-       volatile u_int8_t *a;
-       u_int8_t *d;
-       size_t c;
-{
-       while (c--)
-               *d++ = *a;
-       __asm__ volatile("eieio; sync");
-}
-
-static __inline void
-__insw(a,d,c)
-       volatile u_int16_t *a;
-       u_int16_t *d;
-       size_t c;
-{
-       while (c--)
-               *d++ = *a;
-       __asm__ volatile("eieio; sync");
-}
-
-static __inline void
-__insl(a,d,c)
-       volatile u_int32_t *a;
-       u_int32_t *d;
-       size_t c;
-{
-       while (c--)
-               *d++ = *a;
-       __asm__ volatile("eieio; sync");
-}
-
-static __inline void
-__inswrb(a,d,c)
-       volatile u_int16_t *a;
-       u_int16_t *d;
-       size_t c;
-{
-       while (c--)
-               __asm__ volatile("lhbrx %0, 0, %1" : "=r"(*d++) : "r"(a));
-       __asm__ volatile("eieio; sync");
-}
-
-static __inline void
-__inslrb(a,d,c)
-       volatile u_int32_t *a;
-       u_int32_t *d;
-       size_t c;
-{
-       while (c--)
-               __asm__ volatile("lwbrx %0, 0, %1" : "=r"(*d++) : "r"(a));
-       __asm__ volatile("eieio; sync");
-}
-
-#define        outsb(a,s,c)    (__outsb((volatile u_int8_t *)(a), s, c))
-#define        outs8(a,s,c)    outsb(a,s,c)
-#define        outsw(a,s,c)    (__outsw((volatile u_int16_t *)(a), s, c))
-#define        outs16(a,s,c)   outsw(a,s,c)
-#define        outsl(a,s,c)    (__outsl((volatile u_int32_t *)(a), s, c))
-#define        outs32(a,s,c)   outsl(a,s,c)
-#define        insb(a,d,c)     (__insb((volatile u_int8_t *)(a), d, c))
-#define        ins8(a,d,c)     insb(a,d,c)
-#define        insw(a,d,c)     (__insw((volatile u_int16_t *)(a), d, c))
-#define        ins16(a,d,c)    insw(a,d,c)
-#define        insl(a,d,c)     (__insl((volatile u_int32_t *)(a), d, c))
-#define        ins32(a,d,c)    insl(a,d,c)
-
-#define        outs8rb(a,s,c)  outsb(a,s,c)
-#define        outswrb(a,s,c)  (__outswrb((volatile u_int16_t *)(a), s, c))
-#define        outs16rb(a,s,c) outswrb(a,s,c)
-#define        outslrb(a,s,c)  (__outslrb((volatile u_int32_t *)(a), s, c))
-#define        outs32rb(a,s,c) outslrb(a,s,c)
-#define        ins8rb(a,d,c)   insb(a,d,c)



Home | Main Index | Thread Index | Old Index