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