Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/epoc32 Add new port NetBSD/epoc32.
details: https://anonhg.NetBSD.org/src/rev/6b71c393cc8c
branches: trunk
changeset: 786431:6b71c393cc8c
user: kiyohara <kiyohara%NetBSD.org@localhost>
date: Sun Apr 28 12:11:25 2013 +0000
description:
Add new port NetBSD/epoc32.
diffstat:
sys/arch/epoc32/compile/Makefile | 3 +
sys/arch/epoc32/conf/GENERIC | 198 +++
sys/arch/epoc32/conf/Makefile.epoc32.inc | 21 +
sys/arch/epoc32/conf/files.epoc32 | 61 +
sys/arch/epoc32/conf/ldscript.epoc32 | 79 +
sys/arch/epoc32/conf/majors.epoc32 | 111 ++
sys/arch/epoc32/conf/std.epoc32 | 21 +
sys/arch/epoc32/dev/epockbd.c | 216 ++++
sys/arch/epoc32/dev/epockbd_clpssoc.c | 79 +
sys/arch/epoc32/dev/epockbd_windermere.c | 86 +
sys/arch/epoc32/dev/epockbdmap.h | 114 ++
sys/arch/epoc32/dev/epockbdvar.h | 50 +
sys/arch/epoc32/dev/etna.c | 455 ++++++++
sys/arch/epoc32/epoc32/autoconf.c | 74 +
sys/arch/epoc32/epoc32/clock.c | 58 +
sys/arch/epoc32/epoc32/epoc32_start.S | 256 ++++
sys/arch/epoc32/epoc32/external.c | 102 +
sys/arch/epoc32/epoc32/external_io.c | 199 +++
sys/arch/epoc32/epoc32/external_io_asm.S | 161 +++
sys/arch/epoc32/epoc32/internal.c | 82 +
sys/arch/epoc32/epoc32/intr.c | 58 +
sys/arch/epoc32/epoc32/machdep.c | 592 +++++++++++
sys/arch/epoc32/include/ansi.h | 3 +
sys/arch/epoc32/include/aout_machdep.h | 3 +
sys/arch/epoc32/include/asm.h | 3 +
sys/arch/epoc32/include/atomic.h | 3 +
sys/arch/epoc32/include/bootconfig.h | 58 +
sys/arch/epoc32/include/bootinfo.h | 65 +
sys/arch/epoc32/include/bswap.h | 3 +
sys/arch/epoc32/include/bus_defs.h | 3 +
sys/arch/epoc32/include/bus_funcs.h | 3 +
sys/arch/epoc32/include/cdefs.h | 3 +
sys/arch/epoc32/include/cpu.h | 3 +
sys/arch/epoc32/include/db_machdep.h | 3 +
sys/arch/epoc32/include/disklabel.h | 63 +
sys/arch/epoc32/include/elf_machdep.h | 3 +
sys/arch/epoc32/include/endian.h | 3 +
sys/arch/epoc32/include/endian_machdep.h | 3 +
sys/arch/epoc32/include/epoc32.h | 50 +
sys/arch/epoc32/include/fp.h | 3 +
sys/arch/epoc32/include/frame.h | 3 +
sys/arch/epoc32/include/int_const.h | 3 +
sys/arch/epoc32/include/int_fmtio.h | 3 +
sys/arch/epoc32/include/int_limits.h | 3 +
sys/arch/epoc32/include/int_mwgwtypes.h | 3 +
sys/arch/epoc32/include/int_types.h | 3 +
sys/arch/epoc32/include/intr.h | 113 ++
sys/arch/epoc32/include/limits.h | 3 +
sys/arch/epoc32/include/loadfile_machdep.h | 53 +
sys/arch/epoc32/include/lock.h | 3 +
sys/arch/epoc32/include/mcontext.h | 3 +
sys/arch/epoc32/include/mutex.h | 3 +
sys/arch/epoc32/include/param.h | 45 +
sys/arch/epoc32/include/pcb.h | 4 +
sys/arch/epoc32/include/pmap.h | 3 +
sys/arch/epoc32/include/pmc.h | 3 +
sys/arch/epoc32/include/proc.h | 3 +
sys/arch/epoc32/include/ptrace.h | 3 +
sys/arch/epoc32/include/reg.h | 3 +
sys/arch/epoc32/include/rwlock.h | 3 +
sys/arch/epoc32/include/signal.h | 3 +
sys/arch/epoc32/include/sysarch.h | 4 +
sys/arch/epoc32/include/trap.h | 3 +
sys/arch/epoc32/include/types.h | 8 +
sys/arch/epoc32/include/vmparam.h | 89 +
sys/arch/epoc32/include/wchar_limits.h | 3 +
sys/arch/epoc32/stand/Makefile | 7 +
sys/arch/epoc32/stand/Makefile.inc | 3 +
sys/arch/epoc32/stand/e32boot/Makefile | 7 +
sys/arch/epoc32/stand/e32boot/Makefile.inc | 34 +
sys/arch/epoc32/stand/e32boot/exe/Makefile | 71 +
sys/arch/epoc32/stand/e32boot/exe/e32boot.cpp | 407 +++++++
sys/arch/epoc32/stand/e32boot/exe/netbsd.cpp | 109 ++
sys/arch/epoc32/stand/e32boot/exe/version | 10 +
sys/arch/epoc32/stand/e32boot/include/e32boot.h | 38 +
sys/arch/epoc32/stand/e32boot/include/elf.h | 1226 +++++++++++++++++++++++
sys/arch/epoc32/stand/e32boot/include/netbsd.h | 63 +
sys/arch/epoc32/stand/e32boot/ldd/Makefile | 85 +
sys/arch/epoc32/stand/e32boot/ldd/cpu.cpp | 58 +
sys/arch/epoc32/stand/e32boot/ldd/cpu.h | 49 +
sys/arch/epoc32/stand/e32boot/ldd/e32boot.cpp | 511 +++++++++
sys/arch/epoc32/stand/e32boot/ldd/ekern.h | 83 +
sys/arch/epoc32/stand/e32boot/ldd/epoc32.cpp | 168 +++
sys/arch/epoc32/stand/e32boot/ldd/epoc32.h | 41 +
sys/arch/epoc32/windermere/README | 11 +
sys/arch/epoc32/windermere/files.windermere | 18 +
sys/arch/epoc32/windermere/windermere.c | 328 ++++++
sys/arch/epoc32/windermere/windermerereg.h | 141 ++
sys/arch/epoc32/windermere/windermerevar.h | 42 +
sys/arch/epoc32/windermere/wmcom.c | 922 +++++++++++++++++
sys/arch/epoc32/windermere/wmlcd.c | 315 +++++
sys/arch/epoc32/windermere/wmrtc.c | 126 ++
92 files changed, 8600 insertions(+), 0 deletions(-)
diffs (truncated from 8968 to 300 lines):
diff -r 06e2c7f5ccc0 -r 6b71c393cc8c sys/arch/epoc32/compile/Makefile
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/epoc32/compile/Makefile Sun Apr 28 12:11:25 2013 +0000
@@ -0,0 +1,3 @@
+# $NetBSD: Makefile,v 1.1 2013/04/28 12:11:25 kiyohara Exp $
+
+.include <bsd.prog.mk>
diff -r 06e2c7f5ccc0 -r 6b71c393cc8c sys/arch/epoc32/conf/GENERIC
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/epoc32/conf/GENERIC Sun Apr 28 12:11:25 2013 +0000
@@ -0,0 +1,198 @@
+# $NetBSD: GENERIC,v 1.1 2013/04/28 12:11:25 kiyohara Exp $
+#
+# GENERIC machine description file
+#
+# This machine description file is used to generate the default NetBSD
+# kernel. The generic kernel does not include all options, subsystems
+# and device drivers, but should be useful for most applications.
+#
+# The machine description file can be customised for your specific
+# machine to reduce the kernel size and improve its performance.
+#
+# For further information on compiling NetBSD kernels, see the config(8)
+# man page.
+#
+# For further information on hardware support for this architecture, see
+# the intro(4) man page. For further information about kernel options
+# for this architecture, see the options(4) man page. For an explanation
+# of each device driver in this file see the section 4 man page for the
+# device.
+
+include "arch/epoc32/conf/std.epoc32"
+
+#options INCLUDE_CONFIG_FILE # embed config file in kernel binary
+
+#ident "GENERIC-$Revision: 1.1 $"
+
+maxusers 32 # estimated number of users
+
+# CPU options
+options CPU_ARM7 # Series 5/Geofox one/Osaris
+options CPU_ARM7TDMI # Series 5mx/Revo/Revo+
+#options CPU_SA1100 # Series 7/netBook
+
+# Standard system options
+#options INSECURE # disable kernel security levels
+
+# File systems
+file-system FFS # UFS
+#file-system EXT2FS # second extended file system (linux)
+file-system MFS # memory file system
+file-system NFS # Network File System client
+file-system MSDOSFS # MS-DOS file system
+#file-system FDESC # /dev/fd
+file-system KERNFS # /kern
+file-system NULLFS # loopback file system
+file-system PTYFS # /dev/pts/N support
+file-system TMPFS # Efficient memory file-system
+
+# File system options
+#options QUOTA # legacy UFS quotas
+#options QUOTA2 # new, in-filesystem UFS quotas
+options FFS_EI # FFS Endian Independent support
+#options NFSSERVER
+options WAPBL # File system journaling support
+#options UFS_DIRHASH # UFS Large Directory Hashing - Experimental
+#options FFS_NO_SNAPSHOT # No FFS snapshot support
+#options EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
+ # immutable) behave as system flags.
+
+# Networking options
+options INET # IP + ICMP + TCP + UDP
+options INET6 # IPv6
+#options PPP_BSDCOMP # BSD-Compress compression support for PPP
+#options PPP_DEFLATE # Deflate compression support for PPP
+options PPP_FILTER # Active filter support for PPP (requires bpf)
+
+# Compatibility options
+#options COMPAT_09 # NetBSD 0.9,
+#options COMPAT_10 # NetBSD 1.0,
+#options COMPAT_11 # NetBSD 1.1,
+#options COMPAT_12 # NetBSD 1.2,
+#options COMPAT_13 # NetBSD 1.3,
+#options COMPAT_14 # NetBSD 1.4,
+#options COMPAT_15 # NetBSD 1.5,
+#options COMPAT_16 # NetBSD 1.6,
+#options COMPAT_20 # NetBSD 2.0,
+#options COMPAT_30 # NetBSD 3.0,
+#options COMPAT_40 # NetBSD 4.0,
+#options COMPAT_50 # NetBSD 5.0 compatibility.
+#options COMPAT_43 # and 4.3BSD
+#options TCP_COMPAT_42 # 4.2BSD TCP/IP bug compat. Not recommended.
+
+#options COMPAT_OSSAUDIO # OSS (Voxware) audio driver compatibility
+options COMPAT_BSDPTY # /dev/[pt]ty?? ptys.
+
+# Shared memory options
+#options SYSVMSG # System V-like message queues
+#options SYSVSEM # System V-like semaphores
+#options SYSVSHM # System V-like memory sharing
+
+# Loadable kernel module support
+#options MODULAR # new style module(7) framework
+
+#
+# wscons options
+#
+# builtin terminal emulations
+options WSEMUL_VT100
+# allocate a number of virtual screens at autoconfiguration time
+#options WSDISPLAY_DEFAULTSCREENS=2
+
+# compatibility to other console drivers
+options WSDISPLAY_COMPAT_PCVT # emulate some ioctls
+options WSDISPLAY_COMPAT_USL # wsconscfg VT handling
+options WSDISPLAY_COMPAT_RAWKBD # can get raw scancodes
+
+# Development and Debugging options
+
+#options DIAGNOSTIC # internal consistency checks
+#options DEBUG
+#options VERBOSE_INIT_ARM # verbose bootstraping messages
+options DDB # in-kernel debugger
+options DDB_HISTORY_SIZE=100 # Enable history editing in DDB
+#makeoptions DEBUG="-g" # compile full symbol table
+options SYMTAB_SPACE=500000
+
+
+# Kernel root file system and dump configuration.
+config netbsd root on ? type ?
+
+mainbus0 at root
+
+cpu0 at mainbus?
+
+internal0 at mainbus? base 0x80000000 # Internal Register Space
+external0 at mainbus?
+
+# SoC
+clpssoc0 at internal? # Cirrus CL-PS711x
+windermere0 at internal? # Windermere
+#saip0 at internal? # StrongARM SA-1100
+
+#options CONSPEED=115200 # EPOC use 115200bps
+
+# CL-PS711x Peripherals
+#clpsaudio* at clpssoc? # Audio
+clpscom* at clpssoc? # UART/IrDA
+clpslcd* at clpssoc? # LCD
+#clpspm* at clpssoc? # Power
+clpsrtc* at clpssoc? # RTC
+#clpsssi* at clpssoc? # SSI bus
+
+# Windermere Peripherals
+#wmaudio* at windermere? # Audio
+wmcom* at windermere? # IrDA/UART
+wmlcd* at windermere? # LCD
+#wmpm* at windermere? # Power
+wmrtc* at windermere? # RTC
+#wmssi* at clpssoc? # SSI bus
+
+# SA-1100 Peripherals
+#sacom* at saip? addr 0x80050000 size 0x24 intr 17 # Serial
+#saost* at saip? addr 0x90000000 size 0x20 #OS Timer
+
+wsdisplay* at clpslcd? console ?
+wsdisplay* at wmlcd? console ?
+
+epockbd* at clpssoc?
+epockbd* at windermere?
+#epockbd* at external? addr 0x10000030, 0x10000004
+wskbd* at epockbd?
+
+#spi* at clpsssi*
+#spi* at wmssi*
+#tp* at spi* # ADS7843 Touch screen
+
+#audio* at audio?
+
+# External devices
+etna* at external? # ETNA Controller
+pcmcia* at etna?
+
+wdc* at pcmcia? # CF
+atabus* at wdc? channel ?
+wd* at atabus? drive ? flags 0x0000
+
+
+# Pseudo-Devices
+
+# disk/mass storage pseudo-devices
+#pseudo-device md # memory disk device (ramdisk)
+#pseudo-device vnd # disk-like interface to files
+#options VND_COMPRESSION # compressed vnd(4)
+
+# network pseudo-devices
+#pseudo-device bpfilter # Berkeley packet filter
+pseudo-device loop # network loopback
+pseudo-device ppp # Point-to-Point Protocol
+pseudo-device sl # Serial Line IP
+
+# miscellaneous pseudo-devices
+pseudo-device pty # pseudo-terminals
+pseudo-device clockctl # user control of clock subsystem
+pseudo-device ksyms # /dev/ksyms
+
+# wscons pseudo-devices
+#pseudo-device wsmux # mouse & keyboard multiplexor
+#pseudo-device wsfont
diff -r 06e2c7f5ccc0 -r 6b71c393cc8c sys/arch/epoc32/conf/Makefile.epoc32.inc
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/epoc32/conf/Makefile.epoc32.inc Sun Apr 28 12:11:25 2013 +0000
@@ -0,0 +1,21 @@
+# $NetBSD: Makefile.epoc32.inc,v 1.1 2013/04/28 12:11:25 kiyohara Exp $
+
+MACHINE_ARCH= arm
+CPPFLAGS+= -D${MACHINE}
+
+SYSTEM_FIRST_OBJ= epoc32_start.o
+SYSTEM_FIRST_SFILE= ${THISARM}/epoc32/epoc32_start.S
+
+KERNEL_BASE_VIRT= $(LOADADDRESS)
+
+LINKFLAGS= -T ldscript
+
+EXTRA_CLEAN+= netbsd.map assym.d ldscript tmp
+
+netbsd: ldscript # XXX
+
+# generate ldscript from common template
+ldscript: ${THISARM}/conf/ldscript.epoc32 ${THISARM}/conf/Makefile.epoc32.inc Makefile
+ ${TOOL_SED} -e 's/@KERNEL_BASE_PHYS@/${KERNEL_BASE_PHYS}/' \
+ -e 's/@KERNEL_BASE_VIRT@/${KERNEL_BASE_VIRT}/' \
+ ${THISARM}/conf/ldscript.epoc32 > tmp && mv tmp $@
diff -r 06e2c7f5ccc0 -r 6b71c393cc8c sys/arch/epoc32/conf/files.epoc32
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/epoc32/conf/files.epoc32 Sun Apr 28 12:11:25 2013 +0000
@@ -0,0 +1,61 @@
+#
+# Psion Series5/5mx/Series7 and other EPOC specific configuration info
+#
+
+maxpartitions 16
+maxusers 2 8 64
+
+include "arch/arm/pic/files.pic"
+file arch/arm/arm32/irq_dispatch.S
+
+# Memory disk driver
+file dev/md_root.c memory_disk_hooks
+
+# Generic MD files
+file arch/epoc32/epoc32/autoconf.c
+file arch/epoc32/epoc32/machdep.c
+file arch/epoc32/epoc32/clock.c
+file arch/epoc32/epoc32/intr.c
+
+device internal { }: pic, pic_splfuncs
+attach internal at mainbus
+file arch/epoc32/epoc32/internal.c internal
+
+device external { }
+attach external at mainbus
+file arch/epoc32/epoc32/external.c external
+file arch/epoc32/epoc32/external_io.c external
+file arch/epoc32/epoc32/external_io_asm.S external
+
+device etna : pcmciabus
+attach etna at external
+file arch/epoc32/dev/etna.c etna
+
+include "arch/arm/clps711x/files.clps711x"
+include "arch/epoc32/windermere/files.windermere"
+include "arch/arm/conf/files.sa11x0"
+attach saip at internal with saip_internal
+
+device epockbd : wskbddev
+attach epockbd at clpssoc with epockbd_clpssoc
+attach epockbd at windermere with epockbd_windermere
+attach epockbd at external with epockbd_external
+file arch/epoc32/dev/epockbd.c epockbd needs-flag
+file arch/epoc32/dev/epockbd_clpssoc.c epockbd_clpssoc
+file arch/epoc32/dev/epockbd_windermere.c epockbd_windermere
+#file arch/epoc32/dev/epockbd_external.c epockbd_external
+
+file kern/subr_disk_mbr.c disk
+
+
+# Machine-independent ATA drivers
+include "dev/scsipi/files.scsipi" # required
+include "dev/ata/files.ata"
+
+# Power Management
+#include "dev/hpc/apm/files.apm"
+
+# PCMCIA drivers
+include "dev/pcmcia/files.pcmcia"
+
+include "arch/epoc32/conf/majors.epoc32"
diff -r 06e2c7f5ccc0 -r 6b71c393cc8c sys/arch/epoc32/conf/ldscript.epoc32
Home |
Main Index |
Thread Index |
Old Index