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