Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/arm/include Add a common <arm/param.h>, containing ...



details:   https://anonhg.NetBSD.org/src/rev/8c787ea56418
branches:  trunk
changeset: 511638:8c787ea56418
user:      bjh21 <bjh21%NetBSD.org@localhost>
date:      Sat Jun 23 13:25:19 2001 +0000

description:
Add a common <arm/param.h>, containing those few things that are obviously
common across all ARM systems.

diffstat:

 sys/arch/arm/include/Makefile |   5 +-
 sys/arch/arm/include/param.h  |  84 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 87 insertions(+), 2 deletions(-)

diffs (107 lines):

diff -r f69f7f6c5e16 -r 8c787ea56418 sys/arch/arm/include/Makefile
--- a/sys/arch/arm/include/Makefile     Sat Jun 23 13:09:47 2001 +0000
+++ b/sys/arch/arm/include/Makefile     Sat Jun 23 13:25:19 2001 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: Makefile,v 1.17 2001/06/23 12:20:27 bjh21 Exp $
+#      $NetBSD: Makefile,v 1.18 2001/06/23 13:25:19 bjh21 Exp $
 
 KDIR=  /sys/arch/arm/include
 INCSDIR= /usr/include/arm
@@ -15,7 +15,8 @@
        limits.h lock.h \
        math.h \
        ofisa_machdep.h ofw.h \
-       pci_machdep.h pio.h proc.h profile.h profileio.h pte.h ptrace.h \
+       param.h pci_machdep.h pio.h proc.h profile.h profileio.h pte.h \
+       ptrace.h \
        reg.h \
        setjmp.h signal.h stdarg.h \
        trap.h types.h \
diff -r f69f7f6c5e16 -r 8c787ea56418 sys/arch/arm/include/param.h
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/arm/include/param.h      Sat Jun 23 13:25:19 2001 +0000
@@ -0,0 +1,84 @@
+/*     $NetBSD: param.h,v 1.1 2001/06/23 13:25:19 bjh21 Exp $  */
+
+/*
+ * Copyright (c) 1994,1995 Mark Brinicombe.
+ * 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.
+ * 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 by the RiscBSD team.
+ * 4. The name "RiscBSD" nor the name of the author may be used to
+ *    endorse or promote products derived from this software without specific
+ *    prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY RISCBSD ``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 RISCBSD 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.
+ */
+
+#ifndef        _ARM_PARAM_H_
+#define        _ARM_PARAM_H_
+
+/*
+ * Machine dependent constants for all ARM processors
+ */
+
+/* MACHINE and MACHINE_ARCH are defined by individual ports. */
+
+#define        MID_MACHINE     MID_ARM6
+
+/*
+ * Round p (pointer or byte index) up to a correctly-aligned value
+ * for all data types (int, long, ...).   The result is u_int and
+ * must be cast to any desired pointer type.
+ *
+ * ALIGNED_POINTER is a boolean macro that checks whether an address
+ * is valid to fetch data elements of type t from on this architecture.
+ * This does not reflect the optimal alignment, just the possibility
+ * (within reasonable limits). 
+ *
+ */
+#define ALIGNBYTES             (sizeof(int) - 1)
+#define ALIGN(p)               (((u_int)(p) + ALIGNBYTES) &~ ALIGNBYTES)
+#define ALIGNED_POINTER(p,t)   ((((u_long)(p)) & (sizeof(t)-1)) == 0)
+
+/* pages ("clicks") to disk blocks */
+#define        ctod(x) ((x) << (PGSHIFT - DEV_BSHIFT))
+#define        dtoc(x) ((x) >> (PGSHIFT - DEV_BSHIFT))
+/*#define      dtob(x) ((x) << DEV_BSHIFT)*/
+
+#define        ctob(x) ((x) << PGSHIFT)
+
+/* bytes to pages */
+#define        btoc(x) (((x) + PGOFSET) >> PGSHIFT)
+
+#define        btodb(bytes)                    /* calculates (bytes / DEV_BSIZE) */ \
+       ((bytes) >> DEV_BSHIFT)
+#define        dbtob(db)                       /* calculates (db * DEV_BSIZE) */ \
+       ((db) << DEV_BSHIFT)
+
+/*
+ * Map a ``block device block'' to a file system block.
+ * This should be device dependent, and should use the bsize
+ * field from the disk label.
+ * For now though just use DEV_BSIZE.
+ */
+#define        bdbtofsb(bn)    ((bn) / (BLKDEV_IOSIZE / DEV_BSIZE))
+
+#endif /* _ARM_PARAM_H_ */



Home | Main Index | Thread Index | Old Index