diff options
author | Dale Rahn <drahn@cvs.openbsd.org> | 2008-11-26 14:18:12 +0000 |
---|---|---|
committer | Dale Rahn <drahn@cvs.openbsd.org> | 2008-11-26 14:18:12 +0000 |
commit | 031612618bdded5842da71a53949df29d0c35645 (patch) | |
tree | 0373bf0a1e82262ee01903ad2208456a47fd050e /sys/arch/gumstix/include | |
parent | 5eae87e9dd0a3373254a274997e646ef26ff422a (diff) |
Initial port of OpenBSD to the (xscale based) gumstix, work in progress.
Most bits cloned from zaurus.
Diffstat (limited to 'sys/arch/gumstix/include')
43 files changed, 677 insertions, 0 deletions
diff --git a/sys/arch/gumstix/include/_types.h b/sys/arch/gumstix/include/_types.h new file mode 100644 index 00000000000..f9b817e381f --- /dev/null +++ b/sys/arch/gumstix/include/_types.h @@ -0,0 +1,11 @@ +/* $OpenBSD: _types.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ + +#ifndef _ZAURUS__TYPES_H_ +#define _ZAURUS__TYPES_H_ + +#include <arm/_types.h> + +#define __HAVE_GENERIC_SOFT_INTERRUPTS +#define __HAVE_TIMECOUNTER + +#endif diff --git a/sys/arch/gumstix/include/apmvar.h b/sys/arch/gumstix/include/apmvar.h new file mode 100644 index 00000000000..dfce83ed6c6 --- /dev/null +++ b/sys/arch/gumstix/include/apmvar.h @@ -0,0 +1 @@ +#include <arm/apmvar.h> diff --git a/sys/arch/gumstix/include/asm.h b/sys/arch/gumstix/include/asm.h new file mode 100644 index 00000000000..991e34545b6 --- /dev/null +++ b/sys/arch/gumstix/include/asm.h @@ -0,0 +1,4 @@ +/* $OpenBSD: asm.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: asm.h,v 1.3 2001/11/25 15:55:54 thorpej Exp $ */ + +#include <arm/asm.h> diff --git a/sys/arch/gumstix/include/atomic.h b/sys/arch/gumstix/include/atomic.h new file mode 100644 index 00000000000..7722c510f02 --- /dev/null +++ b/sys/arch/gumstix/include/atomic.h @@ -0,0 +1,10 @@ +/* $OpenBSD: atomic.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ + +/* Public Domain */ + +#ifndef __ZAURUS_ATOMIC_H__ +#define __ZAURUS_ATOMIC_H__ + +#include <arm/atomic.h> + +#endif /* __ZAURUS_ATOMIC_H__ */ diff --git a/sys/arch/gumstix/include/bootconfig.h b/sys/arch/gumstix/include/bootconfig.h new file mode 100644 index 00000000000..bb061e30be2 --- /dev/null +++ b/sys/arch/gumstix/include/bootconfig.h @@ -0,0 +1,76 @@ +/* $OpenBSD: bootconfig.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: bootconfig.h,v 1.2 2001/06/21 22:08:28 chris Exp $ */ + +/* + * Copyright (c) 1994 Mark Brinicombe. + * Copyright (c) 1994 Brini. + * All rights reserved. + * + * This code is derived from software written for Brini by Mark Brinicombe + * + * 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 Mark Brinicombe + * for the NetBSD Project. + * 4. The name of the company 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 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 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. + * + * boot configuration structures + * + * Created : 12/09/94 + * + * Based on kate/boot/bootconfig.h + */ + +typedef struct _PhysMem { + u_int address; + u_int pages; +} PhysMem; + +#if defined(_KERNEL) + +#define DRAM_BLOCKS 1 + +typedef struct _BootConfig { + PhysMem dram[DRAM_BLOCKS]; + u_int dramblocks; +} BootConfig; + +extern BootConfig bootconfig; +#define MAX_BOOT_STRING 255 + +#define BOOTOPT_TYPE_BOOLEAN 0 +#define BOOTOPT_TYPE_STRING 1 +#define BOOTOPT_TYPE_INT 2 +#define BOOTOPT_TYPE_BININT 3 +#define BOOTOPT_TYPE_HEXINT 4 +#define BOOTOPT_TYPE_MASK 7 + +int get_bootconf_option (char *string, char *option, int type, void *result); + +extern char *boot_args; +extern char *boot_file; +#endif /* _KERNEL */ + +/* End of bootconfig.h */ diff --git a/sys/arch/gumstix/include/bus.h b/sys/arch/gumstix/include/bus.h new file mode 100644 index 00000000000..7de4d072b16 --- /dev/null +++ b/sys/arch/gumstix/include/bus.h @@ -0,0 +1,4 @@ +/* $OpenBSD: bus.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: bus.h,v 1.3 2001/11/25 15:55:55 thorpej Exp $ */ + +#include <arm/bus.h> diff --git a/sys/arch/gumstix/include/cdefs.h b/sys/arch/gumstix/include/cdefs.h new file mode 100644 index 00000000000..ac15ff72c35 --- /dev/null +++ b/sys/arch/gumstix/include/cdefs.h @@ -0,0 +1,3 @@ +/* $OpenBSD: cdefs.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ + +#include <arm/cdefs.h> diff --git a/sys/arch/gumstix/include/conf.h b/sys/arch/gumstix/include/conf.h new file mode 100644 index 00000000000..88882c37e1b --- /dev/null +++ b/sys/arch/gumstix/include/conf.h @@ -0,0 +1,19 @@ +/* $OpenBSD: conf.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: conf.h,v 1.8 2002/02/10 12:26:03 chris Exp $ */ + +#ifndef _ZAURUS_CONF_H +#define _ZAURUS_CONF_H + +#include <sys/conf.h> + +/* + * ZAURUS specific device includes go in here + */ + +#define CONF_HAVE_APM +#define CONF_HAVE_USB +#define CONF_HAVE_WSCONS + +#include <arm/conf.h> + +#endif /* _ZAURUS_CONF_H */ diff --git a/sys/arch/gumstix/include/cpu.h b/sys/arch/gumstix/include/cpu.h new file mode 100644 index 00000000000..8d2ef6566b5 --- /dev/null +++ b/sys/arch/gumstix/include/cpu.h @@ -0,0 +1,4 @@ +/* $OpenBSD: cpu.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: cpu.h,v 1.3 2001/11/25 15:55:55 thorpej Exp $ */ + +#include <arm/cpu.h> diff --git a/sys/arch/gumstix/include/db_machdep.h b/sys/arch/gumstix/include/db_machdep.h new file mode 100644 index 00000000000..947f2bb0efe --- /dev/null +++ b/sys/arch/gumstix/include/db_machdep.h @@ -0,0 +1,4 @@ +/* $OpenBSD: db_machdep.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: db_machdep.h,v 1.3 2001/11/25 15:55:55 thorpej Exp $ */ + +#include <arm/db_machdep.h> diff --git a/sys/arch/gumstix/include/disklabel.h b/sys/arch/gumstix/include/disklabel.h new file mode 100644 index 00000000000..0bdbd3fa017 --- /dev/null +++ b/sys/arch/gumstix/include/disklabel.h @@ -0,0 +1,3 @@ +/* $OpenBSD: disklabel.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ + +#include <arm/disklabel.h> diff --git a/sys/arch/gumstix/include/endian.h b/sys/arch/gumstix/include/endian.h new file mode 100644 index 00000000000..892cbcd6bfa --- /dev/null +++ b/sys/arch/gumstix/include/endian.h @@ -0,0 +1,4 @@ +/* $OpenBSD: endian.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: endian.h,v 1.3 2001/11/25 15:55:56 thorpej Exp $ */ + +#include <arm/endian.h> diff --git a/sys/arch/gumstix/include/exec.h b/sys/arch/gumstix/include/exec.h new file mode 100644 index 00000000000..ac2379a620c --- /dev/null +++ b/sys/arch/gumstix/include/exec.h @@ -0,0 +1,3 @@ +/* $OpenBSD: exec.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* public domain */ +#include <arm/exec.h> diff --git a/sys/arch/gumstix/include/float.h b/sys/arch/gumstix/include/float.h new file mode 100644 index 00000000000..bbbd959e515 --- /dev/null +++ b/sys/arch/gumstix/include/float.h @@ -0,0 +1,4 @@ +/* $OpenBSD: float.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: float.h,v 1.3 2001/11/25 15:55:56 thorpej Exp $ */ + +#include <arm/float.h> diff --git a/sys/arch/gumstix/include/fp.h b/sys/arch/gumstix/include/fp.h new file mode 100644 index 00000000000..61234f07f60 --- /dev/null +++ b/sys/arch/gumstix/include/fp.h @@ -0,0 +1,4 @@ +/* $OpenBSD: fp.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: fp.h,v 1.3 2001/11/25 15:55:56 thorpej Exp $ */ + +#include <arm/fp.h> diff --git a/sys/arch/gumstix/include/frame.h b/sys/arch/gumstix/include/frame.h new file mode 100644 index 00000000000..e08ec2b2878 --- /dev/null +++ b/sys/arch/gumstix/include/frame.h @@ -0,0 +1,4 @@ +/* $OpenBSD: frame.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: frame.h,v 1.1 2001/06/08 22:23:00 chris Exp $ */ + +#include <arm/frame.h> diff --git a/sys/arch/gumstix/include/gumstix_var.h b/sys/arch/gumstix/include/gumstix_var.h new file mode 100644 index 00000000000..80909bb127c --- /dev/null +++ b/sys/arch/gumstix/include/gumstix_var.h @@ -0,0 +1,46 @@ +/* $OpenBSD: gumstix_var.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: lubbock_var.h,v 1.1 2003/06/18 10:51:15 bsh Exp $ */ + +/* + * Copyright (c) 2002, 2003 Genetec Corporation. All rights reserved. + * Written by Hiroyuki Bessho for Genetec Corporation. + * + * 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. The name of Genetec Corporation may not be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY GENETEC CORPORATION ``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 GENETEC CORPORATION + * 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 _EVBARM_ZAURUS_VAR_H +#define _EVBARM_ZAURUS_VAR_H + +#include <sys/conf.h> +#include <sys/device.h> + +#include <machine/bus.h> +#include <machine/machine_reg.h> + +#ifdef _KERNEL + +#endif + +#endif /* _EVBARM_ZAURUS_VAR_H */ diff --git a/sys/arch/gumstix/include/ieee.h b/sys/arch/gumstix/include/ieee.h new file mode 100644 index 00000000000..8b2a590c19b --- /dev/null +++ b/sys/arch/gumstix/include/ieee.h @@ -0,0 +1,4 @@ +/* $OpenBSD: ieee.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: ieee.h,v 1.3 2001/11/25 15:55:56 thorpej Exp $ */ + +#include <arm/ieee.h> diff --git a/sys/arch/gumstix/include/ieeefp.h b/sys/arch/gumstix/include/ieeefp.h new file mode 100644 index 00000000000..f877949e6ae --- /dev/null +++ b/sys/arch/gumstix/include/ieeefp.h @@ -0,0 +1,4 @@ +/* $OpenBSD: ieeefp.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: ieeefp.h,v 1.3 2001/11/25 15:55:56 thorpej Exp $ */ + +#include <arm/ieeefp.h> diff --git a/sys/arch/gumstix/include/internal_types.h b/sys/arch/gumstix/include/internal_types.h new file mode 100644 index 00000000000..894465f5f35 --- /dev/null +++ b/sys/arch/gumstix/include/internal_types.h @@ -0,0 +1,7 @@ +/* $OpenBSD: internal_types.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* Public domain */ +#ifndef _MACHINE_INTERNAL_TYPES_H_ +#define _MACHINE_INTERNAL_TYPES_H_ + +#include "arm/internal_types.h" +#endif diff --git a/sys/arch/gumstix/include/intr.h b/sys/arch/gumstix/include/intr.h new file mode 100644 index 00000000000..c77386e7a91 --- /dev/null +++ b/sys/arch/gumstix/include/intr.h @@ -0,0 +1,105 @@ +/* $OpenBSD: intr.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: intr.h,v 1.12 2003/06/16 20:00:59 thorpej Exp $ */ + +/* + * Copyright (c) 2001, 2003 Wasabi Systems, Inc. + * All rights reserved. + * + * Written by Jason R. Thorpe for Wasabi Systems, Inc. + * + * 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 for the NetBSD Project by + * Wasabi Systems, Inc. + * 4. The name of Wasabi Systems, Inc. may not be used to endorse + * or promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``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 WASABI SYSTEMS, INC + * 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 _EVBARM_INTR_H_ +#define _EVBARM_INTR_H_ + +#ifdef _KERNEL + + +/* Interrupt priority "levels". */ +#define IPL_NONE 0 /* nothing */ +#define IPL_SOFT 1 /* generic software interrupts */ +#define IPL_SOFTCLOCK 2 /* software clock interrupt */ +#define IPL_SOFTNET 3 /* software network interrupt */ +#define IPL_BIO 4 /* block I/O */ +#define IPL_NET 5 /* network */ +#define IPL_SOFTSERIAL 6 /* software serial interrupt */ +#define IPL_TTY 7 /* terminals */ +#define IPL_VM 8 /* memory allocation */ +#define IPL_AUDIO 9 /* audio device */ +#define IPL_CLOCK 10 /* clock interrupt */ +#define IPL_STATCLOCK 11 /* statistics clock interrupt */ +#define IPL_HIGH 12 /* everything */ +#define IPL_SERIAL 13 /* serial device */ + +#define NIPL 14 + +/* Interrupt sharing types. */ +#define IST_NONE 0 /* none */ +#define IST_PULSE 1 /* pulsed */ +#define IST_EDGE 2 /* edge-triggered */ +#define IST_LEVEL 3 /* level-triggered */ + +#define IST_LEVEL_LOW IST_LEVEL +#define IST_LEVEL_HIGH 4 +#define IST_EDGE_FALLING IST_EDGE +#define IST_EDGE_RISING 5 +#define IST_EDGE_BOTH 6 + +#ifndef _LOCORE + +#include <sys/device.h> +#include <sys/queue.h> + +#define splhigh() _splraise(IPL_HIGH) +#define splsoft() _splraise(IPL_SOFT) +#define splsoftclock() _splraise(IPL_SOFTCLOCK) +#define splsoftnet() _splraise(IPL_SOFTNET) +#define splbio() _splraise(IPL_BIO) +#define splnet() _splraise(IPL_NET) +#define spltty() _splraise(IPL_TTY) +#define splvm() _splraise(IPL_VM) +#define splaudio() _splraise(IPL_AUDIO) +#define splclock() _splraise(IPL_CLOCK) +#define splstatclock() _splraise(IPL_STATCLOCK) +#define splserial() _splraise(IPL_SERIAL) + +#define spl0() _spllower(IPL_NONE) + +#define splsched() splhigh() +#define spllock() splhigh() + +#endif /* ! _LOCORE */ + +#include <arm/xscale/pxa2x0_intr.h> + +#endif /* _KERNEL */ + +#endif /* _EVBARM_INTR_H_ */ + diff --git a/sys/arch/gumstix/include/limits.h b/sys/arch/gumstix/include/limits.h new file mode 100644 index 00000000000..d0b531aea78 --- /dev/null +++ b/sys/arch/gumstix/include/limits.h @@ -0,0 +1,4 @@ +/* $OpenBSD: limits.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: limits.h,v 1.3 2001/11/25 15:55:57 thorpej Exp $ */ + +#include <arm/limits.h> diff --git a/sys/arch/gumstix/include/loadfile_machdep.h b/sys/arch/gumstix/include/loadfile_machdep.h new file mode 100644 index 00000000000..880b0d8c971 --- /dev/null +++ b/sys/arch/gumstix/include/loadfile_machdep.h @@ -0,0 +1,52 @@ +/* $OpenBSD: loadfile_machdep.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: loadfile_machdep.h,v 1.1 1999/04/29 03:17:12 tsubai Exp $ */ + +/*- + * Copyright (c) 1999 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * 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. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + */ + +#define BOOT_ELF +#define ELFSIZE 32 + +#define LOAD_KERNEL (LOAD_ALL & ~LOAD_TEXTA) +#define COUNT_KERNEL (COUNT_ALL & ~COUNT_TEXTA) + +#define LOADADDR(a) ((((u_long)(a)) + offset)&0xfffffff) +#define ALIGNENTRY(a) ((u_long)(a)) +#define READ(f, b, c) read((f), (void *)LOADADDR(b), (c)) +#define BCOPY(s, d, c) memcpy((void *)LOADADDR(d), (void *)(s), (c)) +#define BZERO(d, c) memset((void *)LOADADDR(d), 0, (c)) +#define WARN(a) (void)(printf a, \ + printf((errno ? ": %s\n" : "\n"), \ + strerror(errno))) +#define PROGRESS(a) (void) printf a +#define ALLOC(a) alloc(a) +#define FREE(a, b) free(a, b) +#define OKMAGIC(a) ((a) == OMAGIC) + +void run_loadfile(u_long *, int); diff --git a/sys/arch/gumstix/include/lock.h b/sys/arch/gumstix/include/lock.h new file mode 100644 index 00000000000..e1ef823b3c8 --- /dev/null +++ b/sys/arch/gumstix/include/lock.h @@ -0,0 +1,4 @@ +/* $OpenBSD: lock.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: lock.h,v 1.3 2001/11/25 15:55:57 thorpej Exp $ */ + +#include <arm/lock.h> diff --git a/sys/arch/gumstix/include/machine_reg.h b/sys/arch/gumstix/include/machine_reg.h new file mode 100644 index 00000000000..4dcfcae98c8 --- /dev/null +++ b/sys/arch/gumstix/include/machine_reg.h @@ -0,0 +1,95 @@ +/* $OpenBSD: machine_reg.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: lubbock_reg.h,v 1.1 2003/06/18 10:51:15 bsh Exp $ */ + +/* + * Copyright (c) 2002, 2003 Genetec Corporation. All rights reserved. + * Written by Hiroyuki Bessho for Genetec Corporation. + * + * 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. The name of Genetec Corporation may not be used to endorse or + * promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY GENETEC CORPORATION ``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 GENETEC CORPORATION + * 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 _GUMSTIX_REG_H +#define _GUMSTIX_REG_H + +#include <arm/xscale/pxa2x0reg.h> + +/* + * Logical mapping for onboard/integrated peripherals + */ +#define GUMSTIX_IO_AREA_VBASE 0xfd000000 +#define GUMSTIX_GPIO_VBASE 0xfd000000 +#define GUMSTIX_CLKMAN_VBASE 0xfd100000 +#define GUMSTIX_INTCTL_VBASE 0xfd200000 +#define GUMSTIX_FFUART_VBASE 0xfd300000 +#define GUMSTIX_BTUART_VBASE 0xfd400000 +#define GUMSTIX_STUART_VBASE 0xfd500000 +#define GUMSTIX_VBASE_FREE 0xfd600000 +/* +#define GUMSTIX_SCOOP0_VBASE 0xfd300000 +#define GUMSTIX_SCOOP1_VBASE 0xfd400000 +*/ +/* FFUART, BTUART and/or STUART are mapped to this area when + used for console or kgdb port */ + +#define ioreg_read(a) (*(volatile unsigned *)(a)) +#define ioreg_write(a,v) (*(volatile unsigned *)(a)=(v)) + +#define ioreg16_read(a) (*(volatile uint16_t *)(a)) +#define ioreg16_write(a,v) (*(volatile uint16_t *)(a)=(v)) + +#define ioreg8_read(a) (*(volatile uint8_t *)(a)) +#define ioreg8_write(a,v) (*(volatile uint8_t *)(a)=(v)) + +/* + * Magic numbers for the C860 (PXA255) and C3000 (PXA27x). + */ +#if 0 + +/* physical adresses of companion chips */ +#define C3000_SCOOP0_BASE 0x10800000 /* XXX same as C860 */ +#define C3000_SCOOP1_BASE 0x08800040 + +/* processor IRQ numbers */ +#define C860_CF0_IRQ 17 +#define C3000_CF0_IRQ 105 +#define C3000_CF1_IRQ 106 + +/* processor GPIO pins */ +#define C860_CF0_IRQ_PIN 14 +#define C3000_RC_IRQ_PIN 13 /* remote control */ +#define C3000_CF0_IRQ_PIN 94 +#define C3000_CF1_IRQ_PIN 93 +#define C3000_USB_DEVICE_PIN 35 /* indicate connection type */ +#define C3000_USB_CONNECT_PIN 41 /* connection interrupt */ +#define C3000_USB_PULLUP_PIN 45 /* show/hide device presence */ +#define GPIO_HP_IN_C3000 116 /* headphone jack */ + +#endif + +#define PXA_USB_DEVICE_PIN 35 /* indicate connection type */ +#define PXA_USB_CONNECT_PIN 41 /* connection interrupt */ +#define PXA_USB_PULLUP_PIN 45 /* show/hide device presence */ + +#endif /* _GUMSTIX_REG_H */ diff --git a/sys/arch/gumstix/include/mutex.h b/sys/arch/gumstix/include/mutex.h new file mode 100644 index 00000000000..681321702ab --- /dev/null +++ b/sys/arch/gumstix/include/mutex.h @@ -0,0 +1,3 @@ +/* $OpenBSD: mutex.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* public domain */ +#include <arm/mutex.h> diff --git a/sys/arch/gumstix/include/param.h b/sys/arch/gumstix/include/param.h new file mode 100644 index 00000000000..ff478a1e9c9 --- /dev/null +++ b/sys/arch/gumstix/include/param.h @@ -0,0 +1,51 @@ +/* $OpenBSD: param.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: param.h,v 1.4 2002/02/12 06:58:19 thorpej 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 _ZAURUS_PARAM_H_ +#define _ZAURUS_PARAM_H_ + +/* + * 1 page should be enough + */ +#ifndef MSGBUFSIZE +#define MSGBUFSIZE (1*NBPG) +#endif + +#include <arm/param.h> + +#define _MACHINE gumstix +#define MACHINE "gumstix" + +#endif /* _ZAURUS_PARAM_H_ */ diff --git a/sys/arch/gumstix/include/pcb.h b/sys/arch/gumstix/include/pcb.h new file mode 100644 index 00000000000..55d9d53149f --- /dev/null +++ b/sys/arch/gumstix/include/pcb.h @@ -0,0 +1,4 @@ +/* $OpenBSD: pcb.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: pcb.h,v 1.3 2001/11/25 15:55:57 thorpej Exp $ */ + +#include <arm/pcb.h> diff --git a/sys/arch/gumstix/include/pio.h b/sys/arch/gumstix/include/pio.h new file mode 100644 index 00000000000..45d4d3f6329 --- /dev/null +++ b/sys/arch/gumstix/include/pio.h @@ -0,0 +1,4 @@ +/* $OpenBSD: pio.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: pio.h,v 1.3 2001/12/07 23:09:33 chris Exp $ */ + +#include <arm/pio.h> diff --git a/sys/arch/gumstix/include/pmap.h b/sys/arch/gumstix/include/pmap.h new file mode 100644 index 00000000000..46beb5f2671 --- /dev/null +++ b/sys/arch/gumstix/include/pmap.h @@ -0,0 +1,4 @@ +/* $OpenBSD: pmap.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: pmap.h,v 1.2 2001/11/23 17:29:01 thorpej Exp $ */ + +#include <arm/pmap.h> diff --git a/sys/arch/gumstix/include/proc.h b/sys/arch/gumstix/include/proc.h new file mode 100644 index 00000000000..8c9312afed3 --- /dev/null +++ b/sys/arch/gumstix/include/proc.h @@ -0,0 +1,4 @@ +/* $OpenBSD: proc.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: proc.h,v 1.3 2001/11/25 15:55:57 thorpej Exp $ */ + +#include <arm/proc.h> diff --git a/sys/arch/gumstix/include/profile.h b/sys/arch/gumstix/include/profile.h new file mode 100644 index 00000000000..504a994612f --- /dev/null +++ b/sys/arch/gumstix/include/profile.h @@ -0,0 +1,4 @@ +/* $OpenBSD: profile.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: profile.h,v 1.3 2001/11/25 15:55:57 thorpej Exp $ */ + +#include <arm/profile.h> diff --git a/sys/arch/gumstix/include/psl.h b/sys/arch/gumstix/include/psl.h new file mode 100644 index 00000000000..61b8a67788c --- /dev/null +++ b/sys/arch/gumstix/include/psl.h @@ -0,0 +1 @@ +/* $OpenBSD: psl.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ diff --git a/sys/arch/gumstix/include/ptrace.h b/sys/arch/gumstix/include/ptrace.h new file mode 100644 index 00000000000..0bb470394ff --- /dev/null +++ b/sys/arch/gumstix/include/ptrace.h @@ -0,0 +1,4 @@ +/* $OpenBSD: ptrace.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: ptrace.h,v 1.3 2001/11/25 15:55:58 thorpej Exp $ */ + +#include <arm/ptrace.h> diff --git a/sys/arch/gumstix/include/reg.h b/sys/arch/gumstix/include/reg.h new file mode 100644 index 00000000000..960d06c893a --- /dev/null +++ b/sys/arch/gumstix/include/reg.h @@ -0,0 +1,4 @@ +/* $OpenBSD: reg.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: reg.h,v 1.3 2001/11/25 15:55:58 thorpej Exp $ */ + +#include <arm/reg.h> diff --git a/sys/arch/gumstix/include/reloc.h b/sys/arch/gumstix/include/reloc.h new file mode 100644 index 00000000000..b6e820e7263 --- /dev/null +++ b/sys/arch/gumstix/include/reloc.h @@ -0,0 +1,2 @@ +/* $OpenBSD: reloc.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +#include <arm/reloc.h> diff --git a/sys/arch/gumstix/include/setjmp.h b/sys/arch/gumstix/include/setjmp.h new file mode 100644 index 00000000000..9e2c6e16301 --- /dev/null +++ b/sys/arch/gumstix/include/setjmp.h @@ -0,0 +1,4 @@ +/* $OpenBSD: setjmp.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: setjmp.h,v 1.3 2001/11/25 15:55:58 thorpej Exp $ */ + +#include <arm/setjmp.h> diff --git a/sys/arch/gumstix/include/signal.h b/sys/arch/gumstix/include/signal.h new file mode 100644 index 00000000000..b3892c1c444 --- /dev/null +++ b/sys/arch/gumstix/include/signal.h @@ -0,0 +1,4 @@ +/* $OpenBSD: signal.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: signal.h,v 1.3 2001/11/25 15:55:58 thorpej Exp $ */ + +#include <arm/signal.h> diff --git a/sys/arch/gumstix/include/spinlock.h b/sys/arch/gumstix/include/spinlock.h new file mode 100644 index 00000000000..b5a7eb6c05d --- /dev/null +++ b/sys/arch/gumstix/include/spinlock.h @@ -0,0 +1,7 @@ + +/* $OpenBSD: spinlock.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +#ifndef _ZAURUS_SPINLOCK_H_ +#define _ZAURUS_SPINLOCK_H_ +#include <arm/spinlock.h> +#endif /* _ZAURUS_SPINLOCK_H_ */ + diff --git a/sys/arch/gumstix/include/stdarg.h b/sys/arch/gumstix/include/stdarg.h new file mode 100644 index 00000000000..caa88322651 --- /dev/null +++ b/sys/arch/gumstix/include/stdarg.h @@ -0,0 +1,4 @@ +/* $OpenBSD: stdarg.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: stdarg.h,v 1.3 2001/11/25 15:55:58 thorpej Exp $ */ + +#include <arm/stdarg.h> diff --git a/sys/arch/gumstix/include/sysarch.h b/sys/arch/gumstix/include/sysarch.h new file mode 100644 index 00000000000..064bcd4dd9e --- /dev/null +++ b/sys/arch/gumstix/include/sysarch.h @@ -0,0 +1,4 @@ +/* $OpenBSD: sysarch.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: sysarch.h,v 1.3 2001/11/25 15:55:58 thorpej Exp $ */ + +#include <arm/sysarch.h> diff --git a/sys/arch/gumstix/include/trap.h b/sys/arch/gumstix/include/trap.h new file mode 100644 index 00000000000..fb542e10091 --- /dev/null +++ b/sys/arch/gumstix/include/trap.h @@ -0,0 +1,4 @@ +/* $OpenBSD: trap.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: trap.h,v 1.3 2001/11/25 15:55:58 thorpej Exp $ */ + +#include <arm/trap.h> diff --git a/sys/arch/gumstix/include/vmparam.h b/sys/arch/gumstix/include/vmparam.h new file mode 100644 index 00000000000..f3342ca1443 --- /dev/null +++ b/sys/arch/gumstix/include/vmparam.h @@ -0,0 +1,86 @@ +/* $OpenBSD: vmparam.h,v 1.1 2008/11/26 14:18:11 drahn Exp $ */ +/* $NetBSD: vmparam.h,v 1.23 2003/05/22 05:47:07 thorpej Exp $ */ + +/* + * Copyright (c) 1988 The Regents of the University of California. + * 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. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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 _ARM32_VMPARAM_H_ +#define _ARM32_VMPARAM_H_ + +#define ARM_KERNEL_BASE 0xc0000000 + +#include <arm/vmparam.h> + +#ifdef _KERNEL +/* + * Address space constants + */ + +/* + * The line between user space and kernel space + * Mappings >= KERNEL_BASE are constant across all processes + */ +#define KERNEL_BASE ARM_KERNEL_BASE + +/* + * Override the default pager_map size, there's not enough KVA. + */ +#define PAGER_MAP_SIZE (4 * 1024 * 1024) + +/* + * Size of User Raw I/O map + */ + +#define USRIOSIZE 300 + +/* virtual sizes (bytes) for various kernel submaps */ + +#define VM_PHYS_SIZE (USRIOSIZE*PAGE_SIZE) + +/* + * max number of non-contig chunks of physical RAM you can have + */ + +#define VM_PHYSSEG_MAX 1 +#define VM_PHYSSEG_STRAT VM_PSTRAT_RANDOM + +/* + * this indicates that we can't add RAM to the VM system after the + * vm system is init'd. + */ + +#define VM_PHYSSEG_NOADD + +#endif /* _KERNEL */ + +#define VM_NFREELIST 1 +#define VM_FREELIST_DEFAULT 0 + + +#endif /* _ARM32_VMPARAM_H_ */ |