Compare commits

..

28 Commits

Author SHA1 Message Date
cvs2git
7dc3529ea4 This commit was manufactured by cvs2svn to create tag 'rtems-3-5-15'.
Sprout from master 1996-05-02 14:39:07 UTC Joel Sherrill <joel.sherrill@OARcorp.com> 'Updated version to 3.5.15.'
Cherrypick from master 1996-05-28 16:33:11 UTC Joel Sherrill <joel.sherrill@OARcorp.com> 'new file':
    c/src/exec/sapi/src/posixapi.c
Delete:
    c/build-tools/README
    c/build-tools/cklength.c
    c/build-tools/eolstrip.c
    c/build-tools/packhex.c
    c/build-tools/unhex.c
    c/src/exec/libcsupport/include/clockdrv.h
    c/src/exec/libcsupport/include/console.h
    c/src/exec/libcsupport/include/iosupp.h
    c/src/exec/libcsupport/include/ringbuf.h
    c/src/exec/libcsupport/include/rtems/assoc.h
    c/src/exec/libcsupport/include/rtems/error.h
    c/src/exec/libcsupport/include/rtems/libcsupport.h
    c/src/exec/libcsupport/include/rtems/libio.h
    c/src/exec/libcsupport/include/spurious.h
    c/src/exec/libcsupport/include/sys/utsname.h
    c/src/exec/libcsupport/include/timerdrv.h
    c/src/exec/libcsupport/include/vmeintr.h
    c/src/exec/libcsupport/src/README
    c/src/exec/libcsupport/src/__brk.c
    c/src/exec/libcsupport/src/__gettod.c
    c/src/exec/libcsupport/src/__times.c
    c/src/exec/libcsupport/src/assoc.c
    c/src/exec/libcsupport/src/error.c
    c/src/exec/libcsupport/src/hosterr.c
    c/src/exec/libcsupport/src/libio.c
    c/src/exec/libcsupport/src/malloc.c
    c/src/exec/libcsupport/src/newlibc.c
    c/src/exec/libcsupport/src/no_libc.c
    c/src/exec/libcsupport/src/unixlibc.c
    c/src/exec/libcsupport/src/utsname.c
    c/src/exec/posix/base/aio.h
    c/src/exec/posix/base/devctl.h
    c/src/exec/posix/base/intr.h
    c/src/exec/posix/base/limits.h
    c/src/exec/posix/base/mqueue.h
    c/src/exec/posix/base/pthread.h
    c/src/exec/posix/base/sched.h
    c/src/exec/posix/base/semaphore.h
    c/src/exec/posix/base/unistd.h
    c/src/exec/posix/headers/cancel.h
    c/src/exec/posix/headers/cond.h
    c/src/exec/posix/headers/condmp.h
    c/src/exec/posix/headers/intr.h
    c/src/exec/posix/headers/key.h
    c/src/exec/posix/headers/mqueue.h
    c/src/exec/posix/headers/mqueuemp.h
    c/src/exec/posix/headers/mutex.h
    c/src/exec/posix/headers/mutexmp.h
    c/src/exec/posix/headers/priority.h
    c/src/exec/posix/headers/pthread.h
    c/src/exec/posix/headers/pthreadmp.h
    c/src/exec/posix/headers/semaphore.h
    c/src/exec/posix/headers/semaphoremp.h
    c/src/exec/posix/headers/threadsup.h
    c/src/exec/posix/headers/time.h
    c/src/exec/posix/include/aio.h
    c/src/exec/posix/include/devctl.h
    c/src/exec/posix/include/intr.h
    c/src/exec/posix/include/limits.h
    c/src/exec/posix/include/mqueue.h
    c/src/exec/posix/include/pthread.h
    c/src/exec/posix/include/rtems/posix/cancel.h
    c/src/exec/posix/include/rtems/posix/cond.h
    c/src/exec/posix/include/rtems/posix/condmp.h
    c/src/exec/posix/include/rtems/posix/intr.h
    c/src/exec/posix/include/rtems/posix/key.h
    c/src/exec/posix/include/rtems/posix/mqueue.h
    c/src/exec/posix/include/rtems/posix/mqueuemp.h
    c/src/exec/posix/include/rtems/posix/mutex.h
    c/src/exec/posix/include/rtems/posix/mutexmp.h
    c/src/exec/posix/include/rtems/posix/priority.h
    c/src/exec/posix/include/rtems/posix/pthread.h
    c/src/exec/posix/include/rtems/posix/pthreadmp.h
    c/src/exec/posix/include/rtems/posix/semaphore.h
    c/src/exec/posix/include/rtems/posix/semaphoremp.h
    c/src/exec/posix/include/rtems/posix/threadsup.h
    c/src/exec/posix/include/rtems/posix/time.h
    c/src/exec/posix/include/sched.h
    c/src/exec/posix/include/semaphore.h
    c/src/exec/posix/include/sys/utsname.h
    c/src/exec/posix/include/unistd.h
    c/src/exec/posix/inline/cond.inl
    c/src/exec/posix/inline/intr.inl
    c/src/exec/posix/inline/key.inl
    c/src/exec/posix/inline/mqueue.inl
    c/src/exec/posix/inline/mutex.inl
    c/src/exec/posix/inline/priority.inl
    c/src/exec/posix/inline/pthread.inl
    c/src/exec/posix/inline/rtems/posix/cond.inl
    c/src/exec/posix/inline/rtems/posix/intr.inl
    c/src/exec/posix/inline/rtems/posix/key.inl
    c/src/exec/posix/inline/rtems/posix/mqueue.inl
    c/src/exec/posix/inline/rtems/posix/mutex.inl
    c/src/exec/posix/inline/rtems/posix/priority.inl
    c/src/exec/posix/inline/rtems/posix/pthread.inl
    c/src/exec/posix/inline/rtems/posix/semaphore.inl
    c/src/exec/posix/inline/semaphore.inl
    c/src/exec/posix/src/aio.c
    c/src/exec/posix/src/cancel.c
    c/src/exec/posix/src/cond.c
    c/src/exec/posix/src/devctl.c
    c/src/exec/posix/src/intr.c
    c/src/exec/posix/src/key.c
    c/src/exec/posix/src/mqueue.c
    c/src/exec/posix/src/mutex.c
    c/src/exec/posix/src/psignal.c
    c/src/exec/posix/src/pthread.c
    c/src/exec/posix/src/sched.c
    c/src/exec/posix/src/semaphore.c
    c/src/exec/posix/src/time.c
    c/src/exec/posix/src/types.c
    c/src/exec/posix/src/unistd.c
    c/src/exec/posix/src/utsname.c
    c/src/exec/posix/sys/utsname.h
    c/src/exec/rtems/include/rtems.h
    c/src/exec/rtems/include/rtems/rtems/asr.h
    c/src/exec/rtems/include/rtems/rtems/attr.h
    c/src/exec/rtems/include/rtems/rtems/clock.h
    c/src/exec/rtems/include/rtems/rtems/dpmem.h
    c/src/exec/rtems/include/rtems/rtems/event.h
    c/src/exec/rtems/include/rtems/rtems/eventmp.h
    c/src/exec/rtems/include/rtems/rtems/eventset.h
    c/src/exec/rtems/include/rtems/rtems/intr.h
    c/src/exec/rtems/include/rtems/rtems/message.h
    c/src/exec/rtems/include/rtems/rtems/modes.h
    c/src/exec/rtems/include/rtems/rtems/mp.h
    c/src/exec/rtems/include/rtems/rtems/msgmp.h
    c/src/exec/rtems/include/rtems/rtems/options.h
    c/src/exec/rtems/include/rtems/rtems/part.h
    c/src/exec/rtems/include/rtems/rtems/partmp.h
    c/src/exec/rtems/include/rtems/rtems/ratemon.h
    c/src/exec/rtems/include/rtems/rtems/region.h
    c/src/exec/rtems/include/rtems/rtems/regionmp.h
    c/src/exec/rtems/include/rtems/rtems/rtemsapi.h
    c/src/exec/rtems/include/rtems/rtems/sem.h
    c/src/exec/rtems/include/rtems/rtems/semmp.h
    c/src/exec/rtems/include/rtems/rtems/signal.h
    c/src/exec/rtems/include/rtems/rtems/signalmp.h
    c/src/exec/rtems/include/rtems/rtems/status.h
    c/src/exec/rtems/include/rtems/rtems/support.h
    c/src/exec/rtems/include/rtems/rtems/taskmp.h
    c/src/exec/rtems/include/rtems/rtems/tasks.h
    c/src/exec/rtems/include/rtems/rtems/timer.h
    c/src/exec/rtems/include/rtems/rtems/types.h
    c/src/exec/rtems/inline/rtems/rtems/asr.inl
    c/src/exec/rtems/inline/rtems/rtems/attr.inl
    c/src/exec/rtems/inline/rtems/rtems/dpmem.inl
    c/src/exec/rtems/inline/rtems/rtems/event.inl
    c/src/exec/rtems/inline/rtems/rtems/eventset.inl
    c/src/exec/rtems/inline/rtems/rtems/message.inl
    c/src/exec/rtems/inline/rtems/rtems/modes.inl
    c/src/exec/rtems/inline/rtems/rtems/options.inl
    c/src/exec/rtems/inline/rtems/rtems/part.inl
    c/src/exec/rtems/inline/rtems/rtems/ratemon.inl
    c/src/exec/rtems/inline/rtems/rtems/region.inl
    c/src/exec/rtems/inline/rtems/rtems/sem.inl
    c/src/exec/rtems/inline/rtems/rtems/status.inl
    c/src/exec/rtems/inline/rtems/rtems/support.inl
    c/src/exec/rtems/inline/rtems/rtems/tasks.inl
    c/src/exec/rtems/inline/rtems/rtems/timer.inl
    c/src/exec/rtems/macros/rtems/rtems/asr.inl
    c/src/exec/rtems/macros/rtems/rtems/attr.inl
    c/src/exec/rtems/macros/rtems/rtems/dpmem.inl
    c/src/exec/rtems/macros/rtems/rtems/event.inl
    c/src/exec/rtems/macros/rtems/rtems/eventset.inl
    c/src/exec/rtems/macros/rtems/rtems/message.inl
    c/src/exec/rtems/macros/rtems/rtems/modes.inl
    c/src/exec/rtems/macros/rtems/rtems/options.inl
    c/src/exec/rtems/macros/rtems/rtems/part.inl
    c/src/exec/rtems/macros/rtems/rtems/ratemon.inl
    c/src/exec/rtems/macros/rtems/rtems/region.inl
    c/src/exec/rtems/macros/rtems/rtems/sem.inl
    c/src/exec/rtems/macros/rtems/rtems/status.inl
    c/src/exec/rtems/macros/rtems/rtems/support.inl
    c/src/exec/rtems/macros/rtems/rtems/tasks.inl
    c/src/exec/rtems/macros/rtems/rtems/timer.inl
    c/src/exec/rtems/src/rtclock.c
    c/src/exec/rtems/src/rtemstimer.c
    c/src/exec/sapi/headers/confdefs.h
    c/src/exec/sapi/include/confdefs.h
    c/src/exec/sapi/include/rtems/config.h
    c/src/exec/sapi/include/rtems/directives.h
    c/src/exec/sapi/include/rtems/extension.h
    c/src/exec/sapi/include/rtems/fatal.h
    c/src/exec/sapi/include/rtems/init.h
    c/src/exec/sapi/include/rtems/io.h
    c/src/exec/sapi/include/rtems/mptables.h
    c/src/exec/sapi/include/rtems/sptables.h
    c/src/exec/sapi/inline/rtems/extension.inl
    c/src/exec/sapi/macros/rtems/extension.inl
    c/src/exec/sapi/src/exinit.c
    c/src/exec/score/cpu/hppa1.1/cpu.c
    c/src/exec/score/cpu/hppa1.1/cpu.h
    c/src/exec/score/cpu/hppa1.1/cpu_asm.h
    c/src/exec/score/cpu/hppa1.1/cpu_asm.s
    c/src/exec/score/cpu/hppa1.1/hppa.h
    c/src/exec/score/cpu/hppa1.1/hppatypes.h
    c/src/exec/score/cpu/hppa1.1/rtems.s
    c/src/exec/score/cpu/powerpc/README
    c/src/exec/score/cpu/powerpc/TODO
    c/src/exec/score/cpu/powerpc/cpu.c
    c/src/exec/score/cpu/powerpc/cpu.h
    c/src/exec/score/cpu/powerpc/cpu_asm.s
    c/src/exec/score/cpu/powerpc/irq_stub.s
    c/src/exec/score/cpu/powerpc/ppc.h
    c/src/exec/score/cpu/powerpc/ppctypes.h
    c/src/exec/score/cpu/powerpc/rtems.s
    c/src/exec/score/include/rtems/debug.h
    c/src/exec/score/include/rtems/score/address.h
    c/src/exec/score/include/rtems/score/apiext.h
    c/src/exec/score/include/rtems/score/bitfield.h
    c/src/exec/score/include/rtems/score/chain.h
    c/src/exec/score/include/rtems/score/context.h
    c/src/exec/score/include/rtems/score/copyrt.h
    c/src/exec/score/include/rtems/score/coremsg.h
    c/src/exec/score/include/rtems/score/coremutex.h
    c/src/exec/score/include/rtems/score/coresem.h
    c/src/exec/score/include/rtems/score/heap.h
    c/src/exec/score/include/rtems/score/interr.h
    c/src/exec/score/include/rtems/score/isr.h
    c/src/exec/score/include/rtems/score/mpci.h
    c/src/exec/score/include/rtems/score/mppkt.h
    c/src/exec/score/include/rtems/score/object.h
    c/src/exec/score/include/rtems/score/objectmp.h
    c/src/exec/score/include/rtems/score/priority.h
    c/src/exec/score/include/rtems/score/stack.h
    c/src/exec/score/include/rtems/score/states.h
    c/src/exec/score/include/rtems/score/sysstate.h
    c/src/exec/score/include/rtems/score/thread.h
    c/src/exec/score/include/rtems/score/threadmp.h
    c/src/exec/score/include/rtems/score/threadq.h
    c/src/exec/score/include/rtems/score/tod.h
    c/src/exec/score/include/rtems/score/tqdata.h
    c/src/exec/score/include/rtems/score/userext.h
    c/src/exec/score/include/rtems/score/watchdog.h
    c/src/exec/score/include/rtems/score/wkspace.h
    c/src/exec/score/include/rtems/system.h
    c/src/exec/score/inline/rtems/score/address.inl
    c/src/exec/score/inline/rtems/score/chain.inl
    c/src/exec/score/inline/rtems/score/coremsg.inl
    c/src/exec/score/inline/rtems/score/coremutex.inl
    c/src/exec/score/inline/rtems/score/coresem.inl
    c/src/exec/score/inline/rtems/score/heap.inl
    c/src/exec/score/inline/rtems/score/isr.inl
    c/src/exec/score/inline/rtems/score/mppkt.inl
    c/src/exec/score/inline/rtems/score/object.inl
    c/src/exec/score/inline/rtems/score/objectmp.inl
    c/src/exec/score/inline/rtems/score/priority.inl
    c/src/exec/score/inline/rtems/score/stack.inl
    c/src/exec/score/inline/rtems/score/states.inl
    c/src/exec/score/inline/rtems/score/sysstate.inl
    c/src/exec/score/inline/rtems/score/thread.inl
    c/src/exec/score/inline/rtems/score/threadmp.inl
    c/src/exec/score/inline/rtems/score/tod.inl
    c/src/exec/score/inline/rtems/score/tqdata.inl
    c/src/exec/score/inline/rtems/score/userext.inl
    c/src/exec/score/inline/rtems/score/watchdog.inl
    c/src/exec/score/inline/rtems/score/wkspace.inl
    c/src/exec/score/macros/rtems/score/README
    c/src/exec/score/macros/rtems/score/address.inl
    c/src/exec/score/macros/rtems/score/chain.inl
    c/src/exec/score/macros/rtems/score/coremsg.inl
    c/src/exec/score/macros/rtems/score/coremutex.inl
    c/src/exec/score/macros/rtems/score/coresem.inl
    c/src/exec/score/macros/rtems/score/heap.inl
    c/src/exec/score/macros/rtems/score/isr.inl
    c/src/exec/score/macros/rtems/score/mppkt.inl
    c/src/exec/score/macros/rtems/score/object.inl
    c/src/exec/score/macros/rtems/score/objectmp.inl
    c/src/exec/score/macros/rtems/score/priority.inl
    c/src/exec/score/macros/rtems/score/stack.inl
    c/src/exec/score/macros/rtems/score/states.inl
    c/src/exec/score/macros/rtems/score/sysstate.inl
    c/src/exec/score/macros/rtems/score/thread.inl
    c/src/exec/score/macros/rtems/score/threadmp.inl
    c/src/exec/score/macros/rtems/score/tod.inl
    c/src/exec/score/macros/rtems/score/tqdata.inl
    c/src/exec/score/macros/rtems/score/userext.inl
    c/src/exec/score/macros/rtems/score/watchdog.inl
    c/src/exec/score/macros/rtems/score/wkspace.inl
    c/src/exec/score/src/coretod.c
    c/src/exec/score/tools/hppa1.1/genoffsets.c
    c/src/lib/include/rtems/assoc.h
    c/src/lib/include/rtems/error.h
    c/src/lib/include/rtems/libcsupport.h
    c/src/lib/include/rtems/libio.h
    c/src/lib/include/sys/utsname.h
    c/src/lib/libbsp/hppa1.1/simhppa/include/bsp.h
    c/src/lib/libbsp/hppa1.1/simhppa/include/coverhd.h
    c/src/lib/libbsp/hppa1.1/simhppa/include/ttydrv.h
    c/src/lib/libbsp/hppa1.1/simhppa/shmsupp/README
    c/src/lib/libbsp/hppa1.1/simhppa/shmsupp/addrconv.c
    c/src/lib/libbsp/hppa1.1/simhppa/shmsupp/getcfg.c
    c/src/lib/libbsp/hppa1.1/simhppa/shmsupp/intr.c
    c/src/lib/libbsp/hppa1.1/simhppa/shmsupp/lock.c
    c/src/lib/libbsp/hppa1.1/simhppa/shmsupp/mpisr.c
    c/src/lib/libbsp/hppa1.1/simhppa/startup/bspclean.c
    c/src/lib/libbsp/hppa1.1/simhppa/startup/bspstart.c
    c/src/lib/libbsp/hppa1.1/simhppa/startup/setvec.c
    c/src/lib/libbsp/hppa1.1/simhppa/times
    c/src/lib/libbsp/hppa1.1/simhppa/tools/print_dump.c
    c/src/lib/libbsp/hppa1.1/simhppa/tty/tty.c
    c/src/lib/libbsp/powerpc/papyrus/README
    c/src/lib/libbsp/powerpc/papyrus/dlentry/dlentry.s
    c/src/lib/libbsp/powerpc/papyrus/flashentry/flashentry.s
    c/src/lib/libbsp/powerpc/papyrus/include/bsp.h
    c/src/lib/libbsp/powerpc/papyrus/include/coverhd.h
    c/src/lib/libbsp/powerpc/papyrus/startup/bspclean.c
    c/src/lib/libbsp/powerpc/papyrus/startup/bspstart.c
    c/src/lib/libbsp/powerpc/papyrus/startup/linkcmds
    c/src/lib/libbsp/powerpc/papyrus/startup/setvec.c
    c/src/lib/libbsp/powerpc/papyrus/times
    c/src/lib/libc/utsname.c
    c/src/lib/libcpu/hppa1.1/clock/clock.c
    c/src/lib/libcpu/hppa1.1/runway/runway.h
    c/src/lib/libcpu/hppa1.1/semaphore/semaphore.c
    c/src/lib/libcpu/hppa1.1/semaphore/semaphore.h
    c/src/lib/libcpu/hppa1.1/timer/timer.c
    c/src/lib/libcpu/powerpc/README
    c/src/lib/libcpu/powerpc/ppc403/README
    c/src/lib/libcpu/powerpc/ppc403/clock/clock.c
    c/src/lib/libcpu/powerpc/ppc403/console/console.c
    c/src/lib/libcpu/powerpc/ppc403/timer/timer.c
    c/src/lib/libcpu/powerpc/ppc403/vectors/README
    c/src/lib/libcpu/powerpc/ppc403/vectors/align_h.s
    c/src/lib/libcpu/powerpc/ppc403/vectors/vectors.s
    c/src/lib/libcpu/sparc/include/erc32.h
    c/src/libchip/shmdr/README
    c/src/libchip/shmdr/addlq.c
    c/src/libchip/shmdr/cnvpkt.c
    c/src/libchip/shmdr/dump.c
    c/src/libchip/shmdr/fatal.c
    c/src/libchip/shmdr/getlq.c
    c/src/libchip/shmdr/getpkt.c
    c/src/libchip/shmdr/init.c
    c/src/libchip/shmdr/initlq.c
    c/src/libchip/shmdr/intr.c
    c/src/libchip/shmdr/mpci.h
    c/src/libchip/shmdr/mpisr.c
    c/src/libchip/shmdr/poll.c
    c/src/libchip/shmdr/receive.c
    c/src/libchip/shmdr/retpkt.c
    c/src/libchip/shmdr/send.c
    c/src/libchip/shmdr/setckvec.c
    c/src/libchip/shmdr/shm_driver.h
    c/src/optman/rtems/no-dpmem.c
    c/src/optman/rtems/no-event.c
    c/src/optman/rtems/no-mp.c
    c/src/optman/rtems/no-msg.c
    c/src/optman/rtems/no-part.c
    c/src/optman/rtems/no-region.c
    c/src/optman/rtems/no-rtmon.c
    c/src/optman/rtems/no-sem.c
    c/src/optman/rtems/no-signal.c
    c/src/optman/rtems/no-timer.c
    c/src/optman/sapi/no-ext.c
    c/src/optman/sapi/no-io.c
    cpukit/libcsupport/include/clockdrv.h
    cpukit/libcsupport/include/console.h
    cpukit/libcsupport/include/iosupp.h
    cpukit/libcsupport/include/ringbuf.h
    cpukit/libcsupport/include/rtems/assoc.h
    cpukit/libcsupport/include/rtems/error.h
    cpukit/libcsupport/include/rtems/libcsupport.h
    cpukit/libcsupport/include/rtems/libio.h
    cpukit/libcsupport/include/spurious.h
    cpukit/libcsupport/include/sys/utsname.h
    cpukit/libcsupport/include/timerdrv.h
    cpukit/libcsupport/include/vmeintr.h
    cpukit/libcsupport/src/README
    cpukit/libcsupport/src/__brk.c
    cpukit/libcsupport/src/__gettod.c
    cpukit/libcsupport/src/__times.c
    cpukit/libcsupport/src/assoc.c
    cpukit/libcsupport/src/error.c
    cpukit/libcsupport/src/hosterr.c
    cpukit/libcsupport/src/libio.c
    cpukit/libcsupport/src/malloc.c
    cpukit/libcsupport/src/newlibc.c
    cpukit/libcsupport/src/no_libc.c
    cpukit/libcsupport/src/unixlibc.c
    cpukit/libcsupport/src/utsname.c
    cpukit/libmisc/README
    cpukit/libmisc/monitor/README
    cpukit/libmisc/monitor/mon-command.c
    cpukit/libmisc/monitor/mon-config.c
    cpukit/libmisc/monitor/mon-dname.c
    cpukit/libmisc/monitor/mon-driver.c
    cpukit/libmisc/monitor/mon-extension.c
    cpukit/libmisc/monitor/mon-itask.c
    cpukit/libmisc/monitor/mon-manager.c
    cpukit/libmisc/monitor/mon-monitor.c
    cpukit/libmisc/monitor/mon-mpci.c
    cpukit/libmisc/monitor/mon-object.c
    cpukit/libmisc/monitor/mon-prmisc.c
    cpukit/libmisc/monitor/mon-queue.c
    cpukit/libmisc/monitor/mon-server.c
    cpukit/libmisc/monitor/mon-symbols.c
    cpukit/libmisc/monitor/mon-task.c
    cpukit/libmisc/monitor/monitor.h
    cpukit/libmisc/monitor/symbols.h
    cpukit/libmisc/stackchk/README
    cpukit/libmisc/stackchk/check.c
    cpukit/libmisc/stackchk/internal.h
    cpukit/libmisc/stackchk/stackchk.h
    cpukit/posix/include/aio.h
    cpukit/posix/include/devctl.h
    cpukit/posix/include/intr.h
    cpukit/posix/include/mqueue.h
    cpukit/posix/include/rtems/posix/cancel.h
    cpukit/posix/include/rtems/posix/cond.h
    cpukit/posix/include/rtems/posix/condmp.h
    cpukit/posix/include/rtems/posix/intr.h
    cpukit/posix/include/rtems/posix/key.h
    cpukit/posix/include/rtems/posix/mqueue.h
    cpukit/posix/include/rtems/posix/mqueuemp.h
    cpukit/posix/include/rtems/posix/mutex.h
    cpukit/posix/include/rtems/posix/mutexmp.h
    cpukit/posix/include/rtems/posix/priority.h
    cpukit/posix/include/rtems/posix/pthread.h
    cpukit/posix/include/rtems/posix/pthreadmp.h
    cpukit/posix/include/rtems/posix/semaphore.h
    cpukit/posix/include/rtems/posix/semaphoremp.h
    cpukit/posix/include/rtems/posix/threadsup.h
    cpukit/posix/include/rtems/posix/time.h
    cpukit/posix/include/sched.h
    cpukit/posix/include/semaphore.h
    cpukit/posix/inline/rtems/posix/cond.inl
    cpukit/posix/inline/rtems/posix/intr.inl
    cpukit/posix/inline/rtems/posix/key.inl
    cpukit/posix/inline/rtems/posix/mqueue.inl
    cpukit/posix/inline/rtems/posix/mutex.inl
    cpukit/posix/inline/rtems/posix/priority.inl
    cpukit/posix/inline/rtems/posix/pthread.inl
    cpukit/posix/inline/rtems/posix/semaphore.inl
    cpukit/posix/src/aio.c
    cpukit/posix/src/cancel.c
    cpukit/posix/src/cond.c
    cpukit/posix/src/devctl.c
    cpukit/posix/src/intr.c
    cpukit/posix/src/key.c
    cpukit/posix/src/mqueue.c
    cpukit/posix/src/mutex.c
    cpukit/posix/src/psignal.c
    cpukit/posix/src/pthread.c
    cpukit/posix/src/sched.c
    cpukit/posix/src/semaphore.c
    cpukit/posix/src/time.c
    cpukit/posix/src/types.c
    cpukit/rtems/include/rtems.h
    cpukit/rtems/include/rtems/rtems/asr.h
    cpukit/rtems/include/rtems/rtems/attr.h
    cpukit/rtems/include/rtems/rtems/clock.h
    cpukit/rtems/include/rtems/rtems/dpmem.h
    cpukit/rtems/include/rtems/rtems/event.h
    cpukit/rtems/include/rtems/rtems/eventmp.h
    cpukit/rtems/include/rtems/rtems/eventset.h
    cpukit/rtems/include/rtems/rtems/intr.h
    cpukit/rtems/include/rtems/rtems/message.h
    cpukit/rtems/include/rtems/rtems/modes.h
    cpukit/rtems/include/rtems/rtems/mp.h
    cpukit/rtems/include/rtems/rtems/msgmp.h
    cpukit/rtems/include/rtems/rtems/options.h
    cpukit/rtems/include/rtems/rtems/part.h
    cpukit/rtems/include/rtems/rtems/partmp.h
    cpukit/rtems/include/rtems/rtems/ratemon.h
    cpukit/rtems/include/rtems/rtems/region.h
    cpukit/rtems/include/rtems/rtems/regionmp.h
    cpukit/rtems/include/rtems/rtems/rtemsapi.h
    cpukit/rtems/include/rtems/rtems/sem.h
    cpukit/rtems/include/rtems/rtems/semmp.h
    cpukit/rtems/include/rtems/rtems/signal.h
    cpukit/rtems/include/rtems/rtems/signalmp.h
    cpukit/rtems/include/rtems/rtems/status.h
    cpukit/rtems/include/rtems/rtems/support.h
    cpukit/rtems/include/rtems/rtems/taskmp.h
    cpukit/rtems/include/rtems/rtems/tasks.h
    cpukit/rtems/include/rtems/rtems/timer.h
    cpukit/rtems/include/rtems/rtems/types.h
    cpukit/rtems/inline/rtems/rtems/asr.inl
    cpukit/rtems/inline/rtems/rtems/attr.inl
    cpukit/rtems/inline/rtems/rtems/dpmem.inl
    cpukit/rtems/inline/rtems/rtems/event.inl
    cpukit/rtems/inline/rtems/rtems/eventset.inl
    cpukit/rtems/inline/rtems/rtems/message.inl
    cpukit/rtems/inline/rtems/rtems/modes.inl
    cpukit/rtems/inline/rtems/rtems/options.inl
    cpukit/rtems/inline/rtems/rtems/part.inl
    cpukit/rtems/inline/rtems/rtems/ratemon.inl
    cpukit/rtems/inline/rtems/rtems/region.inl
    cpukit/rtems/inline/rtems/rtems/sem.inl
    cpukit/rtems/inline/rtems/rtems/status.inl
    cpukit/rtems/inline/rtems/rtems/support.inl
    cpukit/rtems/inline/rtems/rtems/tasks.inl
    cpukit/rtems/inline/rtems/rtems/timer.inl
    cpukit/rtems/macros/rtems/rtems/asr.inl
    cpukit/rtems/macros/rtems/rtems/attr.inl
    cpukit/rtems/macros/rtems/rtems/dpmem.inl
    cpukit/rtems/macros/rtems/rtems/event.inl
    cpukit/rtems/macros/rtems/rtems/eventset.inl
    cpukit/rtems/macros/rtems/rtems/message.inl
    cpukit/rtems/macros/rtems/rtems/modes.inl
    cpukit/rtems/macros/rtems/rtems/options.inl
    cpukit/rtems/macros/rtems/rtems/part.inl
    cpukit/rtems/macros/rtems/rtems/ratemon.inl
    cpukit/rtems/macros/rtems/rtems/region.inl
    cpukit/rtems/macros/rtems/rtems/sem.inl
    cpukit/rtems/macros/rtems/rtems/status.inl
    cpukit/rtems/macros/rtems/rtems/support.inl
    cpukit/rtems/macros/rtems/rtems/tasks.inl
    cpukit/rtems/macros/rtems/rtems/timer.inl
    cpukit/rtems/src/dpmem.c
    cpukit/rtems/src/event.c
    cpukit/rtems/src/eventmp.c
    cpukit/rtems/src/intr.c
    cpukit/rtems/src/mp.c
    cpukit/rtems/src/msg.c
    cpukit/rtems/src/msgmp.c
    cpukit/rtems/src/part.c
    cpukit/rtems/src/partmp.c
    cpukit/rtems/src/ratemon.c
    cpukit/rtems/src/region.c
    cpukit/rtems/src/regionmp.c
    cpukit/rtems/src/rtclock.c
    cpukit/rtems/src/rtemstimer.c
    cpukit/rtems/src/sem.c
    cpukit/rtems/src/semmp.c
    cpukit/rtems/src/signal.c
    cpukit/rtems/src/signalmp.c
    cpukit/rtems/src/taskmp.c
    cpukit/rtems/src/tasks.c
    cpukit/sapi/include/confdefs.h
    cpukit/sapi/include/rtems/config.h
    cpukit/sapi/include/rtems/extension.h
    cpukit/sapi/include/rtems/fatal.h
    cpukit/sapi/include/rtems/init.h
    cpukit/sapi/include/rtems/io.h
    cpukit/sapi/include/rtems/mptables.h
    cpukit/sapi/inline/rtems/extension.inl
    cpukit/sapi/macros/rtems/extension.inl
    cpukit/sapi/src/debug.c
    cpukit/sapi/src/exinit.c
    cpukit/sapi/src/extension.c
    cpukit/sapi/src/fatal.c
    cpukit/sapi/src/io.c
    cpukit/sapi/src/rtemsapi.c
    cpukit/score/cpu/hppa1.1/cpu.c
    cpukit/score/cpu/i386/asm.h
    cpukit/score/cpu/i386/cpu.c
    cpukit/score/cpu/i386/rtems/asm.h
    cpukit/score/cpu/i960/asm.h
    cpukit/score/cpu/i960/cpu.c
    cpukit/score/cpu/m68k/asm.h
    cpukit/score/cpu/m68k/cpu.c
    cpukit/score/cpu/m68k/m68302.h
    cpukit/score/cpu/m68k/m68360.h
    cpukit/score/cpu/m68k/qsm.h
    cpukit/score/cpu/m68k/rtems/asm.h
    cpukit/score/cpu/m68k/rtems/m68k/m68302.h
    cpukit/score/cpu/m68k/rtems/m68k/m68360.h
    cpukit/score/cpu/m68k/rtems/m68k/qsm.h
    cpukit/score/cpu/m68k/rtems/m68k/sim.h
    cpukit/score/cpu/m68k/sim.h
    cpukit/score/cpu/no_cpu/asm.h
    cpukit/score/cpu/no_cpu/cpu.c
    cpukit/score/cpu/no_cpu/cpu_asm.c
    cpukit/score/cpu/no_cpu/rtems/asm.h
    cpukit/score/cpu/sparc/README
    cpukit/score/cpu/sparc/asm.h
    cpukit/score/cpu/sparc/cpu.c
    cpukit/score/cpu/sparc/rtems/asm.h
    cpukit/score/cpu/unix/cpu.c
    cpukit/score/include/rtems/debug.h
    cpukit/score/include/rtems/score/address.h
    cpukit/score/include/rtems/score/apiext.h
    cpukit/score/include/rtems/score/bitfield.h
    cpukit/score/include/rtems/score/chain.h
    cpukit/score/include/rtems/score/context.h
    cpukit/score/include/rtems/score/copyrt.h
    cpukit/score/include/rtems/score/coremsg.h
    cpukit/score/include/rtems/score/coremutex.h
    cpukit/score/include/rtems/score/coresem.h
    cpukit/score/include/rtems/score/heap.h
    cpukit/score/include/rtems/score/interr.h
    cpukit/score/include/rtems/score/isr.h
    cpukit/score/include/rtems/score/mpci.h
    cpukit/score/include/rtems/score/mppkt.h
    cpukit/score/include/rtems/score/object.h
    cpukit/score/include/rtems/score/objectmp.h
    cpukit/score/include/rtems/score/priority.h
    cpukit/score/include/rtems/score/stack.h
    cpukit/score/include/rtems/score/states.h
    cpukit/score/include/rtems/score/sysstate.h
    cpukit/score/include/rtems/score/thread.h
    cpukit/score/include/rtems/score/threadmp.h
    cpukit/score/include/rtems/score/threadq.h
    cpukit/score/include/rtems/score/tod.h
    cpukit/score/include/rtems/score/tqdata.h
    cpukit/score/include/rtems/score/userext.h
    cpukit/score/include/rtems/score/watchdog.h
    cpukit/score/include/rtems/score/wkspace.h
    cpukit/score/include/rtems/system.h
    cpukit/score/inline/rtems/score/address.inl
    cpukit/score/inline/rtems/score/chain.inl
    cpukit/score/inline/rtems/score/coremsg.inl
    cpukit/score/inline/rtems/score/coremutex.inl
    cpukit/score/inline/rtems/score/coresem.inl
    cpukit/score/inline/rtems/score/heap.inl
    cpukit/score/inline/rtems/score/isr.inl
    cpukit/score/inline/rtems/score/mppkt.inl
    cpukit/score/inline/rtems/score/object.inl
    cpukit/score/inline/rtems/score/objectmp.inl
    cpukit/score/inline/rtems/score/priority.inl
    cpukit/score/inline/rtems/score/stack.inl
    cpukit/score/inline/rtems/score/states.inl
    cpukit/score/inline/rtems/score/sysstate.inl
    cpukit/score/inline/rtems/score/thread.inl
    cpukit/score/inline/rtems/score/threadmp.inl
    cpukit/score/inline/rtems/score/tod.inl
    cpukit/score/inline/rtems/score/tqdata.inl
    cpukit/score/inline/rtems/score/userext.inl
    cpukit/score/inline/rtems/score/watchdog.inl
    cpukit/score/inline/rtems/score/wkspace.inl
    cpukit/score/macros/README
    cpukit/score/macros/rtems/score/README
    cpukit/score/macros/rtems/score/address.inl
    cpukit/score/macros/rtems/score/chain.inl
    cpukit/score/macros/rtems/score/coremsg.inl
    cpukit/score/macros/rtems/score/coremutex.inl
    cpukit/score/macros/rtems/score/coresem.inl
    cpukit/score/macros/rtems/score/heap.inl
    cpukit/score/macros/rtems/score/isr.inl
    cpukit/score/macros/rtems/score/mppkt.inl
    cpukit/score/macros/rtems/score/object.inl
    cpukit/score/macros/rtems/score/objectmp.inl
    cpukit/score/macros/rtems/score/priority.inl
    cpukit/score/macros/rtems/score/stack.inl
    cpukit/score/macros/rtems/score/states.inl
    cpukit/score/macros/rtems/score/sysstate.inl
    cpukit/score/macros/rtems/score/thread.inl
    cpukit/score/macros/rtems/score/threadmp.inl
    cpukit/score/macros/rtems/score/tod.inl
    cpukit/score/macros/rtems/score/tqdata.inl
    cpukit/score/macros/rtems/score/userext.inl
    cpukit/score/macros/rtems/score/watchdog.inl
    cpukit/score/macros/rtems/score/wkspace.inl
    cpukit/score/src/apiext.c
    cpukit/score/src/chain.c
    cpukit/score/src/coremsg.c
    cpukit/score/src/coremutex.c
    cpukit/score/src/coresem.c
    cpukit/score/src/coretod.c
    cpukit/score/src/heap.c
    cpukit/score/src/interr.c
    cpukit/score/src/isr.c
    cpukit/score/src/mpci.c
    cpukit/score/src/object.c
    cpukit/score/src/objectmp.c
    cpukit/score/src/thread.c
    cpukit/score/src/threadmp.c
    cpukit/score/src/threadq.c
    cpukit/score/src/userext.c
    cpukit/score/src/watchdog.c
    cpukit/score/src/wkspace.c
    testsuites/README
    testsuites/libtests/README
    testsuites/libtests/stackchk/blow.c
    testsuites/libtests/stackchk/init.c
    testsuites/libtests/stackchk/stackchk.scn
    testsuites/libtests/stackchk/system.h
    testsuites/libtests/stackchk/task1.c
    testsuites/mptests/README
    testsuites/mptests/mp01/init.c
    testsuites/mptests/mp01/node1/mp01.doc
    testsuites/mptests/mp01/node1/mp01.scn
    testsuites/mptests/mp01/node2/mp01.doc
    testsuites/mptests/mp01/node2/mp01.scn
    testsuites/mptests/mp01/system.h
    testsuites/mptests/mp01/task1.c
    testsuites/mptests/mp02/init.c
    testsuites/mptests/mp02/node1/mp02.doc
    testsuites/mptests/mp02/node1/mp02.scn
    testsuites/mptests/mp02/node2/mp02.doc
    testsuites/mptests/mp02/node2/mp02.scn
    testsuites/mptests/mp02/system.h
    testsuites/mptests/mp02/task1.c
    testsuites/mptests/mp03/delay.c
    testsuites/mptests/mp03/init.c
    testsuites/mptests/mp03/node1/mp03.doc
    testsuites/mptests/mp03/node1/mp03.scn
    testsuites/mptests/mp03/node2/mp03.doc
    testsuites/mptests/mp03/node2/mp03.scn
    testsuites/mptests/mp03/system.h
    testsuites/mptests/mp03/task1.c
    testsuites/mptests/mp04/init.c
    testsuites/mptests/mp04/node1/mp04.doc
    testsuites/mptests/mp04/node1/mp04.scn
    testsuites/mptests/mp04/node2/mp04.doc
    testsuites/mptests/mp04/node2/mp04.scn
    testsuites/mptests/mp04/system.h
    testsuites/mptests/mp04/task1.c
    testsuites/mptests/mp05/asr.c
    testsuites/mptests/mp05/init.c
    testsuites/mptests/mp05/node1/mp05.doc
    testsuites/mptests/mp05/node1/mp05.scn
    testsuites/mptests/mp05/node2/mp05.doc
    testsuites/mptests/mp05/node2/mp05.scn
    testsuites/mptests/mp05/system.h
    testsuites/mptests/mp05/task1.c
    testsuites/mptests/mp06/init.c
    testsuites/mptests/mp06/node1/mp06.doc
    testsuites/mptests/mp06/node1/mp06.scn
    testsuites/mptests/mp06/node2/mp06.doc
    testsuites/mptests/mp06/node2/mp06.scn
    testsuites/mptests/mp06/system.h
    testsuites/mptests/mp06/task1.c
    testsuites/mptests/mp07/init.c
    testsuites/mptests/mp07/node1/mp07.doc
    testsuites/mptests/mp07/node1/mp07.scn
    testsuites/mptests/mp07/node2/mp07.doc
    testsuites/mptests/mp07/node2/mp07.scn
    testsuites/mptests/mp07/system.h
    testsuites/mptests/mp07/task1.c
    testsuites/mptests/mp08/init.c
    testsuites/mptests/mp08/node1/mp08.doc
    testsuites/mptests/mp08/node1/mp08.scn
    testsuites/mptests/mp08/node2/mp08.doc
    testsuites/mptests/mp08/node2/mp08.scn
    testsuites/mptests/mp08/system.h
    testsuites/mptests/mp08/task1.c
    testsuites/mptests/mp09/init.c
    testsuites/mptests/mp09/node1/mp09.doc
    testsuites/mptests/mp09/node1/mp09.scn
    testsuites/mptests/mp09/node2/mp09.doc
    testsuites/mptests/mp09/node2/mp09.scn
    testsuites/mptests/mp09/recvmsg.c
    testsuites/mptests/mp09/sendmsg.c
    testsuites/mptests/mp09/system.h
    testsuites/mptests/mp09/task1.c
    testsuites/mptests/mp10/init.c
    testsuites/mptests/mp10/node1/mp10.doc
    testsuites/mptests/mp10/node1/mp10.scn
    testsuites/mptests/mp10/node2/mp10.doc
    testsuites/mptests/mp10/node2/mp10.scn
    testsuites/mptests/mp10/system.h
    testsuites/mptests/mp10/task1.c
    testsuites/mptests/mp10/task2.c
    testsuites/mptests/mp10/task3.c
    testsuites/mptests/mp11/init.c
    testsuites/mptests/mp11/node1/mp11.doc
    testsuites/mptests/mp11/node1/mp11.scn
    testsuites/mptests/mp11/node2/mp11.doc
    testsuites/mptests/mp11/node2/mp11.scn
    testsuites/mptests/mp11/system.h
    testsuites/mptests/mp12/init.c
    testsuites/mptests/mp12/node1/mp12.doc
    testsuites/mptests/mp12/node1/mp12.scn
    testsuites/mptests/mp12/node2/mp12.doc
    testsuites/mptests/mp12/node2/mp12.scn
    testsuites/mptests/mp12/system.h
    testsuites/mptests/mp13/init.c
    testsuites/mptests/mp13/node1/mp13.doc
    testsuites/mptests/mp13/node1/mp13.scn
    testsuites/mptests/mp13/node2/mp13.doc
    testsuites/mptests/mp13/node2/mp13.scn
    testsuites/mptests/mp13/system.h
    testsuites/mptests/mp13/task1.c
    testsuites/mptests/mp13/task2.c
    testsuites/mptests/mp14/delay.c
    testsuites/mptests/mp14/evtask1.c
    testsuites/mptests/mp14/evtmtask.c
    testsuites/mptests/mp14/exit.c
    testsuites/mptests/mp14/init.c
    testsuites/mptests/mp14/msgtask1.c
    testsuites/mptests/mp14/node1/mp14.doc
    testsuites/mptests/mp14/node1/mp14.scn
    testsuites/mptests/mp14/node2/mp14.doc
    testsuites/mptests/mp14/node2/mp14.scn
    testsuites/mptests/mp14/pttask1.c
    testsuites/mptests/mp14/smtask1.c
    testsuites/mptests/mp14/system.h
    testsuites/samples/README
    testsuites/samples/base_mp/apptask.c
    testsuites/samples/base_mp/init.c
    testsuites/samples/base_mp/node1/base_mp.doc
    testsuites/samples/base_mp/node1/base_mp.scn
    testsuites/samples/base_mp/node2/base_mp.doc
    testsuites/samples/base_mp/node2/base_mp.scn
    testsuites/samples/base_mp/system.h
    testsuites/samples/base_sp/apptask.c
    testsuites/samples/base_sp/base_sp.doc
    testsuites/samples/base_sp/base_sp.scn
    testsuites/samples/base_sp/init.c
    testsuites/samples/base_sp/system.h
    testsuites/samples/cdtest/cdtest.scn
    testsuites/samples/cdtest/init.c
    testsuites/samples/cdtest/main.cc
    testsuites/samples/cdtest/system.h
    testsuites/samples/hello/hello.doc
    testsuites/samples/hello/hello.scn
    testsuites/samples/hello/init.c
    testsuites/samples/hello/system.h
    testsuites/samples/paranoia/init.c
    testsuites/samples/paranoia/paranoia.c
    testsuites/samples/paranoia/paranoia.doc
    testsuites/samples/paranoia/system.h
    testsuites/samples/ticker/init.c
    testsuites/samples/ticker/system.h
    testsuites/samples/ticker/tasks.c
    testsuites/samples/ticker/ticker.doc
    testsuites/samples/ticker/ticker.scn
    testsuites/sptests/README
    testsuites/sptests/sp01/init.c
    testsuites/sptests/sp01/sp01.doc
    testsuites/sptests/sp01/sp01.scn
    testsuites/sptests/sp01/system.h
    testsuites/sptests/sp01/task1.c
    testsuites/sptests/sp02/init.c
    testsuites/sptests/sp02/preempt.c
    testsuites/sptests/sp02/sp02.doc
    testsuites/sptests/sp02/sp02.scn
    testsuites/sptests/sp02/system.h
    testsuites/sptests/sp02/task1.c
    testsuites/sptests/sp02/task2.c
    testsuites/sptests/sp02/task3.c
    testsuites/sptests/sp03/init.c
    testsuites/sptests/sp03/sp03.doc
    testsuites/sptests/sp03/sp03.scn
    testsuites/sptests/sp03/system.h
    testsuites/sptests/sp03/task1.c
    testsuites/sptests/sp03/task2.c
    testsuites/sptests/sp04/init.c
    testsuites/sptests/sp04/sp04.doc
    testsuites/sptests/sp04/sp04.scn
    testsuites/sptests/sp04/system.h
    testsuites/sptests/sp04/task1.c
    testsuites/sptests/sp04/task2.c
    testsuites/sptests/sp04/task3.c
    testsuites/sptests/sp04/tswitch.c
    testsuites/sptests/sp05/init.c
    testsuites/sptests/sp05/sp05.doc
    testsuites/sptests/sp05/sp05.scn
    testsuites/sptests/sp05/system.h
    testsuites/sptests/sp05/task1.c
    testsuites/sptests/sp05/task2.c
    testsuites/sptests/sp05/task3.c
    testsuites/sptests/sp06/init.c
    testsuites/sptests/sp06/sp06.doc
    testsuites/sptests/sp06/sp06.scn
    testsuites/sptests/sp06/system.h
    testsuites/sptests/sp06/task1.c
    testsuites/sptests/sp06/task2.c
    testsuites/sptests/sp06/task3.c
    testsuites/sptests/sp07/init.c
    testsuites/sptests/sp07/sp07.doc
    testsuites/sptests/sp07/sp07.scn
    testsuites/sptests/sp07/system.h
    testsuites/sptests/sp07/task1.c
    testsuites/sptests/sp07/task2.c
    testsuites/sptests/sp07/task3.c
    testsuites/sptests/sp07/task4.c
    testsuites/sptests/sp07/taskexit.c
    testsuites/sptests/sp07/tcreate.c
    testsuites/sptests/sp07/tdelete.c
    testsuites/sptests/sp07/trestart.c
    testsuites/sptests/sp07/tstart.c
    testsuites/sptests/sp08/init.c
    testsuites/sptests/sp08/sp08.doc
    testsuites/sptests/sp08/sp08.scn
    testsuites/sptests/sp08/system.h
    testsuites/sptests/sp08/task1.c
    testsuites/sptests/sp09/delay.c
    testsuites/sptests/sp09/init.c
    testsuites/sptests/sp09/isr.c
    testsuites/sptests/sp09/screen01.c
    testsuites/sptests/sp09/screen02.c
    testsuites/sptests/sp09/screen03.c
    testsuites/sptests/sp09/screen04.c
    testsuites/sptests/sp09/screen05.c
    testsuites/sptests/sp09/screen06.c
    testsuites/sptests/sp09/screen07.c
    testsuites/sptests/sp09/screen08.c
    testsuites/sptests/sp09/screen09.c
    testsuites/sptests/sp09/screen10.c
    testsuites/sptests/sp09/screen11.c
    testsuites/sptests/sp09/screen12.c
    testsuites/sptests/sp09/screen13.c
    testsuites/sptests/sp09/screen14.c
    testsuites/sptests/sp09/sp09.doc
    testsuites/sptests/sp09/sp09.scn
    testsuites/sptests/sp09/system.h
    testsuites/sptests/sp09/task1.c
    testsuites/sptests/sp09/task2.c
    testsuites/sptests/sp09/task3.c
    testsuites/sptests/sp09/task4.c
    testsuites/sptests/sp11/init.c
    testsuites/sptests/sp11/sp11.doc
    testsuites/sptests/sp11/sp11.scn
    testsuites/sptests/sp11/system.h
    testsuites/sptests/sp11/task1.c
    testsuites/sptests/sp11/task2.c
    testsuites/sptests/sp11/timer.c
    testsuites/sptests/sp12/init.c
    testsuites/sptests/sp12/pridrv.c
    testsuites/sptests/sp12/pritask.c
    testsuites/sptests/sp12/sp12.doc
    testsuites/sptests/sp12/sp12.scn
    testsuites/sptests/sp12/system.h
    testsuites/sptests/sp12/task1.c
    testsuites/sptests/sp12/task2.c
    testsuites/sptests/sp12/task3.c
    testsuites/sptests/sp12/task4.c
    testsuites/sptests/sp12/task5.c
    testsuites/sptests/sp13/fillbuff.c
    testsuites/sptests/sp13/init.c
    testsuites/sptests/sp13/putbuff.c
    testsuites/sptests/sp13/sp13.doc
    testsuites/sptests/sp13/sp13.scn
    testsuites/sptests/sp13/system.h
    testsuites/sptests/sp13/task1.c
    testsuites/sptests/sp13/task2.c
    testsuites/sptests/sp13/task3.c
    testsuites/sptests/sp14/asr.c
    testsuites/sptests/sp14/init.c
    testsuites/sptests/sp14/sp14.doc
    testsuites/sptests/sp14/sp14.scn
    testsuites/sptests/sp14/system.h
    testsuites/sptests/sp14/task1.c
    testsuites/sptests/sp14/task2.c
    testsuites/sptests/sp15/init.c
    testsuites/sptests/sp15/sp15.doc
    testsuites/sptests/sp15/sp15.scn
    testsuites/sptests/sp15/system.h
    testsuites/sptests/sp15/task1.c
    testsuites/sptests/sp16/init.c
    testsuites/sptests/sp16/sp16.doc
    testsuites/sptests/sp16/sp16.scn
    testsuites/sptests/sp16/system.h
    testsuites/sptests/sp16/task1.c
    testsuites/sptests/sp16/task2.c
    testsuites/sptests/sp16/task3.c
    testsuites/sptests/sp16/task4.c
    testsuites/sptests/sp16/task5.c
    testsuites/sptests/sp17/asr.c
    testsuites/sptests/sp17/init.c
    testsuites/sptests/sp17/sp17.doc
    testsuites/sptests/sp17/sp17.scn
    testsuites/sptests/sp17/system.h
    testsuites/sptests/sp17/task1.c
    testsuites/sptests/sp17/task2.c
    testsuites/sptests/sp19/first.c
    testsuites/sptests/sp19/fptask.c
    testsuites/sptests/sp19/fptest.h
    testsuites/sptests/sp19/init.c
    testsuites/sptests/sp19/inttest.h
    testsuites/sptests/sp19/sp19.doc
    testsuites/sptests/sp19/sp19.scn
    testsuites/sptests/sp19/system.h
    testsuites/sptests/sp19/task1.c
    testsuites/sptests/sp20/getall.c
    testsuites/sptests/sp20/init.c
    testsuites/sptests/sp20/sp20.doc
    testsuites/sptests/sp20/sp20.scn
    testsuites/sptests/sp20/system.h
    testsuites/sptests/sp20/task1.c
    testsuites/sptests/sp21/init.c
    testsuites/sptests/sp21/sp21.doc
    testsuites/sptests/sp21/sp21.scn
    testsuites/sptests/sp21/system.h
    testsuites/sptests/sp21/task1.c
    testsuites/sptests/sp22/delay.c
    testsuites/sptests/sp22/init.c
    testsuites/sptests/sp22/prtime.c
    testsuites/sptests/sp22/sp22.doc
    testsuites/sptests/sp22/sp22.scn
    testsuites/sptests/sp22/system.h
    testsuites/sptests/sp22/task1.c
    testsuites/sptests/sp23/init.c
    testsuites/sptests/sp23/sp23.doc
    testsuites/sptests/sp23/sp23.scn
    testsuites/sptests/sp23/system.h
    testsuites/sptests/sp23/task1.c
    testsuites/sptests/sp24/init.c
    testsuites/sptests/sp24/resume.c
    testsuites/sptests/sp24/sp24.doc
    testsuites/sptests/sp24/sp24.scn
    testsuites/sptests/sp24/system.h
    testsuites/sptests/sp24/task1.c
    testsuites/sptests/sp25/init.c
    testsuites/sptests/sp25/sp25.doc
    testsuites/sptests/sp25/sp25.scn
    testsuites/sptests/sp25/system.h
    testsuites/sptests/sp25/task1.c
    testsuites/sptests/spfatal/fatal.c
    testsuites/sptests/spfatal/init.c
    testsuites/sptests/spfatal/puterr.c
    testsuites/sptests/spfatal/spfatal.doc
    testsuites/sptests/spfatal/spfatal.scn
    testsuites/sptests/spfatal/system.h
    testsuites/sptests/spfatal/task1.c
    testsuites/sptests/spsize/getint.c
    testsuites/sptests/spsize/init.c
    testsuites/sptests/spsize/size.c
    testsuites/sptests/spsize/system.h
    testsuites/support/include/tmacros.h
    testsuites/tmtests/README
    testsuites/tmtests/include/timesys.h
    testsuites/tmtests/tm01/system.h
    testsuites/tmtests/tm01/task1.c
    testsuites/tmtests/tm01/tm01.doc
    testsuites/tmtests/tm02/system.h
    testsuites/tmtests/tm02/task1.c
    testsuites/tmtests/tm02/tm02.doc
    testsuites/tmtests/tm03/system.h
    testsuites/tmtests/tm03/task1.c
    testsuites/tmtests/tm03/tm03.doc
    testsuites/tmtests/tm04/system.h
    testsuites/tmtests/tm04/task1.c
    testsuites/tmtests/tm04/tm04.doc
    testsuites/tmtests/tm05/system.h
    testsuites/tmtests/tm05/task1.c
    testsuites/tmtests/tm05/tm05.doc
    testsuites/tmtests/tm06/system.h
    testsuites/tmtests/tm06/task1.c
    testsuites/tmtests/tm06/tm06.doc
    testsuites/tmtests/tm07/system.h
    testsuites/tmtests/tm07/task1.c
    testsuites/tmtests/tm07/tm07.doc
    testsuites/tmtests/tm08/system.h
    testsuites/tmtests/tm08/task1.c
    testsuites/tmtests/tm08/tm08.doc
    testsuites/tmtests/tm09/system.h
    testsuites/tmtests/tm09/task1.c
    testsuites/tmtests/tm09/tm09.doc
    testsuites/tmtests/tm10/system.h
    testsuites/tmtests/tm10/task1.c
    testsuites/tmtests/tm10/tm10.doc
    testsuites/tmtests/tm11/system.h
    testsuites/tmtests/tm11/task1.c
    testsuites/tmtests/tm11/tm11.doc
    testsuites/tmtests/tm12/system.h
    testsuites/tmtests/tm12/task1.c
    testsuites/tmtests/tm12/tm12.doc
    testsuites/tmtests/tm13/system.h
    testsuites/tmtests/tm13/task1.c
    testsuites/tmtests/tm13/tm13.doc
    testsuites/tmtests/tm14/system.h
    testsuites/tmtests/tm14/task1.c
    testsuites/tmtests/tm14/tm14.doc
    testsuites/tmtests/tm15/system.h
    testsuites/tmtests/tm15/task1.c
    testsuites/tmtests/tm15/tm15.doc
    testsuites/tmtests/tm16/system.h
    testsuites/tmtests/tm16/task1.c
    testsuites/tmtests/tm16/tm16.doc
    testsuites/tmtests/tm17/system.h
    testsuites/tmtests/tm17/task1.c
    testsuites/tmtests/tm17/tm17.doc
    testsuites/tmtests/tm18/system.h
    testsuites/tmtests/tm18/task1.c
    testsuites/tmtests/tm18/tm18.doc
    testsuites/tmtests/tm19/system.h
    testsuites/tmtests/tm19/task1.c
    testsuites/tmtests/tm19/tm19.doc
    testsuites/tmtests/tm20/system.h
    testsuites/tmtests/tm20/task1.c
    testsuites/tmtests/tm20/tm20.doc
    testsuites/tmtests/tm21/system.h
    testsuites/tmtests/tm21/task1.c
    testsuites/tmtests/tm21/tm21.doc
    testsuites/tmtests/tm22/system.h
    testsuites/tmtests/tm22/task1.c
    testsuites/tmtests/tm22/tm22.doc
    testsuites/tmtests/tm23/system.h
    testsuites/tmtests/tm23/task1.c
    testsuites/tmtests/tm23/tm23.doc
    testsuites/tmtests/tm24/system.h
    testsuites/tmtests/tm24/task1.c
    testsuites/tmtests/tm24/tm24.doc
    testsuites/tmtests/tm25/system.h
    testsuites/tmtests/tm25/task1.c
    testsuites/tmtests/tm25/tm25.doc
    testsuites/tmtests/tm26/fptest.h
    testsuites/tmtests/tm26/system.h
    testsuites/tmtests/tm26/task1.c
    testsuites/tmtests/tm26/tm26.doc
    testsuites/tmtests/tm27/system.h
    testsuites/tmtests/tm27/task1.c
    testsuites/tmtests/tm27/tm27.doc
    testsuites/tmtests/tm28/system.h
    testsuites/tmtests/tm28/task1.c
    testsuites/tmtests/tm28/tm28.doc
    testsuites/tmtests/tm29/system.h
    testsuites/tmtests/tm29/task1.c
    testsuites/tmtests/tm29/tm29.doc
    testsuites/tmtests/tmck/system.h
    testsuites/tmtests/tmck/task1.c
    testsuites/tmtests/tmck/tmck.doc
    testsuites/tmtests/tmoverhd/dumrtems.h
    testsuites/tmtests/tmoverhd/empty.c
    testsuites/tmtests/tmoverhd/system.h
    testsuites/tmtests/tmoverhd/testtask.c
    testsuites/tmtests/tmoverhd/tmoverhd.doc
    tools/build/README
    tools/build/cklength.c
    tools/build/eolstrip.c
    tools/build/os/msdos/README
    tools/build/os/msdos/cklength.uue
    tools/build/os/msdos/fixtimer.c
    tools/build/os/msdos/fixtimer.uue
    tools/build/os/msdos/ifc.c
    tools/build/os/msdos/ifc_exe.uue
    tools/build/packhex.c
    tools/build/scripts/README
    tools/build/src/cklength.c
    tools/build/src/eolstrip.c
    tools/build/src/packhex.c
    tools/build/src/unhex.c
    tools/build/unhex.c
    tools/cpu/hppa1.1/genoffsets.c
    tools/cpu/unix/gensize.c
    tools/update/310_to_320_list
    tools/update/README
1996-05-28 16:33:12 +00:00
Joel Sherrill
bf6661e20d Updated version to 3.5.15. 1996-05-02 14:39:07 +00:00
Joel Sherrill
996a9cb4e2 Updates from Eric Norum. 1996-05-01 15:25:33 +00:00
Joel Sherrill
dce1c1a10a Updates from Eric Norum to use the mcpu32 flags and fix comments. 1996-05-01 15:24:37 +00:00
Joel Sherrill
a4126225c3 changed version number to 3.5.14 1996-04-24 21:21:14 +00:00
Joel Sherrill
11532ca435 Hacked so gld will accept this so we can purge the aout toolset. This change
should be undone when the m68k-coff cross toolset is updated next time.
1996-04-24 20:05:52 +00:00
Joel Sherrill
1543932387 added comment regarding stack alignment issues to thread stack allocation
routine.
1996-04-24 17:36:35 +00:00
Joel Sherrill
d2d6467d13 Lowered number of messages created to reduce burden on workspace. 1996-04-22 23:58:40 +00:00
Joel Sherrill
8389628c1b updates from Tony Bennett 1996-04-22 16:53:46 +00:00
Joel Sherrill
5a36154a60 addition of optional user provided stack allocator means that we can not
reliably produce the "insufficient memory for stack space" error if this
extension is configured.
1996-04-22 16:53:05 +00:00
Joel Sherrill
1f94ed6bfd Updates from Tony Bennett. 1996-04-22 16:50:17 +00:00
Joel Sherrill
34f3d17b24 Updates from Tony Bennett. rtems_environp removed among other minor things. 1996-04-22 16:49:53 +00:00
Joel Sherrill
f5674938bb Fixed so now supports more than 16 nodes. Tested for up to 24 nodes
by Tony Bennett.  Information table is now malloc'ed.
1996-04-22 16:49:25 +00:00
Joel Sherrill
8faca06664 thread.c: added support for optional user provided stack allocator
wkspace.c: made initialization routine a regular subroutine
1996-04-22 16:46:36 +00:00
Joel Sherrill
6365f81898 made initialization routine a regular subroutine 1996-04-22 16:46:00 +00:00
Joel Sherrill
a155b3c52d interr.h: added stack allocater error code
wkspace.h: made initialization routine a regular subroutine
1996-04-22 16:45:47 +00:00
Joel Sherrill
cc4c1fe424 added stack allocation fields to the cpu table
updates from Tony Bennett.  Most were to insure all variables were properly
initialized and to correct the stray signal number reporting.
1996-04-22 16:44:54 +00:00
Joel Sherrill
96981e3ae6 added stack allocation fields to the cpu table 1996-04-22 16:44:04 +00:00
Joel Sherrill
9a1ccb3595 added stack allocation fields to the cpu table
added CPU_M68K_EXTB_L model flag
1996-04-22 16:43:44 +00:00
Joel Sherrill
f581163abd added stack allocation fields to the cpu table 1996-04-22 16:30:30 +00:00
Joel Sherrill
d0b7c4e61e updartes from Tony Bennett 1996-04-22 16:30:02 +00:00
Joel Sherrill
767a6c614c swapped order of operands on a movw to fix LOAD_SEGMENTS macro 1996-04-20 16:48:30 +00:00
Joel Sherrill
debe9195ce event.c: _Event_Manager_initialization no longer a static inline
sem.c: modified to eliminate Purify warnings
1996-04-19 21:10:58 +00:00
Joel Sherrill
78b2ff196b _Event_Manager_initialization no longer a static inline 1996-04-19 21:10:38 +00:00
Joel Sherrill
c26b62f992 event.h: _Event_Manager_initialization no longer a static inline 1996-04-19 21:10:32 +00:00
Joel Sherrill
8f9e9bdc07 event.h: _Event_Manager_initialization no longer a static inline
support.h:  updated to use RTEMS_APPLICATION macro
1996-04-19 21:10:27 +00:00
Joel Sherrill
3b76313da9 modified to generate fatal error when an unconfigured directive is invoked. 1996-04-19 21:09:20 +00:00
Joel Sherrill
f4d52cd74c changes to compile in macro configuration without warnings. 1996-04-19 19:36:59 +00:00
110 changed files with 2304 additions and 718 deletions

View File

@@ -54,6 +54,16 @@ typedef enum {
EVENT_SYNC_SATISFIED
} Event_Sync_states;
/*
* Event_Manager_initialization
*
* DESCRIPTION:
*
* This routine performs the initialization necessary for this manager.
*/
void _Event_Manager_initialization( void );
/*
* rtems_event_send
*

View File

@@ -85,7 +85,9 @@ extern "C" {
#define RTEMS_MILLISECONDS_TO_TICKS(_ms) \
TOD_MILLISECONDS_TO_TICKS(_ms)
#ifndef __RTEMS_APPLICATION__
#include <rtems/rtems/support.inl>
#endif
#ifdef __cplusplus
}

View File

@@ -17,24 +17,5 @@
#ifndef __MACROS_EVENT_inl
#define __MACROS_EVENT_inl
/*
* Event_Manager_initialization
*
* DESCRIPTION:
*
* This routine performs the initialization necessary for this manager.
*/
STATIC INLINE void _Event_Manager_initialization( void )
{
_Event_Sync_state = EVENT_SYNC_SYNCHRONIZED;
/*
* Register the MP Process Packet routine.
*/
_MPCI_Register_packet_processor( MP_PACKET_EVENT, _Event_MP_Process_packet );
}
#endif
/* end of include file */

View File

@@ -17,24 +17,5 @@
#ifndef __MACROS_EVENT_h
#define __MACROS_EVENT_h
/*
* Event_Manager_initialization
*/
#define _Event_Manager_initialization() \
do { \
\
_Event_Sync_state = EVENT_SYNC_SYNCHRONIZED; \
\
/* \
* Register the MP Process Packet routine. \
*/ \
\
_MPCI_Register_packet_processor( \
MP_PACKET_EVENT, \
_Event_MP_Process_packet \
); \
} while ( 0 )
#endif
/* end of include file */

View File

@@ -16,6 +16,7 @@
#include <rtems/score/address.h>
#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/score/interr.h>
#include <rtems/rtems/status.h>
#include <rtems/rtems/types.h>
@@ -35,6 +36,11 @@ rtems_status_code rtems_port_create(
Objects_Id *id
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -43,6 +49,11 @@ rtems_status_code rtems_port_ident(
Objects_Id *id
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -50,6 +61,11 @@ rtems_status_code rtems_port_delete(
Objects_Id id
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -59,6 +75,11 @@ rtems_status_code rtems_port_internal_to_external(
void **external
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -68,5 +89,10 @@ rtems_status_code rtems_port_external_to_internal(
void **internal
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}

View File

@@ -20,12 +20,22 @@
#include <rtems/rtems/options.h>
#include <rtems/score/states.h>
#include <rtems/score/thread.h>
#include <rtems/score/interr.h>
void _Event_Manager_initialization( void )
{
}
rtems_status_code rtems_event_send(
Objects_Id id,
rtems_event_set event_in
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -36,6 +46,11 @@ rtems_status_code rtems_event_receive(
rtems_event_set *event_out
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}

View File

@@ -26,6 +26,7 @@
#include <rtems/score/tqdata.h>
#include <rtems/score/watchdog.h>
#include <rtems/score/sysstate.h>
#include <rtems/score/interr.h>
void _Multiprocessing_Manager_initialization ( void )
{
@@ -33,6 +34,11 @@ void _Multiprocessing_Manager_initialization ( void )
void rtems_multiprocessing_announce ( void )
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
}
void _MPCI_Handler_initialization(
@@ -60,6 +66,11 @@ void _MPCI_Register_packet_processor(
MP_packet_Prefix *_MPCI_Get_packet ( void )
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return NULL;
}
@@ -67,6 +78,11 @@ void _MPCI_Return_packet (
MP_packet_Prefix *the_packet
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
}
void _MPCI_Send_process_packet (
@@ -74,6 +90,11 @@ void _MPCI_Send_process_packet (
MP_packet_Prefix *the_packet
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
}
unsigned32 _MPCI_Send_request_packet (
@@ -82,6 +103,11 @@ unsigned32 _MPCI_Send_request_packet (
States_Control extra_state
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return 0;
}
@@ -90,10 +116,20 @@ void _MPCI_Send_response_packet (
MP_packet_Prefix *the_packet
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
}
MP_packet_Prefix *_MPCI_Receive_packet ( void )
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return NULL;
}
@@ -101,6 +137,11 @@ Thread_Control *_MPCI_Process_response (
MP_packet_Prefix *the_packet
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return NULL;
}
@@ -108,10 +149,20 @@ Thread _MPCI_Receive_server(
unsigned32 ignore
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
}
void _MPCI_Announce ( void )
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
}
@@ -119,16 +170,31 @@ void _MPCI_Internal_packets_Send_process_packet (
MPCI_Internal_Remote_operations operation
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
}
void _MPCI_Internal_packets_Process_packet (
MP_packet_Prefix *the_packet_prefix
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
}
MPCI_Internal_packet *_MPCI_Internal_packets_Get_packet ( void )
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return NULL;
}

View File

@@ -24,6 +24,7 @@
#include <rtems/score/states.h>
#include <rtems/score/thread.h>
#include <rtems/score/wkspace.h>
#include <rtems/score/interr.h>
void _Message_queue_Manager_initialization(
unsigned32 maximum_message_queues
@@ -39,6 +40,11 @@ rtems_status_code rtems_message_queue_create(
Objects_Id *id
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -48,6 +54,11 @@ rtems_status_code rtems_message_queue_ident(
Objects_Id *id
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -55,6 +66,11 @@ rtems_status_code rtems_message_queue_delete(
Objects_Id id
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -64,6 +80,11 @@ rtems_status_code rtems_message_queue_send(
unsigned32 size
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -73,6 +94,11 @@ rtems_status_code rtems_message_queue_urgent(
unsigned32 size
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -83,6 +109,11 @@ rtems_status_code rtems_message_queue_broadcast(
unsigned32 *count
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -94,6 +125,11 @@ rtems_status_code rtems_message_queue_receive(
rtems_interval timeout
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -102,6 +138,11 @@ rtems_status_code rtems_message_queue_flush(
unsigned32 *count
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -109,6 +150,12 @@ unsigned32 _Message_queue_Flush_support(
Message_queue_Control *the_message_queue
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
return 0;
}
@@ -119,6 +166,12 @@ boolean _Message_queue_Seize(
unsigned32 *size_p
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
_Thread_Executing->Wait.return_code = RTEMS_UNSATISFIED;
return TRUE;
}
@@ -130,5 +183,10 @@ rtems_status_code _Message_queue_Submit(
Message_queue_Submit_types submit_type
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}

View File

@@ -19,6 +19,7 @@
#include <rtems/score/object.h>
#include <rtems/rtems/part.h>
#include <rtems/score/thread.h>
#include <rtems/score/interr.h>
void _Partition_Manager_initialization(
unsigned32 maximum_partitions
@@ -35,6 +36,11 @@ rtems_status_code rtems_partition_create(
Objects_Id *id
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -44,6 +50,11 @@ rtems_status_code rtems_partition_ident(
Objects_Id *id
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -51,6 +62,11 @@ rtems_status_code rtems_partition_delete(
Objects_Id id
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -59,6 +75,11 @@ rtems_status_code rtems_partition_get_buffer(
void **buffer
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -67,5 +88,10 @@ rtems_status_code rtems_partition_return_buffer(
void *buffer
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}

View File

@@ -20,6 +20,7 @@
#include <rtems/rtems/region.h>
#include <rtems/score/states.h>
#include <rtems/score/thread.h>
#include <rtems/score/interr.h>
void _Region_Manager_initialization(
unsigned32 maximum_regions
@@ -36,6 +37,11 @@ rtems_status_code rtems_region_create(
Objects_Id *id
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -44,6 +50,11 @@ rtems_status_code rtems_region_ident(
Objects_Id *id
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -51,6 +62,11 @@ rtems_status_code rtems_region_delete(
Objects_Id id
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -62,6 +78,11 @@ rtems_status_code rtems_region_get_segment(
void **segment
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -71,6 +92,11 @@ rtems_status_code rtems_region_get_segment_size(
unsigned32 *size
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -79,5 +105,10 @@ rtems_status_code rtems_region_return_segment(
void *segment
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}

View File

@@ -18,6 +18,7 @@
#include <rtems/score/isr.h>
#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/score/interr.h>
#include <rtems/rtems/types.h>
#include <rtems/rtems/ratemon.h>
@@ -33,6 +34,11 @@ rtems_status_code rtems_rate_monotonic_create(
Objects_Id *id
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -41,6 +47,11 @@ rtems_status_code rtems_rate_monotonic_ident(
Objects_Id *id
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -48,6 +59,11 @@ rtems_status_code rtems_rate_monotonic_cancel(
Objects_Id id
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -55,6 +71,11 @@ rtems_status_code rtems_rate_monotonic_delete(
Objects_Id id
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -63,6 +84,11 @@ rtems_status_code rtems_rate_monotonic_period(
rtems_interval length
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -71,11 +97,21 @@ void _Rate_monotonic_Timeout(
void *ignored
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
}
boolean _Rate_monotonic_Set_state(
Rate_monotonic_Control *the_period
)
{
return( FALSE );
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return FALSE;
}

View File

@@ -23,6 +23,7 @@
#include <rtems/score/states.h>
#include <rtems/score/thread.h>
#include <rtems/score/threadq.h>
#include <rtems/score/interr.h>
void _Semaphore_Manager_initialization(
unsigned32 maximum_semaphores
@@ -38,6 +39,11 @@ rtems_status_code rtems_semaphore_create(
Objects_Id *id
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -47,6 +53,11 @@ rtems_status_code rtems_semaphore_ident(
Objects_Id *id
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -54,6 +65,11 @@ rtems_status_code rtems_semaphore_delete(
Objects_Id id
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -63,6 +79,11 @@ rtems_status_code rtems_semaphore_obtain(
rtems_interval timeout
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -70,6 +91,11 @@ rtems_status_code rtems_semaphore_release(
Objects_Id id
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -78,6 +104,11 @@ boolean _Semaphore_Seize(
rtems_option option_set
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
_Thread_Executing->Wait.return_code = RTEMS_UNSATISFIED;
return( TRUE );
return TRUE;
}

View File

@@ -17,6 +17,7 @@
#include <rtems/rtems/status.h>
#include <rtems/score/isr.h>
#include <rtems/score/thread.h>
#include <rtems/score/interr.h>
#include <rtems/rtems/asr.h>
#include <rtems/rtems/modes.h>
@@ -31,6 +32,11 @@ rtems_status_code rtems_signal_catch(
rtems_mode mode_set
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -39,6 +45,11 @@ rtems_status_code rtems_signal_send(
rtems_signal_set signal_set
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}

View File

@@ -19,6 +19,7 @@
#include <rtems/score/thread.h>
#include <rtems/score/tod.h>
#include <rtems/score/watchdog.h>
#include <rtems/score/interr.h>
#include <rtems/rtems/types.h>
#include <rtems/rtems/timer.h>
@@ -34,6 +35,11 @@ rtems_status_code rtems_timer_create(
Objects_Id *id
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -42,6 +48,11 @@ rtems_status_code rtems_timer_ident(
Objects_Id *id
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -49,6 +60,11 @@ rtems_status_code rtems_timer_cancel(
Objects_Id id
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -56,6 +72,11 @@ rtems_status_code rtems_timer_delete(
Objects_Id id
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -66,6 +87,11 @@ rtems_status_code rtems_timer_fire_after(
void *user_data
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -76,6 +102,11 @@ rtems_status_code rtems_timer_fire_when(
void *user_data
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -83,5 +114,10 @@ rtems_status_code rtems_timer_reset(
Objects_Id id
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}

View File

@@ -22,6 +22,26 @@
#include <rtems/score/thread.h>
#include <rtems/rtems/tasks.h>
/*PAGE
*
* _Event_Manager_initialization
*
* DESCRIPTION:
*
* This routine performs the initialization necessary for this manager.
*/
void _Event_Manager_initialization( void )
{
_Event_Sync_state = EVENT_SYNC_SYNCHRONIZED;
/*
* Register the MP Process Packet routine.
*/
_MPCI_Register_packet_processor( MP_PACKET_EVENT, _Event_MP_Process_packet );
}
/*PAGE
*
* rtems_event_send

View File

@@ -170,6 +170,8 @@ rtems_status_code rtems_semaphore_create(
/* Add priority ceiling code here ????? */
the_mutex_attributes.priority_ceiling = priority_ceiling;
if ( count == 1 )
lock = CORE_MUTEX_UNLOCKED;
else
@@ -189,6 +191,13 @@ rtems_status_code rtems_semaphore_create(
else
the_semaphore_attributes.discipline = CORE_SEMAPHORE_DISCIPLINES_FIFO;
/*
* The following are just to make Purify happy.
*/
the_mutex_attributes.allow_nesting = TRUE;
the_mutex_attributes.priority_ceiling = PRIORITY_MINIMUM;
_CORE_semaphore_Initialize(
&the_semaphore->Core_control.semaphore,
OBJECTS_RTEMS_SEMAPHORES,

View File

@@ -62,7 +62,7 @@ const rtems_multiprocessing_table
*/
const char _RTEMS_version[] =
"RTEMS RELEASE V3.5.1 (" CPU_NAME "/" CPU_MODEL_NAME ")";
"RTEMS RELEASE V3.5.15 snapshot (" CPU_NAME "/" CPU_MODEL_NAME ")";
/*

View File

@@ -19,6 +19,7 @@
#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/extension.h>
#include <rtems/score/interr.h>
void _Extension_Manager_initialization(
unsigned32 maximum_extensions
@@ -32,6 +33,11 @@ rtems_status_code rtems_extension_create(
Objects_Id *id
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -40,6 +46,11 @@ rtems_status_code rtems_extension_ident(
Objects_Id *id
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -47,5 +58,10 @@ rtems_status_code rtems_extension_delete(
Objects_Id id
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}

View File

@@ -19,6 +19,7 @@
#include <rtems/io.h>
#include <rtems/score/isr.h>
#include <rtems/score/thread.h>
#include <rtems/score/interr.h>
void _IO_Manager_initialization(
rtems_driver_address_table *driver_table,
@@ -36,16 +37,26 @@ rtems_status_code rtems_io_register_name(
char *device_name,
rtems_device_major_number major,
rtems_device_minor_number minor
)
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
rtems_status_code rtems_io_lookup_name(
const char *pathname,
rtems_driver_name_t **rnp
)
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -55,6 +66,11 @@ rtems_status_code rtems_io_initialize(
void *argument
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -64,6 +80,11 @@ rtems_status_code rtems_io_open(
void *argument
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -73,6 +94,11 @@ rtems_status_code rtems_io_close(
void *argument
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -82,6 +108,11 @@ rtems_status_code rtems_io_read(
void *argument
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -91,6 +122,11 @@ rtems_status_code rtems_io_write(
void *argument
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}
@@ -100,5 +136,10 @@ rtems_status_code rtems_io_control(
void *argument
)
{
_Internal_error_Occurred(
INTERNAL_ERROR_RTEMS_API,
FALSE,
RTEMS_NOT_CONFIGURED
);
return RTEMS_NOT_CONFIGURED;
}

View File

@@ -0,0 +1,72 @@
/*
* RTEMS API Initialization Support
*
* NOTE:
*
* COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
* On-Line Applications Research Corporation (OAR).
* All rights assigned to U.S. Government, 1994.
*
* This material may be reproduced by or for the U.S. Government pursuant
* to the copyright license under the clause at DFARS 252.227-7013. This
* notice must appear in all copies of this file and its derivatives.
*
* $Id$
*/
#include <assert.h>
#include <rtems/system.h>
#define INIT
#include <rtems/posix/cond.h>
#include <rtems/posix/condmp.h>
#include <rtems/posix/config.h>
#include <rtems/posix/key.h>
#include <rtems/posix/mutex.h>
#include <rtems/posix/mutexmp.h>
#include <rtems/posix/priority.h>
#include <rtems/posix/pthread.h>
#include <rtems/posix/pthreadmp.h>
#include <rtems/posix/time.h>
/*PAGE
*
* _POSIX_API_Initialize
*
* XXX
*/
void _POSIX_API_Initialize(
rtems_configuration_table *configuration_table
)
{
posix_api_configuration_table *api_configuration;
api_configuration = configuration_table->POSIX_api_configuration;
assert( api_configuration );
_RTEMS_tasks_Manager_initialization(
api_configuration->maximum_tasks
#if 0
,
api_configuration->number_of_initialization_tasks,
api_configuration->User_initialization_tasks_table
#endif
);
_POSIX_Condition_variables_Manager_initialization(
api_configuration->maximum_condition_variables
);
void _POSIX_Key_Manager_initialization( api_configuration->maximum_keys );
_POSIX_Mutex_Manager_initialization(
api_configuration->maximum_mutexes
);
}
/* end of file */

View File

@@ -104,6 +104,9 @@ typedef struct {
boolean do_zero_of_workspace;
unsigned32 interrupt_stack_size;
unsigned32 extra_mpci_receive_server_stack;
void * (*stack_allocate_hook)( unsigned32 );
void (*stack_free_hook)( void* );
/* end of fields required on all CPUs */
unsigned32 interrupt_table_segment;
void *interrupt_table_offset;

View File

@@ -146,6 +146,10 @@ typedef struct {
boolean do_zero_of_workspace;
unsigned32 interrupt_stack_size;
unsigned32 extra_mpci_receive_server_stack;
void * (*stack_allocate_hook)( unsigned32 );
void (*stack_free_hook)( void* );
/* end of fields required on all CPUs */
#if defined(__i960CA__) || defined(__i960_CA__) || defined(__i960CA)
i960ca_PRCB *Prcb;
#endif

View File

@@ -139,6 +139,10 @@ typedef struct {
boolean do_zero_of_workspace;
unsigned32 interrupt_stack_size;
unsigned32 extra_mpci_receive_server_stack;
void * (*stack_allocate_hook)( unsigned32 );
void (*stack_free_hook)( void* );
/* end of fields required on all CPUs */
m68k_isr *interrupt_vector_table;
} rtems_cpu_table;
@@ -333,7 +337,7 @@ unsigned32 _CPU_ISR_Get_level( void );
/* duplicates BFFFO results for 16 bits (i.e., 15-(_priority) in
_CPU_Priority_bits_index is not needed), handles the 0 case, and
does not molest _value -- jsg */
#ifndef m68000
#if ( M68K_HAS_EXTB_L == 1 )
#define _CPU_Bitfield_Find_first_bit( _value, _output ) \
{ \
extern const unsigned char __BFFFOtable[256]; \
@@ -371,7 +375,7 @@ unsigned32 _CPU_ISR_Get_level( void );
: "d" ((_value)), "ao" ((__BFFFOtable)) \
: "cc" ) ; \
}
#endif /* m68000 */
#endif /* M68K_HAS_EXTB_L */
#endif

View File

@@ -0,0 +1,880 @@
/*
**************************************************************************
**************************************************************************
** **
** MOTOROLA MC68360 QUAD INTEGRATED COMMUNICATIONS CONTROLLER (QUICC) **
** **
** HARDWARE DECLARATIONS **
** **
** **
** Submitted By: **
** **
** W. Eric Norum **
** Saskatchewan Accelerator Laboratory **
** University of Saskatchewan **
** 107 North Road **
** Saskatoon, Saskatchewan, CANADA **
** S7N 5C6 **
** **
** eric@skatter.usask.ca **
** **
** $Id$ **
** **
**************************************************************************
**************************************************************************
*/
#ifndef __MC68360_h
#define __MC68360_h
/*
*************************************************************************
* REGISTER SUBBLOCKS *
*************************************************************************
*/
/*
* Memory controller registers
*/
typedef struct m360MEMCRegisters_ {
rtems_unsigned32 br;
rtems_unsigned32 or;
rtems_unsigned32 _pad[2];
} m360MEMCRegisters_t;
/*
* Serial Communications Controller registers
*/
typedef struct m360SCCRegisters_ {
rtems_unsigned32 gsmr_l;
rtems_unsigned32 gsmr_h;
rtems_unsigned16 psmr;
rtems_unsigned16 _pad0;
rtems_unsigned16 todr;
rtems_unsigned16 dsr;
rtems_unsigned16 scce;
rtems_unsigned16 _pad1;
rtems_unsigned16 sccm;
rtems_unsigned8 _pad2;
rtems_unsigned8 sccs;
rtems_unsigned32 _pad3[2];
} m360SCCRegisters_t;
/*
* Serial Management Controller registers
*/
typedef struct m360SMCRegisters_ {
rtems_unsigned16 _pad0;
rtems_unsigned16 smcmr;
rtems_unsigned16 _pad1;
rtems_unsigned8 smce;
rtems_unsigned8 _pad2;
rtems_unsigned16 _pad3;
rtems_unsigned8 smcm;
rtems_unsigned8 _pad4;
rtems_unsigned32 _pad5;
} m360SMCRegisters_t;
/*
*************************************************************************
* Miscellaneous Parameters *
*************************************************************************
*/
typedef struct m360MiscParms_ {
rtems_unsigned16 rev_num;
rtems_unsigned16 _res1;
rtems_unsigned32 _res2;
rtems_unsigned32 _res3;
} m360MiscParms_t;
/*
*************************************************************************
* RISC Timers *
*************************************************************************
*/
typedef struct m360TimerParms_ {
rtems_unsigned16 tm_base;
rtems_unsigned16 _tm_ptr;
rtems_unsigned16 _r_tmr;
rtems_unsigned16 _r_tmv;
rtems_unsigned32 tm_cmd;
rtems_unsigned32 tm_cnt;
} m360TimerParms_t;
/*
* RISC Controller Configuration Register (RCCR)
* All other bits in this register are either reserved or
* used only with a Motorola-supplied RAM microcode packge.
*/
#define M360_RCCR_TIME (1<<15) /* Enable timer */
#define M360_RCCR_TIMEP(x) ((x)<<8) /* Timer period */
/*
* Command register
* Set up this register before issuing a M360_CR_OP_SET_TIMER command.
*/
#define M360_TM_CMD_V (1<<31) /* Set to enable timer */
#define M360_TM_CMD_R (1<<30) /* Set for automatic restart */
#define M360_TM_CMD_TIMER(x) ((x)<<16) /* Select timer */
#define M360_TM_CMD_PERIOD(x) (x) /* Timer period (16 bits) */
/*
*************************************************************************
* DMA Controllers *
*************************************************************************
*/
typedef struct m360IDMAparms_ {
rtems_unsigned16 ibase;
rtems_unsigned16 ibptr;
rtems_unsigned32 _istate;
rtems_unsigned32 _itemp;
} m360IDMAparms_t;
/*
*************************************************************************
* Serial Communication Controllers *
*************************************************************************
*/
typedef struct m360SCCparms_ {
rtems_unsigned16 rbase;
rtems_unsigned16 tbase;
rtems_unsigned8 rfcr;
rtems_unsigned8 tfcr;
rtems_unsigned16 mrblr;
rtems_unsigned32 _rstate;
rtems_unsigned32 _pad0;
rtems_unsigned16 _rbptr;
rtems_unsigned16 _pad1;
rtems_unsigned32 _pad2;
rtems_unsigned32 _tstate;
rtems_unsigned32 _pad3;
rtems_unsigned16 _tbptr;
rtems_unsigned16 _pad4;
rtems_unsigned32 _pad5;
rtems_unsigned32 _rcrc;
rtems_unsigned32 _tcrc;
union {
struct {
rtems_unsigned32 _res0;
rtems_unsigned32 _res1;
rtems_unsigned16 max_idl;
rtems_unsigned16 _idlc;
rtems_unsigned16 brkcr;
rtems_unsigned16 parec;
rtems_unsigned16 frmec;
rtems_unsigned16 nosec;
rtems_unsigned16 brkec;
rtems_unsigned16 brklen;
rtems_unsigned16 uaddr[2];
rtems_unsigned16 _rtemp;
rtems_unsigned16 toseq;
rtems_unsigned16 character[8];
rtems_unsigned16 rccm;
rtems_unsigned16 rccr;
rtems_unsigned16 rlbc;
} uart;
} un;
} m360SCCparms_t;
typedef struct m360SCCENparms_ {
rtems_unsigned16 rbase;
rtems_unsigned16 tbase;
rtems_unsigned8 rfcr;
rtems_unsigned8 tfcr;
rtems_unsigned16 mrblr;
rtems_unsigned32 _rstate;
rtems_unsigned32 _pad0;
rtems_unsigned16 _rbptr;
rtems_unsigned16 _pad1;
rtems_unsigned32 _pad2;
rtems_unsigned32 _tstate;
rtems_unsigned32 _pad3;
rtems_unsigned16 _tbptr;
rtems_unsigned16 _pad4;
rtems_unsigned32 _pad5;
rtems_unsigned32 _rcrc;
rtems_unsigned32 _tcrc;
union {
struct {
rtems_unsigned32 _res0;
rtems_unsigned32 _res1;
rtems_unsigned16 max_idl;
rtems_unsigned16 _idlc;
rtems_unsigned16 brkcr;
rtems_unsigned16 parec;
rtems_unsigned16 frmec;
rtems_unsigned16 nosec;
rtems_unsigned16 brkec;
rtems_unsigned16 brklen;
rtems_unsigned16 uaddr[2];
rtems_unsigned16 _rtemp;
rtems_unsigned16 toseq;
rtems_unsigned16 character[8];
rtems_unsigned16 rccm;
rtems_unsigned16 rccr;
rtems_unsigned16 rlbc;
} uart;
struct {
rtems_unsigned32 c_pres;
rtems_unsigned32 c_mask;
rtems_unsigned32 crcec;
rtems_unsigned32 alec;
rtems_unsigned32 disfc;
rtems_unsigned16 pads;
rtems_unsigned16 ret_lim;
rtems_unsigned16 _ret_cnt;
rtems_unsigned16 mflr;
rtems_unsigned16 minflr;
rtems_unsigned16 maxd1;
rtems_unsigned16 maxd2;
rtems_unsigned16 _maxd;
rtems_unsigned16 dma_cnt;
rtems_unsigned16 _max_b;
rtems_unsigned16 gaddr1;
rtems_unsigned16 gaddr2;
rtems_unsigned16 gaddr3;
rtems_unsigned16 gaddr4;
rtems_unsigned32 _tbuf0data0;
rtems_unsigned32 _tbuf0data1;
rtems_unsigned32 _tbuf0rba0;
rtems_unsigned32 _tbuf0crc;
rtems_unsigned16 _tbuf0bcnt;
rtems_unsigned16 paddr_h;
rtems_unsigned16 paddr_m;
rtems_unsigned16 paddr_l;
rtems_unsigned16 p_per;
rtems_unsigned16 _rfbd_ptr;
rtems_unsigned16 _tfbd_ptr;
rtems_unsigned16 _tlbd_ptr;
rtems_unsigned32 _tbuf1data0;
rtems_unsigned32 _tbuf1data1;
rtems_unsigned32 _tbuf1rba0;
rtems_unsigned32 _tbuf1crc;
rtems_unsigned16 _tbuf1bcnt;
rtems_unsigned16 _tx_len;
rtems_unsigned16 iaddr1;
rtems_unsigned16 iaddr2;
rtems_unsigned16 iaddr3;
rtems_unsigned16 iaddr4;
rtems_unsigned16 _boff_cnt;
rtems_unsigned16 taddr_l;
rtems_unsigned16 taddr_m;
rtems_unsigned16 taddr_h;
} ethernet;
} un;
} m360SCCENparms_t;
/*
* Receive and transmit function code register bits
* These apply to the function code registers of all devices, not just SCC.
*/
#define M360_RFCR_MOT (1<<4)
#define M360_RFCR_DMA_SPACE 0x8
#define M360_TFCR_MOT (1<<4)
#define M360_TFCR_DMA_SPACE 0x8
/*
*************************************************************************
* Serial Management Controllers *
*************************************************************************
*/
typedef struct m360SMCparms_ {
rtems_unsigned16 rbase;
rtems_unsigned16 tbase;
rtems_unsigned8 rfcr;
rtems_unsigned8 tfcr;
rtems_unsigned16 mrblr;
rtems_unsigned32 _rstate;
rtems_unsigned32 _pad0;
rtems_unsigned16 _rbptr;
rtems_unsigned16 _pad1;
rtems_unsigned32 _pad2;
rtems_unsigned32 _tstate;
rtems_unsigned32 _pad3;
rtems_unsigned16 _tbptr;
rtems_unsigned16 _pad4;
rtems_unsigned32 _pad5;
union {
struct {
rtems_unsigned16 max_idl;
rtems_unsigned16 _pad0;
rtems_unsigned16 brklen;
rtems_unsigned16 brkec;
rtems_unsigned16 brkcr;
rtems_unsigned16 _r_mask;
} uart;
struct {
rtems_unsigned16 _pad0[5];
} transparent;
} un;
} m360SMCparms_t;
/*
* Mode register
*/
#define M360_SMCMR_CLEN(x) ((x)<<11) /* Character length */
#define M360_SMCMR_2STOP (1<<10) /* 2 stop bits */
#define M360_SMCMR_PARITY (1<<9) /* Enable parity */
#define M360_SMCMR_EVEN (1<<8) /* Even parity */
#define M360_SMCMR_SM_GCI (0<<4) /* GCI Mode */
#define M360_SMCMR_SM_UART (2<<4) /* UART Mode */
#define M360_SMCMR_SM_TRANSPARENT (3<<4) /* Transparent Mode */
#define M360_SMCMR_DM_LOOPBACK (1<<2) /* Local loopback mode */
#define M360_SMCMR_DM_ECHO (2<<2) /* Echo mode */
#define M360_SMCMR_TEN (1<<1) /* Enable transmitter */
#define M360_SMCMR_REN (1<<0) /* Enable receiver */
/*
* Event and mask registers (SMCE, SMCM)
*/
#define M360_SMCE_BRK (1<<4)
#define M360_SMCE_BSY (1<<2)
#define M360_SMCE_TX (1<<1)
#define M360_SMCE_RX (1<<0)
/*
*************************************************************************
* Serial Peripheral Interface *
*************************************************************************
*/
typedef struct m360SPIparms_ {
rtems_unsigned16 rbase;
rtems_unsigned16 tbase;
rtems_unsigned8 rfcr;
rtems_unsigned8 tfcr;
rtems_unsigned16 mrblr;
rtems_unsigned32 _rstate;
rtems_unsigned32 _pad0;
rtems_unsigned16 _rbptr;
rtems_unsigned16 _pad1;
rtems_unsigned32 _pad2;
rtems_unsigned32 _tstate;
rtems_unsigned32 _pad3;
rtems_unsigned16 _tbptr;
rtems_unsigned16 _pad4;
rtems_unsigned32 _pad5;
} m360SPIparms_t;
/*
* Mode register (SPMODE)
*/
#define M360_SPMODE_LOOP (1<<14) /* Local loopback mode */
#define M360_SPMODE_CI (1<<13) /* Clock invert */
#define M360_SPMODE_CP (1<<12) /* Clock phase */
#define M360_SPMODE_DIV16 (1<<11) /* Divide BRGCLK by 16 */
#define M360_SPMODE_REV (1<<10) /* Reverse data */
#define M360_SPMODE_MASTER (1<<9) /* SPI is master */
#define M360_SPMODE_EN (1<<8) /* Enable SPI */
#define M360_SPMODE_CLEN(x) ((x)<<4) /* Character length */
#define M360_SPMODE_PM(x) (x) /* Prescaler modulus */
/*
* Mode register (SPCOM)
*/
#define M360_SPCOM_STR (1<<7) /* Start transmit */
/*
* Event and mask registers (SPIE, SPIM)
*/
#define M360_SPIE_MME (1<<5) /* Multi-master error */
#define M360_SPIE_TXE (1<<4) /* Tx error */
#define M360_SPIE_BSY (1<<2) /* Busy condition*/
#define M360_SPIE_TXB (1<<1) /* Tx buffer */
#define M360_SPIE_RXB (1<<0) /* Rx buffer */
/*
*************************************************************************
* SDMA (SCC, SMC, SPI) Buffer Descriptors *
*************************************************************************
*/
typedef struct m360BufferDescriptor_ {
rtems_unsigned16 status;
rtems_unsigned16 length;
volatile void *buffer;
} m360BufferDescriptor_t;
/*
* Bits in receive buffer descriptor status word
*/
#define M360_BD_EMPTY (1<<15) /* Ethernet, SCC UART, SMC UART, SPI */
#define M360_BD_WRAP (1<<13) /* Ethernet, SCC UART, SMC UART, SPI */
#define M360_BD_INTERRUPT (1<<12) /* Ethernet, SCC UART, SMC UART, SPI */
#define M360_BD_LAST (1<<11) /* Ethernet, SPI */
#define M360_BD_CONTROL_CHAR (1<<11) /* SCC UART */
#define M360_BD_FIRST_IN_FRAME (1<<10) /* Ethernet */
#define M360_BD_ADDRESS (1<<10) /* SCC UART */
#define M360_BD_CONTINUOUS (1<<9) /* SCC UART, SMC UART, SPI */
#define M360_BD_MISS (1<<8) /* Ethernet */
#define M360_BD_IDLE (1<<8) /* SCC UART, SMC UART */
#define M360_BD_ADDRSS_MATCH (1<<7) /* SCC UART */
#define M360_BD_LONG (1<<5) /* Ethernet */
#define M360_BD_BREAK (1<<5) /* SCC UART, SMC UART */
#define M360_BD_NONALIGNED (1<<4) /* Ethernet */
#define M360_BD_FRAMING_ERROR (1<<4) /* SCC UART, SMC UART */
#define M360_BD_SHORT (1<<3) /* Ethernet */
#define M360_BD_PARITY_ERROR (1<<3) /* SCC UART, SMC UART */
#define M360_BD_CRC_ERROR (1<<2) /* Ethernet */
#define M360_BD_OVERRUN (1<<1) /* Ethernet, SCC UART, SMC UART, SPI */
#define M360_BD_COLLISION (1<<0) /* Ethernet */
#define M360_BD_CARRIER_LOST (1<<0) /* SCC UART */
#define M360_BD_MASTER_ERROR (1<<0) /* SPI */
/*
* Bits in transmit buffer descriptor status word
* Many bits have the same meaning as those in receiver buffer descriptors.
*/
#define M360_BD_READY (1<<15) /* Ethernet, SCC UART, SMC UART, SPI */
#define M360_BD_PAD (1<<14) /* Ethernet */
#define M360_BD_CTS_REPORT (1<<11) /* SCC UART */
#define M360_BD_TX_CRC (1<<10) /* Ethernet */
#define M360_BD_DEFER (1<<9) /* Ethernet */
#define M360_BD_HEARTBEAT (1<<8) /* Ethernet */
#define M360_BD_PREAMBLE (1<<8) /* SCC UART, SMC UART */
#define M360_BD_LATE_COLLISION (1<<7) /* Ethernet */
#define M360_BD_NO_STOP_BIT (1<<7) /* SCC UART */
#define M360_BD_RETRY_LIMIT (1<<6) /* Ethernet */
#define M360_BD_RETRY_COUNT(x) (((x)&0x3C)>>2) /* Ethernet */
#define M360_BD_UNDERRUN (1<<1) /* Ethernet, SPI */
#define M360_BD_CARRIER_LOST (1<<0) /* Ethernet */
#define M360_BD_CTS_LOST (1<<0) /* SCC UART */
/*
*************************************************************************
* IDMA Buffer Descriptors *
*************************************************************************
*/
typedef struct m360IDMABufferDescriptor_ {
rtems_unsigned16 status;
rtems_unsigned16 _pad;
rtems_unsigned32 length;
void *source;
void *destination;
} m360IDMABufferDescriptor_t;
/*
*************************************************************************
* RISC Communication Processor Module Command Register (CR) *
*************************************************************************
*/
#define M360_CR_RST (1<<15) /* Reset communication processor */
#define M360_CR_OP_INIT_RX_TX (0<<8) /* SCC, SMC UART, SMC GCI, SPI */
#define M360_CR_OP_INIT_RX (1<<8) /* SCC, SMC UART, SPI */
#define M360_CR_OP_INIT_TX (2<<8) /* SCC, SMC UART, SPI */
#define M360_CR_OP_INIT_HUNT (3<<8) /* SCC, SMC UART */
#define M360_CR_OP_STOP_TX (4<<8) /* SCC, SMC UART */
#define M360_CR_OP_GR_STOP_TX (5<<8) /* SCC */
#define M360_CR_OP_INIT_IDMA (5<<8) /* IDMA */
#define M360_CR_OP_RESTART_TX (6<<8) /* SCC, SMC UART */
#define M360_CR_OP_CLOSE_RX_BD (7<<8) /* SCC, SMC UART, SPI */
#define M360_CR_OP_SET_GRP_ADDR (8<<8) /* SCC */
#define M360_CR_OP_SET_TIMER (8<<8) /* Timer */
#define M360_CR_OP_GCI_TIMEOUT (9<<8) /* SMC GCI */
#define M360_CR_OP_RESERT_BCS (10<<8) /* SCC */
#define M360_CR_OP_GCI_ABORT (10<<8) /* SMC GCI */
#define M360_CR_CHAN_SCC1 (0<<4) /* Channel selection */
#define M360_CR_CHAN_SCC2 (4<<4)
#define M360_CR_CHAN_SPI (5<<4)
#define M360_CR_CHAN_TIMER (5<<4)
#define M360_CR_CHAN_SCC3 (8<<4)
#define M360_CR_CHAN_SMC1 (9<<4)
#define M360_CR_CHAN_IDMA1 (9<<4)
#define M360_CR_CHAN_SCC4 (12<<4)
#define M360_CR_CHAN_SMC2 (13<<4)
#define M360_CR_CHAN_IDMA2 (13<<4)
#define M360_CR_FLG (1<<0) /* Command flag */
/*
*************************************************************************
* System Protection Control Register (SYPCR) *
*************************************************************************
*/
#define M360_SYPCR_SWE (1<<7) /* Software watchdog enable */
#define M360_SYPCR_SWRI (1<<6) /* Software watchdog reset select */
#define M360_SYPCR_SWT1 (1<<5) /* Software watchdog timing bit 1 */
#define M360_SYPCR_SWT0 (1<<4) /* Software watchdog timing bit 0 */
#define M360_SYPCR_DBFE (1<<3) /* Double bus fault monitor enable */
#define M360_SYPCR_BME (1<<2) /* Bus monitor external enable */
#define M360_SYPCR_BMT1 (1<<1) /* Bus monitor timing bit 1 */
#define M360_SYPCR_BMT0 (1<<0) /* Bus monitor timing bit 0 */
/*
*************************************************************************
* Memory Control Registers *
*************************************************************************
*/
#define M360_GMR_RCNT(x) ((x)<<24) /* Refresh count */
#define M360_GMR_RFEN (1<<23) /* Refresh enable */
#define M360_GMR_RCYC(x) ((x)<<21) /* Refresh cycle length */
#define M360_GMR_PGS(x) ((x)<<18) /* Page size */
#define M360_GMR_DPS_32BIT (0<<16) /* DRAM port size */
#define M360_GMR_DPS_16BIT (1<<16)
#define M360_GMR_DPS_8BIT (2<<16)
#define M360_GMR_DPS_DSACK (3<<16)
#define M360_GMR_WBT40 (1<<15) /* Wait between 040 transfers */
#define M360_GMR_WBTQ (1<<14) /* Wait between 360 transfers */
#define M360_GMR_SYNC (1<<13) /* Synchronous external access */
#define M360_GMR_EMWS (1<<12) /* External master wait state */
#define M360_GMR_OPAR (1<<11) /* Odd parity */
#define M360_GMR_PBEE (1<<10) /* Parity bus error enable */
#define M360_GMR_TSS40 (1<<9) /* TS* sample for 040 */
#define M360_GMR_NCS (1<<8) /* No CPU space */
#define M360_GMR_DWQ (1<<7) /* Delay write for 360 */
#define M360_GMR_DW40 (1<<6) /* Delay write for 040 */
#define M360_GMR_GAMX (1<<5) /* Global address mux enable */
#define M360_MEMC_BR_FC(x) ((x)<<7) /* Function code limit */
#define M360_MEMC_BR_TRLXQ (1<<6) /* Relax timing requirements */
#define M360_MEMC_BR_BACK40 (1<<5) /* Burst acknowledge to 040 */
#define M360_MEMC_BR_CSNT40 (1<<4) /* CS* negate timing for 040 */
#define M360_MEMC_BR_CSNTQ (1<<3) /* CS* negate timing for 360 */
#define M360_MEMC_BR_PAREN (1<<2) /* Enable parity checking */
#define M360_MEMC_BR_WP (1<<1) /* Write Protect */
#define M360_MEMC_BR_V (1<<0) /* Base/Option register are valid */
#define M360_MEMC_OR_TCYC(x) ((x)<<28) /* Cycle length (clocks) */
#define M360_MEMC_OR_WAITS(x) M360_MEMC_OR_TCYC((x)+1)
#define M360_MEMC_OR_2KB 0x0FFFF800 /* Address range */
#define M360_MEMC_OR_4KB 0x0FFFF000
#define M360_MEMC_OR_8KB 0x0FFFE000
#define M360_MEMC_OR_16KB 0x0FFFC000
#define M360_MEMC_OR_32KB 0x0FFF8000
#define M360_MEMC_OR_64KB 0x0FFF0000
#define M360_MEMC_OR_128KB 0x0FFE0000
#define M360_MEMC_OR_256KB 0x0FFC0000
#define M360_MEMC_OR_512KB 0x0FF80000
#define M360_MEMC_OR_1MB 0x0FF00000
#define M360_MEMC_OR_2MB 0x0FE00000
#define M360_MEMC_OR_4MB 0x0FC00000
#define M360_MEMC_OR_8MB 0x0F800000
#define M360_MEMC_OR_16MB 0x0F000000
#define M360_MEMC_OR_32MB 0x0E000000
#define M360_MEMC_OR_64MB 0x0C000000
#define M360_MEMC_OR_128MB 0x08000000
#define M360_MEMC_OR_256MB 0x00000000
#define M360_MEMC_OR_FCMC(x) ((x)<<7) /* Function code mask */
#define M360_MEMC_OR_BCYC(x) ((x)<<5) /* Burst cycle length (clocks) */
#define M360_MEMC_OR_PGME (1<<3) /* Page mode enable */
#define M360_MEMC_OR_32BIT (0<<1) /* Port size */
#define M360_MEMC_OR_16BIT (1<<1)
#define M360_MEMC_OR_8BIT (2<<1)
#define M360_MEMC_OR_DSACK (3<<1)
#define M360_MEMC_OR_DRAM (1<<0) /* Dynamic RAM select */
/*
*************************************************************************
* SI Mode Register (SIMODE) *
*************************************************************************
*/
#define M360_SI_SMC2_BITS 0xFFFF0000 /* All SMC2 bits */
#define M360_SI_SMC2_TDM (1<<31) /* Multiplexed SMC2 */
#define M360_SI_SMC2_BRG1 (0<<28) /* SMC2 clock souce */
#define M360_SI_SMC2_BRG2 (1<<28)
#define M360_SI_SMC2_BRG3 (2<<28)
#define M360_SI_SMC2_BRG4 (3<<28)
#define M360_SI_SMC2_CLK5 (0<<28)
#define M360_SI_SMC2_CLK6 (1<<28)
#define M360_SI_SMC2_CLK7 (2<<28)
#define M360_SI_SMC2_CLK8 (3<<28)
#define M360_SI_SMC1_BITS 0x0000FFFF /* All SMC1 bits */
#define M360_SI_SMC1_TDM (1<<15) /* Multiplexed SMC1 */
#define M360_SI_SMC1_BRG1 (0<<12) /* SMC1 clock souce */
#define M360_SI_SMC1_BRG2 (1<<12)
#define M360_SI_SMC1_BRG3 (2<<12)
#define M360_SI_SMC1_BRG4 (3<<12)
#define M360_SI_SMC1_CLK1 (0<<12)
#define M360_SI_SMC1_CLK2 (1<<12)
#define M360_SI_SMC1_CLK3 (2<<12)
#define M360_SI_SMC1_CLK4 (3<<12)
/*
*************************************************************************
* SDMA Configuration Register (SDMA) *
*************************************************************************
*/
#define M360_SDMA_FREEZE (2<<13) /* Freeze on next bus cycle */
#define M360_SDMA_SISM_7 (7<<8) /* Normal interrupt service mask */
#define M360_SDMA_SAID_4 (4<<4) /* Normal arbitration ID */
#define M360_SDMA_INTE (1<<1) /* SBER interrupt enable */
#define M360_SDMA_INTB (1<<0) /* SBKP interrupt enable */
/*
*************************************************************************
* Baud (sic) Rate Generators *
*************************************************************************
*/
#define M360_BRG_RST (1<<17) /* Reset generator */
#define M360_BRG_EN (1<<16) /* Enable generator */
#define M360_BRG_EXTC_BRGCLK (0<<14) /* Source is BRGCLK */
#define M360_BRG_EXTC_CLK2 (1<<14) /* Source is CLK2 pin */
#define M360_BRG_EXTC_CLK6 (2<<14) /* Source is CLK6 pin */
#define M360_BRG_ATB (1<<13) /* Autobaud */
#define M360_BRG_115200 (13<<1) /* Assume 25 MHz clock */
#define M360_BRG_57600 (26<<1)
#define M360_BRG_38400 (40<<1)
#define M360_BRG_19200 (80<<1)
#define M360_BRG_9600 (162<<1)
#define M360_BRG_4800 (324<<1)
#define M360_BRG_2400 (650<<1)
#define M360_BRG_1200 (1301<<1)
#define M360_BRG_600 (2603<<1)
#define M360_BRG_300 ((324<<1) | 1)
#define M360_BRG_150 ((650<<1) | 1)
#define M360_BRG_75 ((1301<<1) | 1)
/*
*************************************************************************
* MC68360 DUAL-PORT RAM AND REGISTERS *
*************************************************************************
*/
typedef struct m360_ {
/*
* Dual-port RAM
*/
rtems_unsigned8 dpram0[0x400]; /* Microcode program */
rtems_unsigned8 dpram1[0x200];
rtems_unsigned8 dpram2[0x100]; /* Microcode scratch */
rtems_unsigned8 dpram3[0x100]; /* Not on REV A or B masks */
rtems_unsigned8 _rsv0[0xC00-0x800];
m360SCCENparms_t scc1p;
rtems_unsigned8 _rsv1[0xCB0-0xC00-sizeof(m360SCCENparms_t)];
m360MiscParms_t miscp;
rtems_unsigned8 _rsv2[0xD00-0xCB0-sizeof(m360MiscParms_t)];
m360SCCparms_t scc2p;
rtems_unsigned8 _rsv3[0xD80-0xD00-sizeof(m360SCCparms_t)];
m360SPIparms_t spip;
rtems_unsigned8 _rsv4[0xDB0-0xD80-sizeof(m360SPIparms_t)];
m360TimerParms_t tmp;
rtems_unsigned8 _rsv5[0xE00-0xDB0-sizeof(m360TimerParms_t)];
m360SCCparms_t scc3p;
rtems_unsigned8 _rsv6[0xE70-0xE00-sizeof(m360SCCparms_t)];
m360IDMAparms_t idma1p;
rtems_unsigned8 _rsv7[0xE80-0xE70-sizeof(m360IDMAparms_t)];
m360SMCparms_t smc1p;
rtems_unsigned8 _rsv8[0xF00-0xE80-sizeof(m360SMCparms_t)];
m360SCCparms_t scc4p;
rtems_unsigned8 _rsv9[0xF70-0xF00-sizeof(m360SCCparms_t)];
m360IDMAparms_t idma2p;
rtems_unsigned8 _rsv10[0xF80-0xF70-sizeof(m360IDMAparms_t)];
m360SMCparms_t smc2p;
rtems_unsigned8 _rsv11[0x1000-0xF80-sizeof(m360SMCparms_t)];
/*
* SIM Block
*/
rtems_unsigned32 mcr;
rtems_unsigned32 _pad00;
rtems_unsigned8 avr;
rtems_unsigned8 rsr;
rtems_unsigned16 _pad01;
rtems_unsigned8 clkocr;
rtems_unsigned8 _pad02;
rtems_unsigned16 _pad03;
rtems_unsigned16 pllcr;
rtems_unsigned16 _pad04;
rtems_unsigned16 cdvcr;
rtems_unsigned16 pepar;
rtems_unsigned32 _pad05[2];
rtems_unsigned16 _pad06;
rtems_unsigned8 sypcr;
rtems_unsigned8 swiv;
rtems_unsigned16 _pad07;
rtems_unsigned16 picr;
rtems_unsigned16 _pad08;
rtems_unsigned16 pitr;
rtems_unsigned16 _pad09;
rtems_unsigned8 _pad10;
rtems_unsigned8 swsr;
rtems_unsigned32 bkar;
rtems_unsigned32 bcar;
rtems_unsigned32 _pad11[2];
/*
* MEMC Block
*/
rtems_unsigned32 gmr;
rtems_unsigned16 mstat;
rtems_unsigned16 _pad12;
rtems_unsigned32 _pad13[2];
m360MEMCRegisters_t memc[8];
rtems_unsigned8 _pad14[0xF0-0xD0];
rtems_unsigned8 _pad15[0x100-0xF0];
rtems_unsigned8 _pad16[0x500-0x100];
/*
* IDMA1 Block
*/
rtems_unsigned16 iccr;
rtems_unsigned16 _pad17;
rtems_unsigned16 cmr1;
rtems_unsigned16 _pad18;
rtems_unsigned32 sapr1;
rtems_unsigned32 dapr1;
rtems_unsigned32 bcr1;
rtems_unsigned8 fcr1;
rtems_unsigned8 _pad19;
rtems_unsigned8 cmar1;
rtems_unsigned8 _pad20;
rtems_unsigned8 csr1;
rtems_unsigned8 _pad21;
rtems_unsigned16 _pad22;
/*
* SDMA Block
*/
rtems_unsigned8 sdsr;
rtems_unsigned8 _pad23;
rtems_unsigned16 sdcr;
rtems_unsigned32 sdar;
/*
* IDMA2 Block
*/
rtems_unsigned16 _pad24;
rtems_unsigned16 cmr2;
rtems_unsigned32 sapr2;
rtems_unsigned32 dapr2;
rtems_unsigned32 bcr2;
rtems_unsigned8 fcr2;
rtems_unsigned8 _pad26;
rtems_unsigned8 cmar2;
rtems_unsigned8 _pad27;
rtems_unsigned8 csr2;
rtems_unsigned8 _pad28;
rtems_unsigned16 _pad29;
rtems_unsigned32 _pad30;
/*
* CPIC Block
*/
rtems_unsigned32 cicr;
rtems_unsigned32 cipr;
rtems_unsigned32 cimr;
rtems_unsigned32 cisr;
/*
* Parallel I/O Block
*/
rtems_unsigned16 padir;
rtems_unsigned16 papar;
rtems_unsigned16 paodr;
rtems_unsigned16 padat;
rtems_unsigned32 _pad31[2];
rtems_unsigned16 pcdir;
rtems_unsigned16 pcpar;
rtems_unsigned16 pcso;
rtems_unsigned16 pcdat;
rtems_unsigned16 pcint;
rtems_unsigned16 _pad32;
rtems_unsigned32 _pad33[5];
/*
* TIMER Block
*/
rtems_unsigned16 tgcr;
rtems_unsigned16 _pad34;
rtems_unsigned32 _pad35[3];
rtems_unsigned16 tmr1;
rtems_unsigned16 tmr2;
rtems_unsigned16 trr1;
rtems_unsigned16 trr2;
rtems_unsigned16 tcr1;
rtems_unsigned16 tcr2;
rtems_unsigned16 tcn1;
rtems_unsigned16 tcn2;
rtems_unsigned16 tmr3;
rtems_unsigned16 tmr4;
rtems_unsigned16 trr3;
rtems_unsigned16 trr4;
rtems_unsigned16 tcr3;
rtems_unsigned16 tcr4;
rtems_unsigned16 tcn3;
rtems_unsigned16 tcn4;
rtems_unsigned16 ter1;
rtems_unsigned16 ter2;
rtems_unsigned16 ter3;
rtems_unsigned16 ter4;
rtems_unsigned32 _pad36[2];
/*
* CP Block
*/
rtems_unsigned16 cr;
rtems_unsigned16 _pad37;
rtems_unsigned16 rccr;
rtems_unsigned16 _pad38;
rtems_unsigned32 _pad39[3];
rtems_unsigned16 _pad40;
rtems_unsigned16 rter;
rtems_unsigned16 _pad41;
rtems_unsigned16 rtmr;
rtems_unsigned32 _pad42[5];
/*
* BRG Block
*/
rtems_unsigned32 brgc1;
rtems_unsigned32 brgc2;
rtems_unsigned32 brgc3;
rtems_unsigned32 brgc4;
/*
* SCC Block
*/
m360SCCRegisters_t scc1;
m360SCCRegisters_t scc2;
m360SCCRegisters_t scc3;
m360SCCRegisters_t scc4;
/*
* SMC Block
*/
m360SMCRegisters_t smc1;
m360SMCRegisters_t smc2;
/*
* SPI Block
*/
rtems_unsigned16 spmode;
rtems_unsigned16 _pad43[2];
rtems_unsigned8 spie;
rtems_unsigned8 _pad44;
rtems_unsigned16 _pad45;
rtems_unsigned8 spim;
rtems_unsigned8 _pad46[2];
rtems_unsigned8 spcom;
rtems_unsigned16 _pad47[2];
/*
* PIP Block
*/
rtems_unsigned16 pipc;
rtems_unsigned16 _pad48;
rtems_unsigned16 ptpr;
rtems_unsigned32 pbdir;
rtems_unsigned32 pbpar;
rtems_unsigned16 _pad49;
rtems_unsigned16 pbodr;
rtems_unsigned32 pbdat;
rtems_unsigned32 _pad50[6];
/*
* SI Block
*/
rtems_unsigned32 simode;
rtems_unsigned8 sigmr;
rtems_unsigned8 _pad51;
rtems_unsigned8 sistr;
rtems_unsigned8 sicmr;
rtems_unsigned32 _pad52;
rtems_unsigned32 sicr;
rtems_unsigned16 _pad53;
rtems_unsigned16 sirp[2];
rtems_unsigned16 _pad54;
rtems_unsigned32 _pad55[2];
rtems_unsigned8 siram[256];
} m360_t;
extern volatile m360_t m360;
#endif /* __MC68360_h */

View File

@@ -59,7 +59,7 @@ extern "C" {
* m68lc040 (no FP)
* m68ec040 (no FP)
* m68302 (no FP)
* m68360 (no FP)
* mcpu32 (no FP) (includes m68360)
*
* Primary difference (for RTEMS) between m68040, m680lc040, and
* m68ec040 is the presence or absence of the FPU.
@@ -76,8 +76,17 @@ extern "C" {
* (cause an indeterminate result). The 68EC040 and 68LC040 do not
* implement the DLE or multiplexed bus modes. The 68EC040 does not
* implement the output buffer impedance selection mode of operation."
*
* M68K_HAS_EXTB_L is used to enable/disable usage of the extb.l instruction
* which is not available for 68000 or 68ec000 cores (68000, 68001, 68008,
* 68010, 68302, 68306, 68307). This instruction is available on the 68020
* up and the cpu32 based models.
*
* NOTE:
* Eventually it would be nice to evaluate doing a lot of this section
* by having each model specigy which core it uses and then go from there.
*/
#if defined(m68000)
#define CPU_MODEL_NAME "m68000"
@@ -86,6 +95,7 @@ extern "C" {
#define M68K_HAS_FPU 0
#define M68K_HAS_BFFFO 0
#define M68K_HAS_PREINDEXING 0
#define M68K_HAS_EXTB_L 0
#elif defined(m68020)
@@ -95,6 +105,7 @@ extern "C" {
#define M68K_HAS_FPU 1
#define M68K_HAS_BFFFO 1
#define M68K_HAS_PREINDEXING 1
#define M68K_HAS_EXTB_L 1
#elif defined(m68020_nofp)
@@ -104,6 +115,7 @@ extern "C" {
#define M68K_HAS_FPU 0
#define M68K_HAS_BFFFO 1
#define M68K_HAS_PREINDEXING 1
#define M68K_HAS_EXTB_L 1
#elif defined(m68030)
@@ -113,6 +125,7 @@ extern "C" {
#define M68K_HAS_FPU 1
#define M68K_HAS_BFFFO 1
#define M68K_HAS_PREINDEXING 1
#define M68K_HAS_EXTB_L 1
#elif defined(m68040)
@@ -122,6 +135,7 @@ extern "C" {
#define M68K_HAS_FPU 1
#define M68K_HAS_BFFFO 1
#define M68K_HAS_PREINDEXING 1
#define M68K_HAS_EXTB_L 1
#elif defined(m68lc040)
@@ -131,6 +145,7 @@ extern "C" {
#define M68K_HAS_FPU 0
#define M68K_HAS_BFFFO 1
#define M68K_HAS_PREINDEXING 1
#define M68K_HAS_EXTB_L 1
#elif defined(m68ec040)
@@ -140,6 +155,7 @@ extern "C" {
#define M68K_HAS_FPU 0
#define M68K_HAS_BFFFO 1
#define M68K_HAS_PREINDEXING 1
#define M68K_HAS_EXTB_L 1
#elif defined(m68302)
/* essentially a m68000 with onboard peripherals */
@@ -149,6 +165,7 @@ extern "C" {
#define M68K_HAS_FPU 0
#define M68K_HAS_BFFFO 0
#define M68K_HAS_PREINDEXING 0
#define M68K_HAS_EXTB_L 0
#elif defined(m68332)
@@ -158,15 +175,17 @@ extern "C" {
#define M68K_HAS_FPU 0
#define M68K_HAS_BFFFO 0
#define M68K_HAS_PREINDEXING 0
#define M68K_HAS_EXTB_L 1
#elif defined(m68360)
#elif defined(mcpu32)
#define CPU_MODEL_NAME "m68360"
#define CPU_MODEL_NAME "mcpu32"
#define M68K_HAS_VBR 1
#define M68K_HAS_SEPARATE_STACKS 0
#define M68K_HAS_FPU 0
#define M68K_HAS_BFFFO 0
#define M68K_HAS_PREINDEXING 1
#define M68K_HAS_EXTB_L 1
#else

View File

@@ -328,12 +328,6 @@ typedef struct {
/*
* The following table contains the information required to configure
* the XXX processor specific parameters.
*
* NOTE: The interrupt_stack_size field is required if
* CPU_ALLOCATE_INTERRUPT_STACK is defined as TRUE.
*
* The pretasking_hook, predriver_hook, and postdriver_hook,
* and the do_zero_of_workspace fields are required on ALL CPUs.
*/
typedef struct {
@@ -344,6 +338,10 @@ typedef struct {
boolean do_zero_of_workspace;
unsigned32 interrupt_stack_size;
unsigned32 extra_mpci_receive_server_stack;
void * (*stack_allocate_hook)( unsigned32 );
void (*stack_free_hook)( void* );
/* end of fields required on all CPUs */
unsigned32 some_other_cpu_dependent_info;
} rtems_cpu_table;

View File

@@ -492,12 +492,6 @@ typedef struct {
/*
* The following table contains the information required to configure
* the processor specific parameters.
*
* NOTE: The interrupt_stack_size field is required if
* CPU_ALLOCATE_INTERRUPT_STACK is defined as TRUE.
*
* The pretasking_hook, predriver_hook, and postdriver_hook,
* and the do_zero_of_workspace fields are required on ALL CPUs.
*/
typedef struct {
@@ -508,6 +502,10 @@ typedef struct {
boolean do_zero_of_workspace;
unsigned32 interrupt_stack_size;
unsigned32 extra_mpci_receive_server_stack;
void * (*stack_allocate_hook)( unsigned32 );
void (*stack_free_hook)( void* );
/* end of fields required on all CPUs */
} rtems_cpu_table;
/*

View File

@@ -46,6 +46,7 @@
#include <sys/ipc.h>
#include <sys/shm.h>
#include <sys/sem.h>
#include <string.h> /* memset */
#ifndef SA_RESTART
#define SA_RESTART 0
@@ -180,8 +181,6 @@ void _CPU_Context_From_CPU_Init()
/*
* HACK - set the _SYSTEM_ID to 0x20c so that setjmp/longjmp
* will handle the full 32 floating point registers.
*
* NOTE: Is this a bug in HPUX9?
*/
{
@@ -195,6 +194,18 @@ void _CPU_Context_From_CPU_Init()
* get default values to use in _CPU_Context_Initialize()
*/
(void) memset(
&_CPU_Context_Default_with_ISRs_enabled,
0,
sizeof(Context_Control)
);
(void) memset(
&_CPU_Context_Default_with_ISRs_disabled,
0,
sizeof(Context_Control)
);
_CPU_ISR_Set_level( 0 );
_CPU_Context_switch(
&_CPU_Context_Default_with_ISRs_enabled,
@@ -382,13 +393,16 @@ void _CPU_Context_Initialize(
* grow up, we build the stack based on the _stack_low address.
*/
_stack_low = ((unsigned32)(_stack_base) + CPU_STACK_ALIGNMENT);
_stack_low = (unsigned32)(_stack_base) + CPU_STACK_ALIGNMENT - 1;
_stack_low &= ~(CPU_STACK_ALIGNMENT - 1);
_stack_high = ((unsigned32)(_stack_base) + _size);
_stack_high = (unsigned32)(_stack_base) + _size;
_stack_high &= ~(CPU_STACK_ALIGNMENT - 1);
_the_size = _size & ~(CPU_STACK_ALIGNMENT - 1);
if (_stack_high > _stack_low)
_the_size = _stack_high - _stack_low;
else
_the_size = _stack_low - _stack_high;
/*
* Slam our jmp_buf template into the context we are creating
@@ -399,7 +413,11 @@ void _CPU_Context_Initialize(
else
source = &_CPU_Context_Default_with_ISRs_disabled;
memcpy(_the_context, source, sizeof(Context_Control) ); /* sizeof(jmp_buf)); */
memcpy(
_the_context,
source,
sizeof(Context_Control) /* sizeof(jmp_buf)); */
);
addr = (unsigned32 *)_the_context;
@@ -411,13 +429,12 @@ void _CPU_Context_Initialize(
* See if we are using shared libraries by checking
* bit 30 in 24 off of newp. If bit 30 is set then
* we are using shared libraries and the jump address
* is at what 24 off of newp points to so shove that
* into 24 off of newp instead.
* points to the pointer, so we put that into rp instead.
*/
if (jmp_addr & 0x40000000) {
jmp_addr &= 0xfffffffc;
*(addr + RP_OFF) = (unsigned32)*(unsigned32 *)jmp_addr;
*(addr + RP_OFF) = *(unsigned32 *)jmp_addr;
}
#elif defined(sparc)
@@ -650,17 +667,31 @@ void _CPU_Stray_signal(int sig_num)
default:
{
/*
* We avoid using the stdio section of the library.
* The following is generally safe.
*/
/*
* We avoid using the stdio section of the library.
* The following is generally safe
*/
buffer[ 0 ] = (sig_num >> 4) + 0x30;
buffer[ 1 ] = (sig_num & 0xf) + 0x30;
buffer[ 2 ] = '\n';
int digit;
int number = sig_num;
int len = 0;
digit = number / 100;
number %= 100;
if (digit) buffer[len++] = '0' + digit;
digit = number / 10;
number %= 10;
if (digit || len) buffer[len++] = '0' + digit;
digit = number;
buffer[len++] = '0' + digit;
write( 2, "Stray signal 0x", 12 );
write( 2, buffer, 3 );
buffer[ len++ ] = '\n';
write( 2, "Stray signal ", 13 );
write( 2, buffer, len );
}
}
@@ -682,7 +713,7 @@ void _CPU_Stray_signal(int sig_num)
case SIGBUS:
case SIGSEGV:
case SIGTERM:
_CPU_Fatal_error(0x100 + sig_num);
_CPU_Fatal_error(0x100 + sig_num);
}
}
@@ -741,13 +772,12 @@ void _CPU_Stop_clock( void )
* vector.
*/
(void) memset(&act, 0, sizeof(act));
act.sa_handler = SIG_IGN;
sigaction(SIGALRM, &act, 0);
new.it_value.tv_sec = 0;
new.it_value.tv_usec = 0;
(void) memset(&new, 0, sizeof(new));
setitimer(ITIMER_REAL, &new, 0);
}

View File

@@ -441,9 +441,22 @@ extern "C" {
*
* Doing it this way avoids conflicts between the native stuff and the
* RTEMS stuff.
*
* NOTE:
* hpux9 setjmp is optimized for the case where the setjmp buffer
* is 8 byte aligned. In a RISC world, this seems likely to enable
* 8 byte copies, especially for the float registers.
* So we always align them on 8 byte boundaries.
*/
#ifdef __GNUC__
#define CONTEXT_STRUCTURE_ALIGNMENT __attribute__ ((aligned (8)))
#else
#define CONTEXT_STRUCTURE_ALIGNMENT
#endif
typedef struct {
char Area[ CPU_CONTEXT_SIZE_IN_BYTES ];
char Area[ CPU_CONTEXT_SIZE_IN_BYTES ] CONTEXT_STRUCTURE_ALIGNMENT;
} Context_Control;
typedef struct {
@@ -455,13 +468,7 @@ typedef struct {
/*
* The following table contains the information required to configure
* the XXX processor specific parameters.
*
* NOTE: The interrupt_stack_size field is required if
* CPU_ALLOCATE_INTERRUPT_STACK is defined as TRUE.
*
* The pretasking_hook, predriver_hook, and postdriver_hook,
* and the do_zero_of_workspace fields are required on ALL CPUs.
* the UNIX Simulator specific parameters.
*/
typedef struct {
@@ -472,6 +479,9 @@ typedef struct {
boolean do_zero_of_workspace;
unsigned32 interrupt_stack_size;
unsigned32 extra_mpci_receive_server_stack;
void * (*stack_allocate_hook)( unsigned32 );
void (*stack_free_hook)( void* );
/* end of required fields */
} rtems_cpu_table;
/*

View File

@@ -83,6 +83,16 @@ void _Chain_Initialize(
unsigned32 node_size
);
/*
* _Chain_Get_first_unprotected
*/
#ifndef USE_INLINES
Chain_Node *_Chain_Get_first_unprotected(
Chain_Control *the_chain
);
#endif
/*
* _Chain_Extract
*

View File

@@ -51,7 +51,8 @@ typedef enum {
INTERNAL_ERROR_OUT_OF_PACKETS,
INTERNAL_ERROR_OUT_OF_GLOBAL_OBJECTS,
INTERNAL_ERROR_OUT_OF_PROXIES,
INTERNAL_ERROR_INVALID_GLOBAL_ID
INTERNAL_ERROR_INVALID_GLOBAL_ID,
INTERNAL_ERROR_BAD_STACK_HOOK
} Internal_errors_Core_list;
/*

View File

@@ -214,9 +214,7 @@ void _ISR_Handler( void );
void _ISR_Dispatch( void );
#ifndef __RTEMS_APPLICATION__
#include <rtems/score/isr.inl>
#endif
#ifdef __cplusplus
}

View File

@@ -544,6 +544,20 @@ void _Thread_Set_priority(
boolean _Thread_Evaluate_mode( void );
/*
* _Thread_Get
*
* NOTE: If we are not using static inlines, this must be a real
* subroutine call.
*/
#ifndef USE_INLINES
Thread_Control *_Thread_Get (
Objects_Id id,
Objects_Locations *location
);
#endif
/*
* _Thread_Idle_body
*

View File

@@ -32,6 +32,19 @@ extern "C" {
EXTERN Heap_Control _Workspace_Area; /* executive heap header */
/*
* _Workspace_Handler_initialization
*
* DESCRIPTION:
*
* This routine performs the initialization necessary for this handler.
*/
void _Workspace_Handler_initialization(
void *starting_address,
unsigned32 size
);
/*
* _Workspace_Allocate_or_fatal_error
*

View File

@@ -17,53 +17,6 @@
#ifndef __WORKSPACE_inl
#define __WORKSPACE_inl
/*PAGE
*
* _Workspace_Handler_initialization
*
* DESCRIPTION:
*
* This routine performs the initialization necessary for this handler.
*/
STATIC INLINE void _Workspace_Handler_initialization(
void *starting_address,
unsigned32 size
)
{
unsigned32 *zero_out_array;
unsigned32 index;
unsigned32 memory_available;
if ( !starting_address || !_Addresses_Is_aligned( starting_address ) )
_Internal_error_Occurred(
INTERNAL_ERROR_CORE,
TRUE,
INTERNAL_ERROR_INVALID_WORKSPACE_ADDRESS
);
if ( _CPU_Table.do_zero_of_workspace ) {
for( zero_out_array = (unsigned32 *) starting_address, index = 0 ;
index < size / 4 ;
index++ )
zero_out_array[ index ] = 0;
}
memory_available = _Heap_Initialize(
&_Workspace_Area,
starting_address,
size,
CPU_HEAP_ALIGNMENT
);
if ( memory_available == 0 )
_Internal_error_Occurred(
INTERNAL_ERROR_CORE,
TRUE,
INTERNAL_ERROR_TOO_LITTLE_WORKSPACE
);
}
/*PAGE
*
* _Workspace_Allocate

View File

@@ -17,47 +17,6 @@
#ifndef __WORKSPACE_inl
#define __WORKSPACE_inl
/*PAGE
*
* _Workspace_Handler_initialization
*
*/
#define _Workspace_Handler_initialization( _starting_address, _size ) \
{ \
unsigned32 *zero_out_array; \
unsigned32 index; \
unsigned32 memory_available; \
\
if ( !(_starting_address) || !_Addresses_Is_aligned( (_starting_address) ) ) \
_Internal_error_Occurred( \
INTERNAL_ERROR_CORE, \
TRUE, \
INTERNAL_ERROR_INVALID_WORKSPACE_ADDRESS \
); \
\
if ( _CPU_Table.do_zero_of_workspace ) { \
for( zero_out_array = (unsigned32 *) (_starting_address), index = 0 ; \
index < (_size) / 4 ; \
index++ ) \
zero_out_array[ index ] = 0; \
} \
\
memory_available = _Heap_Initialize( \
&_Workspace_Area, \
(_starting_address), \
(_size), \
CPU_HEAP_ALIGNMENT \
); \
\
if ( memory_available == 0 ) \
_Internal_error_Occurred( \
INTERNAL_ERROR_CORE, \
TRUE, \
INTERNAL_ERROR_TOO_LITTLE_WORKSPACE \
); \
}
/*PAGE
*
* _Workspace_Allocate

View File

@@ -50,6 +50,19 @@ void _Thread_Handler_initialization(
{
unsigned32 index;
/*
* BOTH stacks hooks must be set or both must be NULL.
* Do not allow mixture.
*/
if ( !( ( _CPU_Table.stack_allocate_hook == 0 )
== ( _CPU_Table.stack_free_hook == 0 ) ) )
_Internal_error_Occurred(
INTERNAL_ERROR_CORE,
TRUE,
INTERNAL_ERROR_BAD_STACK_HOOK
);
_Context_Switch_necessary = FALSE;
_Thread_Executing = NULL;
_Thread_Heir = NULL;
@@ -281,6 +294,79 @@ void _Thread_Dispatch( void )
}
/*PAGE
*
* _Thread_Stack_Allocate
*
* Allocate the requested stack space for the thread.
* return the actual size allocated after any adjustment
* or return zero if the allocation failed.
* Set the Start.stack field to the address of the stack
*/
static unsigned32 _Thread_Stack_Allocate(
Thread_Control *the_thread,
unsigned32 stack_size)
{
void *stack_addr = 0;
if ( !_Stack_Is_enough( stack_size ) )
stack_size = STACK_MINIMUM_SIZE;
/*
* Call ONLY the CPU table stack allocate hook, _or_ the
* the RTEMS workspace allocate. This is so the stack free
* routine can call the correct deallocation routine.
*/
if ( _CPU_Table.stack_allocate_hook )
{
stack_addr = (*_CPU_Table.stack_allocate_hook)( stack_size );
} else {
/*
* First pad the requested size so we allocate enough memory
* so the context initialization can align it properly. The address
* returned the workspace allocate must be directly stored in the
* stack control block because it is later used in the free sequence.
*
* Thus it is the responsibility of the CPU dependent code to
* get and keep the stack adjust factor, the stack alignment, and
* the context initialization sequence in sync.
*/
stack_size = _Stack_Adjust_size( stack_size );
stack_addr = _Workspace_Allocate( stack_size );
}
if ( !stack_addr )
stack_size = 0;
the_thread->Start.stack = stack_addr;
return stack_size;
}
/*
* _Thread_Stack_Free
*
* Deallocate the Thread's stack.
*/
static void _Thread_Stack_Free(void *stack_addr)
{
/*
* Call ONLY the CPU table stack free hook, or the
* the RTEMS workspace free. This is so the free
* routine properly matches the allocation of the stack.
*/
if ( _CPU_Table.stack_free_hook )
(*_CPU_Table.stack_free_hook)( stack_addr );
else
_Workspace_Free( stack_addr );
}
/*PAGE
*
* _Thread_Initialize
@@ -320,12 +406,12 @@ boolean _Thread_Initialize(
stack = stack_area;
if ( !stack ) {
stack = _Workspace_Allocate( actual_stack_size );
actual_stack_size = _Thread_Stack_Allocate( the_thread, stack_size );
if ( !stack )
return FALSE;
if ( !actual_stack_size )
return FALSE; /* stack allocation failed */
the_thread->Start.stack = stack;
stack = the_thread->Start.stack;
} else
the_thread->Start.stack = NULL;
@@ -344,7 +430,7 @@ boolean _Thread_Initialize(
fp_area = _Workspace_Allocate( CONTEXT_FP_SIZE );
if ( !fp_area ) {
if ( the_thread->Start.stack )
(void) _Workspace_Free( the_thread->Start.stack );
(void) _Thread_Stack_Free( the_thread->Start.stack );
return FALSE;
}
fp_area = _Context_Fp_start( fp_area, 0 );
@@ -357,7 +443,7 @@ boolean _Thread_Initialize(
/*
* Allocate the floating point area for this thread
* Allocate the extensions area for this thread
*/
if ( _Thread_Maximum_extensions ) {
@@ -370,7 +456,7 @@ boolean _Thread_Initialize(
(void) _Workspace_Free( fp_area );
if ( the_thread->Start.stack )
(void) _Workspace_Free( the_thread->Start.stack );
(void) _Thread_Stack_Free( the_thread->Start.stack );
return FALSE;
}
@@ -413,7 +499,7 @@ boolean _Thread_Initialize(
(void) _Workspace_Free( fp_area );
if ( the_thread->Start.stack )
(void) _Workspace_Free( the_thread->Start.stack );
(void) _Thread_Stack_Free( the_thread->Start.stack );
return FALSE;
}

View File

@@ -20,6 +20,49 @@
#include <rtems/score/wkspace.h>
#include <rtems/score/interr.h>
/*PAGE
*
* _Workspace_Handler_initialization
*/
void _Workspace_Handler_initialization(
void *starting_address,
unsigned32 size
)
{
unsigned32 *zero_out_array;
unsigned32 index;
unsigned32 memory_available;
if ( !starting_address || !_Addresses_Is_aligned( starting_address ) )
_Internal_error_Occurred(
INTERNAL_ERROR_CORE,
TRUE,
INTERNAL_ERROR_INVALID_WORKSPACE_ADDRESS
);
if ( _CPU_Table.do_zero_of_workspace ) {
for( zero_out_array = (unsigned32 *) starting_address, index = 0 ;
index < size / 4 ;
index++ )
zero_out_array[ index ] = 0;
}
memory_available = _Heap_Initialize(
&_Workspace_Area,
starting_address,
size,
CPU_HEAP_ALIGNMENT
);
if ( memory_available == 0 )
_Internal_error_Occurred(
INTERNAL_ERROR_CORE,
TRUE,
INTERNAL_ERROR_TOO_LITTLE_WORKSPACE
);
}
/*PAGE
*
* _Workspace_Allocate_or_fatal_error

View File

@@ -48,7 +48,7 @@ BEGIN_CODE
#define LOAD_SEGMENTS(_value,_segment) \
movw $ ## _value, ax ; \
movw _segment, ax
movw ax, _segment
EXTERN (establish_stack)

View File

@@ -4,9 +4,8 @@
#
# This package requires a version of GCC that has been modified
# to support the `-m68360' argument. I have submitted the required changes
# to the GCC maintainers. Should they choose to use a different argument
# (-mcpu32 perhaps) this board support package will have to be changed.
# to support the `-mcpu32' argument. I have submitted the required
# changes to the GCC maintainers.
#
#

View File

@@ -118,6 +118,8 @@ extern m68k_isr_entry M68Kvec[]; /* vector table address */
void bsp_cleanup( void );
void M360ExecuteRISC( rtems_unsigned16 command );
m68k_isr_entry set_vector(
rtems_isr_entry handler,
rtems_vector_number vector,

View File

@@ -298,11 +298,11 @@ uhoh: nop | Leave spot for breakpoint
bra.s uhoh | Stuck forever
/*
* Place the low-order 3 octets of the board's
* ethernet address at a `well-known' location.
* Place the low-order 3 octets of the board's ethernet address at
* a `well-known' fixed location relative to the beginning of ROM.
*/
.align 2
| .long ETHERNET_ADDRESS | 08: Low-order 3 octets
.long ETHERNET_ADDRESS | Low-order 3 octets of ethernet address
/*
* Initial PC
@@ -347,24 +347,36 @@ start:
*/
jmp SYM(_Init68360) | Start C code (which never returns)
/*
* Clear BSS, set up real stack, initialize heap, start C program
* Assume that BSS size is a multiple of 4.
* FIXME: The zero-loop should be changed to put the CPU into loop-mode.
* FIXME: PROM-based systems will have to copy data segment to RAM here
* Copy DATA segment, clear BSS segment, set up real stack,
* initialize heap, start C program.
* Assume that DATA and BSS sizes are multiples of 4.
*/
PUBLIC (_ClearBSSAndStart)
SYM(_ClearBSSAndStart):
movel #clear_start,a0
movel #clear_end,a1
clrl d0
bras ZEROLOOPTEST
PUBLIC (_CopyDataClearBSSAndStart)
SYM(_CopyDataClearBSSAndStart):
lea copy_start,a0 | Get start of DATA in RAM
lea SYM(etext),a2 | Get start of DATA in ROM
cmpl a0,a2 | Are they the same?
beq.s NOCOPY | Yes, no copy necessary
lea copy_end,a1 | Get end of DATA in RAM
bra.s COPYLOOPTEST | Branch into copy loop
COPYLOOP:
movel a2@+,a0@+ | Copy word from ROM to RAM
COPYLOOPTEST:
cmpl a1,a0 | Done?
bcs.s COPYLOOP | No, skip
NOCOPY:
lea clear_start,a0 | Get start of BSS
lea clear_end,a1 | Get end of BSS
clrl d0 | Value to set
bra.s ZEROLOOPTEST | Branch into clear loop
ZEROLOOP:
movel d0,a0@+
movel d0,a0@+ | Clear a word
ZEROLOOPTEST:
cmpl a1,a0
bcs ZEROLOOP
cmpl a1,a0 | Done?
bcs.s ZEROLOOP | No, skip
movel #stack_init,a7 | set master stack pointer
movel d0,a7@- | environp
movel d0,a7@- | argv

View File

@@ -298,11 +298,11 @@ uhoh: nop | Leave spot for breakpoint
bra.s uhoh | Stuck forever
/*
* Place the low-order 3 octets of the board's
* ethernet address at a `well-known' location.
* Place the low-order 3 octets of the board's ethernet address at
* a `well-known' fixed location relative to the beginning of ROM.
*/
.align 2
| .long ETHERNET_ADDRESS | 08: Low-order 3 octets
.long ETHERNET_ADDRESS | Low-order 3 octets of ethernet address
/*
* Initial PC
@@ -347,24 +347,36 @@ start:
*/
jmp SYM(_Init68360) | Start C code (which never returns)
/*
* Clear BSS, set up real stack, initialize heap, start C program
* Assume that BSS size is a multiple of 4.
* FIXME: The zero-loop should be changed to put the CPU into loop-mode.
* FIXME: PROM-based systems will have to copy data segment to RAM here
* Copy DATA segment, clear BSS segment, set up real stack,
* initialize heap, start C program.
* Assume that DATA and BSS sizes are multiples of 4.
*/
PUBLIC (_ClearBSSAndStart)
SYM(_ClearBSSAndStart):
movel #clear_start,a0
movel #clear_end,a1
clrl d0
bras ZEROLOOPTEST
PUBLIC (_CopyDataClearBSSAndStart)
SYM(_CopyDataClearBSSAndStart):
lea copy_start,a0 | Get start of DATA in RAM
lea SYM(etext),a2 | Get start of DATA in ROM
cmpl a0,a2 | Are they the same?
beq.s NOCOPY | Yes, no copy necessary
lea copy_end,a1 | Get end of DATA in RAM
bra.s COPYLOOPTEST | Branch into copy loop
COPYLOOP:
movel a2@+,a0@+ | Copy word from ROM to RAM
COPYLOOPTEST:
cmpl a1,a0 | Done?
bcs.s COPYLOOP | No, skip
NOCOPY:
lea clear_start,a0 | Get start of BSS
lea clear_end,a1 | Get end of BSS
clrl d0 | Value to set
bra.s ZEROLOOPTEST | Branch into clear loop
ZEROLOOP:
movel d0,a0@+
movel d0,a0@+ | Clear a word
ZEROLOOPTEST:
cmpl a1,a0
bcs ZEROLOOP
cmpl a1,a0 | Done?
bcs.s ZEROLOOP | No, skip
movel #stack_init,a7 | set master stack pointer
movel d0,a7@- | environp
movel d0,a7@- | argv

View File

@@ -1,5 +1,5 @@
/*
* Initialize 68360 hardware
* MC68360 support routines
*
* W. Eric Norum
* Saskatchewan Accelerator Laboratory
@@ -12,15 +12,33 @@
#include <rtems.h>
#include <bsp.h>
#include "m68360.h"
#include <m68360.h>
void
_Init68360 (void)
/*
* Send a command to the CPM RISC processer
*/
void M360ExecuteRISC(rtems_unsigned16 command)
{
rtems_unsigned16 sr;
m68k_disable_interrupts (sr);
while (m360.cr & M360_CR_FLG)
continue;
m360.cr = command | M360_CR_FLG;
m68k_enable_interrupts (sr);
}
/*
* Initialize MC68360
*/
void _Init68360 (void)
{
int i;
extern void *_RomBase, *_RamBase;
m68k_isr_entry *vbr;
extern void _ClearBSSAndStart (void);
extern void _CopyDataClearBSSAndStart (void);
/*
* Step 6: Is this a power-up reset?
@@ -64,7 +82,7 @@ _Init68360 (void)
*((long *)((char *)&m360 + 0xE00 + i)) = 0;
*((long *)((char *)&m360 + 0xF00 + i)) = 0;
}
m360.cr = M360_CR_RST | M360_CR_FLG;
M360ExecuteRISC (M360_CR_RST);
/*
* Step 10: Write PEPAR
@@ -129,11 +147,10 @@ _Init68360 (void)
/*
* Step 13: Copy the exception vector table to system RAM
*/
m68k_get_vbr( vbr );
m68k_get_vbr (vbr);
for (i = 0; i < 256; ++i)
M68Kvec[i] = vbr[i];
m68k_set_vbr( M68Kvec );
m68k_set_vbr (M68Kvec);
/*
* Step 14: More system initialization
@@ -167,7 +184,7 @@ _Init68360 (void)
m360.mcr = 0x4C7F;
/*
* Clear BSS, switch stacks and call main()
* Copy data, clear BSS, switch stacks and call main()
*/
_ClearBSSAndStart ();
_CopyDataClearBSSAndStart ();
}

View File

@@ -13,65 +13,93 @@
* Declare on-board memory
*/
MEMORY {
ram : ORIGIN = 0x00000000, LENGTH = 4M
rom : ORIGIN = 0xFF000000, LENGTH = 1M
dpram : ORIGIN = 0xFE000000, LENGTH = 8k
ram : ORIGIN = 0x00000000, LENGTH = 4M
rom : ORIGIN = 0xFF000000, LENGTH = 1M
dpram : ORIGIN = 0xFE000000, LENGTH = 8k
}
/*
* Declare some sizes
* XXX: The assignment of ". += XyzSize;" fails in older gld's if the
* number used there is not constant. If this happens to you, edit
* the lines marked below to use a constant value.
*/
HeapSize = DEFINED(HeapSize) ? HeapSize : 0x10000;
StackSize = DEFINED(StackSize) ? StackSize : 0x1000;
/*
* Declare low-order three octets of Ethernet address
*/
ETHERNET_ADDRESS = DEFINED(ETHERNET_ADDRESS) ? ETHERNET_ADDRESS : 0xDEAD12;
/*
* Load objects
*/
SECTIONS {
/*
* Boot PROM
*/
rom : {
_RomBase = .;
__RomBase = .;
} >rom
/*
* Dynamic RAM
*/
ram : {
_RamBase = .;
__RamBase = .;
} >ram
/*
* Text, data and bss segments
*/
.text : {
__RamBase = .;
CREATE_OBJECT_SYMBOLS
*(.text)
. = ALIGN (16);
_etext = .;
CREATE_OBJECT_SYMBOLS
*(.text)
. = ALIGN (16);
etext = .;
_etext = .;
} >ram
.data : {
*(.data)
. = ALIGN (16);
_edata = .;
copy_start = .;
*(.data)
. = ALIGN (16);
_edata = .;
copy_end = .;
} >ram
.bss : {
_M68Kvec = .;
. += (256 * 4);
clear_start = .;
*(.bss)
*(COMMON)
. = ALIGN (16);
_end = .;
M68Kvec = .;
_M68Kvec = .;
. += (256 * 4);
clear_start = .;
*(.bss)
*(COMMON)
. = ALIGN (16);
_end = .;
__HeapStart = .;
. += HeapSize;
. += StackSize;
. = ALIGN (16);
stack_init = .;
clear_end = .;
_HeapStart = .;
__HeapStart = .;
/* . += HeapSize; */ /* XXX -- Old gld can't handle this */
/* . += StackSize; */ /* XXX -- Old gld can't handle this */
. += 0x10000; /* HeapSize for old gld */
. += 0x1000; /* StackSize for old gld */
. = ALIGN (16);
stack_init = .;
clear_end = .;
__WorkspaceBase = .;
} >ram
_WorkspaceBase = .;
__WorkspaceBase = .;
} >ram
/*
* On-chip memory/peripherals
*/
dpram : {
_m360 = .;
. += (8 * 1024);
/*
* On-chip memory/peripherals
*/
dpram : {
m360 = .;
_m360 = .;
. += (8 * 1024);
} >dpram
/*
* Boot PROM
*/
rom : {
__RomBase = .;
} >rom
} >dpram
}

View File

@@ -0,0 +1,111 @@
/*
* This file contains GNU linker directives for a generic MC68360 board.
* These linker directives are for producing a PROM version..
* To create the PROM image from the linkter output you must use objcopy
* (--adjust-section-vma) to place the data segment at the end of the text
* segment in the PROM. The start-up code takes care of copying this region
* to RAM.
*
* Saskatchewan Accelerator Laboratory
* University of Saskatchewan
* Saskatoon, Saskatchewan, CANADA
* eric@skatter.usask.ca
*
* $Id$
*/
/*
* a.out format doesn't handle prom images very well
*/
OUTPUT_FORMAT(coff-m68k)
/*
* Declare on-board memory
*/
MEMORY {
ram : ORIGIN = 0x00000000, LENGTH = 4M
rom : ORIGIN = 0xFF000000, LENGTH = 1M
dpram : ORIGIN = 0xFE000000, LENGTH = 8k
}
/*
* Declare some sizes
*/
HeapSize = DEFINED(HeapSize) ? HeapSize : 0x10000;
StackSize = DEFINED(StackSize) ? StackSize : 0x1000;
/*
* Declare low-order three octets of Ethernet address
*/
ETHERNET_ADDRESS = DEFINED(ETHERNET_ADDRESS) ? ETHERNET_ADDRESS : 0xDEAD12;
/*
* Load objects
*/
SECTIONS {
/*
* Boot PROM
*/
rom : {
_RomBase = .;
__RomBase = .;
} >rom
/*
* Dynamic RAM
*/
ram : {
_RamBase = .;
__RamBase = .;
} >ram
/*
* Text, data and bss segments
*/
.text : {
CREATE_OBJECT_SYMBOLS
*(.text)
. = ALIGN (16);
etext = .;
_etext = .;
} >rom
.data : {
copy_start = .;
*(.data)
. = ALIGN (16);
_edata = .;
copy_end = .;
} >ram
.bss : {
M68Kvec = .;
_M68Kvec = .;
. += (256 * 4);
clear_start = .;
*(.bss)
*(COMMON)
. = ALIGN (16);
_end = .;
_HeapStart = .;
__HeapStart = .;
. += HeapSize;
. += StackSize;
. = ALIGN (16);
stack_init = .;
clear_end = .;
_WorkspaceBase = .;
__WorkspaceBase = .;
} >ram
/*
* On-chip memory/peripherals
*/
dpram : {
m360 = .;
_m360 = .;
. += (8 * 1024);
} >dpram
}

View File

@@ -24,6 +24,8 @@
#include <shm.h>
#include <string.h> /* memset() */
#include <stdlib.h> /* malloc() */
#include <assert.h>
/*
* User extension to install MPCI_Fatal as a fatal error
@@ -53,6 +55,13 @@ rtems_mpci_entry Shm_Initialization( void )
Shm_Get_configuration( Shm_Local_node, &Shm_Configuration );
Shm_Interrupt_table = (Shm_Interrupt_information *) malloc(
sizeof(Shm_Interrupt_information) * (Shm_Maximum_nodes + 1)
);
assert( Shm_Interrupt_table );
Shm_Receive_message_count = 0;
Shm_Null_message_count = 0;
Shm_Interrupt_count = 0;

View File

@@ -430,7 +430,7 @@ typedef struct shm_config_info shm_config_table;
#endif
SHM_EXTERN shm_config_table *Shm_Configuration;
SHM_EXTERN Shm_Interrupt_information Shm_Interrupt_table[16];
SHM_EXTERN Shm_Interrupt_information *Shm_Interrupt_table;
SHM_EXTERN Shm_Node_status_control *Shm_Node_statuses;
SHM_EXTERN Shm_Locked_queue_Control *Shm_Locked_queues;
SHM_EXTERN Shm_Envelope_control *Shm_Envelopes;

View File

@@ -430,7 +430,7 @@ typedef struct shm_config_info shm_config_table;
#endif
SHM_EXTERN shm_config_table *Shm_Configuration;
SHM_EXTERN Shm_Interrupt_information Shm_Interrupt_table[16];
SHM_EXTERN Shm_Interrupt_information *Shm_Interrupt_table;
SHM_EXTERN Shm_Node_status_control *Shm_Node_statuses;
SHM_EXTERN Shm_Locked_queue_Control *Shm_Locked_queues;
SHM_EXTERN Shm_Envelope_control *Shm_Envelopes;

View File

@@ -91,7 +91,6 @@ extern rtems_cpu_table Cpu_table; /* owned by BSP */
extern int rtems_argc;
extern char **rtems_argv;
extern char **rtems_envp;
extern rtems_unsigned32 bsp_isr_level;

View File

@@ -1,8 +1,3 @@
/*
* @(#)bspstart.c 1.7 - 95/04/07
*
*/
/* bsp_start()
*
* This routine starts the application. It includes application,
@@ -55,7 +50,6 @@ rtems_unsigned32 bsp_isr_level;
rtems_unsigned32 Heap_size;
int rtems_argc;
char **rtems_argv;
char **rtems_envp;
/*
* May be overridden by RTEMS_WORKSPACE_SIZE and RTEMS_HEAPSPACE_SIZE
@@ -167,6 +161,13 @@ bsp_pretasking_hook(void)
#ifdef RTEMS_DEBUG
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
#endif
/*
* Dump malloc stats on exit...
*/
#if defined(RTEMS_DEBUG)
atexit(malloc_dump);
#endif
}
/*
@@ -198,11 +199,6 @@ bsp_postdriver_hook(void)
if ((stdin_fd != 0) || (stdout_fd != 1) || (stderr_fd != 2))
rtems_fatal_error_occurred( error_code | 'I' << 8 | 'O' );
#endif
#if defined(MALLOC_STATS)
atexit(malloc_dump);
#endif
}
/*

View File

@@ -1,7 +1,3 @@
//
// @(#)rtems-ctor.cc 1.6 - 95/04/25
//
/*
* rtems-ctor.cc
*
@@ -90,7 +86,6 @@ extern "C" {
{
rtems_argc = argc;
rtems_argv = argv;
rtems_envp = environp;
if ((argc > 0) && argv && argv[0])
rtems_progname = argv[0];

View File

@@ -31,7 +31,7 @@ set_vector( /* returns old vector */
int type /* RTEMS or RAW intr */
)
{
rtems_isr_entry rtems_isr_ptr;
rtems_isr_entry rtems_isr_ptr = 0;
proc_ptr raw_isr_ptr;
if ( type ) {

View File

@@ -1,7 +1,4 @@
/*
* @(#)assoc.c 1.6 - 95/10/25
*
*
* assoc.c
* rtems assoc routines
*

View File

@@ -1,6 +1,4 @@
/*
* @(#)assoc.h 1.4 - 95/10/25
*
*
* Rtems associativity routines. Mainly used to convert a value from
* one space to another (eg: our errno's to host errno's and v.v)

View File

@@ -1,7 +1,4 @@
/*
* @(#)error.c 1.6 - 95/12/12
*
*
* report errors and panics to RTEMS' stderr.
* Currently just used by RTEMS monitor.
*

View File

@@ -1,8 +1,4 @@
/*
* @(#)error.h 1.3 - 95/10/25
*
*
* Defines and externs for rtems error reporting
*
* $Id$
@@ -24,7 +20,12 @@
const char *rtems_status_text(rtems_status_code);
int rtems_error(int error_code, const char *printf_format, ...);
#ifdef __GNUC__
void rtems_panic(const char *printf_format, ...)
__attribute__ ((__noreturn__));
#else
void rtems_panic(const char *printf_format, ...);
#endif
extern int rtems_panic_in_progress;

View File

@@ -1,7 +1,4 @@
/*
* @(#)libio.c 1.1 - 95/06/02
*
*
* Provide UNIX/POSIX-like io system calls for RTEMS using the
* RTEMS IO manager
*

View File

@@ -1,7 +1,4 @@
/*
* @(#)libio.h 1.1 - 95/06/02
*
*
* General purpose communication channel for RTEMS to allow UNIX/POSIX
* system call behavior on top of RTEMS IO devices.
*

View File

@@ -25,12 +25,14 @@
#include <assert.h>
#include <errno.h>
#include <string.h>
#include <unistd.h> /* sbrk(2) */
rtems_id RTEMS_Malloc_Heap;
size_t RTEMS_Malloc_Sbrk_amount;
#ifdef RTEMS_DEBUG
#define MALLOC_STATS
#define MALLOC_DIRTY
#endif
#ifdef MALLOC_STATS
@@ -202,7 +204,11 @@ void *malloc(
malloc_stats.max_depth = current_depth;
}
#endif
#ifdef MALLOC_DIRTY
(void) memset(return_this, 0xCF, size);
#endif
return return_this;
}
@@ -221,6 +227,8 @@ void *calloc(
if ( cptr )
memset( cptr, '\0', length );
MSBUMP(malloc_calls, -1); /* subtract off the malloc */
return cptr;
}

View File

@@ -1,17 +1,6 @@
/*
* @(#)newlibc.c 1.9 - 95/05/16
*
*/
#if defined(RTEMS_NEWLIB)
/*
* File: newlibc.c,v
* Project: PixelFlow
* Created: 94/12/7
* Revision: 1.2
* Last Mod: 1995/05/09 20:24:37
*
* COPYRIGHT (c) 1994 by Division Incorporated
*
* To anyone who acknowledges that this file is provided "AS IS"
@@ -47,8 +36,25 @@
#include <sys/reent.h> /* for extern of _REENT (aka _impure_ptr) */
#ifdef RTEMS_UNIX
#include <stdio.h> /* for setvbuf() */
/*
* NOTE: When using RTEMS fake stat, fstat, and isatty, all output
* is line buffered so this setvbuf is not necessary. This
* setvbuf insures that we can redirect the output of a test
* on the UNIX simulator and it is in the same order as for a
* real target.
* NOTE:
* There is some problem with doing this on the hpux version
* of the UNIX simulator (symptom is printf core dumps), so
* we just don't for now.
* Not sure if this is a problem with hpux, newlib, or something else.
*/
#if defined(RTEMS_UNIX) && !defined(hpux)
#define NEED_SETVBUF
#endif
#ifdef NEED_SETVBUF
#include <stdio.h>
#endif
#include "internal.h"
@@ -196,18 +202,19 @@ libc_delete_hook(rtems_tcb *current_task,
if (current_task == deleted_task)
{
ptr = _REENT;
ptr = _REENT;
}
else
{
ptr = (struct _reent *) MY_task_get_note(deleted_task, LIBC_NOTEPAD);
ptr = (struct _reent *) MY_task_get_note(deleted_task, LIBC_NOTEPAD);
}
/* if (ptr) */
if (ptr && ptr != &libc_global_reent)
{
_wrapup_reent(ptr);
_reclaim_reent(ptr);
_wrapup_reent(ptr);
_reclaim_reent(ptr);
free(ptr);
}
MY_task_set_note(deleted_task, LIBC_NOTEPAD, 0);
@@ -218,7 +225,7 @@ libc_delete_hook(rtems_tcb *current_task,
if (current_task == deleted_task)
{
_REENT = 0;
_REENT = 0;
}
}

View File

@@ -1,7 +1,4 @@
/*
* @(#)assoc.c 1.6 - 95/10/25
*
*
* assoc.c
* rtems assoc routines
*

View File

@@ -1,6 +1,4 @@
/*
* @(#)assoc.h 1.4 - 95/10/25
*
*
* Rtems associativity routines. Mainly used to convert a value from
* one space to another (eg: our errno's to host errno's and v.v)

View File

@@ -1,7 +1,4 @@
/*
* @(#)error.c 1.6 - 95/12/12
*
*
* report errors and panics to RTEMS' stderr.
* Currently just used by RTEMS monitor.
*

View File

@@ -1,8 +1,4 @@
/*
* @(#)error.h 1.3 - 95/10/25
*
*
* Defines and externs for rtems error reporting
*
* $Id$
@@ -24,7 +20,12 @@
const char *rtems_status_text(rtems_status_code);
int rtems_error(int error_code, const char *printf_format, ...);
#ifdef __GNUC__
void rtems_panic(const char *printf_format, ...)
__attribute__ ((__noreturn__));
#else
void rtems_panic(const char *printf_format, ...);
#endif
extern int rtems_panic_in_progress;

View File

@@ -1,7 +1,4 @@
/*
* @(#)command.c 1.5 - 95/08/02
*
*
* Command parsing routines for RTEMS monitor
*
* TODO:

View File

@@ -1,7 +1,4 @@
/*
* @(#)config.c 1.5 - 95/08/02
*
*
* RTEMS Config display support
*
* TODO

View File

@@ -1,7 +1,4 @@
/*
* @(#)dname.c 1.5 - 96/01/03
*
*
* RTEMS monitor driver names support.
*
* There are 2 "driver" things the monitor knows about.

View File

@@ -1,7 +1,4 @@
/*
* @(#)driver.c 1.4 - 95/08/02
*
*
* RTEMS monitor IO (device drivers) support
*
* There are 2 "driver" things the monitor knows about.

View File

@@ -1,7 +1,4 @@
/*
* @(#)extension.c 1.6 - 95/09/25
*
*
* RTEMS Monitor extension support
*
* $Id$

View File

@@ -1,8 +1,5 @@
/*
* @(#)itask.c 1.6 - 96/01/03
*
*
* RTEMS Monitor init task support
* RTEMS Monitor init task support
*
* $Id$
*/

View File

@@ -1,9 +1,6 @@
/*
* @(#)manager.c 1.4 - 96/01/03
*
*
* RTEMS Monitor "manager" support.
* Used to traverse object (chain) lists and print them out.
* RTEMS Monitor "manager" support.
* Used to traverse object (chain) lists and print them out.
*
* $Id$
*/

View File

@@ -1,8 +1,4 @@
/*
* @(#)monitor.c 1.23 - 96/01/03
*
*
*
* RTEMS monitor main body
*
* TODO:
@@ -18,7 +14,7 @@
* should have a separate monitor FILE stream (ala the debugger)
* remote request/response stuff should be cleaned up
* maybe we can use real rpc??
* 'info' commadn to print out:
* 'info' command to print out:
* interrupt stack location, direction and size
* floating point config stuff
* interrupt config stuff
@@ -262,6 +258,18 @@ rtems_monitor_wakeup(void)
status = rtems_event_send(rtems_monitor_task_id, MONITOR_WAKEUP_EVENT);
}
void
rtems_monitor_debugger_cmd(
int argc,
char **argv,
unsigned32 command_arg,
boolean verbose
)
{
#ifdef CPU_INVOKE_DEBUGGER
CPU_INVOKE_DEBUGGER;
#endif
}
void
rtems_monitor_pause_cmd(
@@ -302,19 +310,6 @@ rtems_monitor_continue_cmd(
rtems_monitor_suspend(RTEMS_NO_TIMEOUT);
}
void
rtems_monitor_debugger_cmd(
int argc,
char **argv,
unsigned32 command_arg,
boolean verbose
)
{
#ifdef CPU_INVOKE_DEBUGGER
CPU_INVOKE_DEBUGGER;
#endif
}
void
rtems_monitor_node_cmd(
int argc,
@@ -340,8 +335,10 @@ rtems_monitor_node_cmd(
break;
}
if ((new_node >= 1) && (new_node <= _Configuration_MP_table->maximum_nodes))
rtems_monitor_default_node = new_node;
if ((new_node >= 1) &&
_Configuration_MP_table &&
(new_node <= _Configuration_MP_table->maximum_nodes))
rtems_monitor_default_node = new_node;
}
@@ -383,11 +380,7 @@ rtems_monitor_symbols_loadup(void)
if (rtems_monitor_symbols == 0)
return;
#ifdef SIMHPPA
fp = fdopen(8, "r"); /* don't ask; don't tell */
#else
fp = fopen("symbols", "r");
#endif
if (fp == 0)
return;

View File

@@ -1,7 +1,4 @@
/*
* @(#)mpci.c 1.6 - 95/08/02
*
*
* RTEMS MPCI Config display support
*
* TODO

View File

@@ -1,7 +1,4 @@
/*
* @(#)object.c 1.9 - 96/01/03
*
*
* RTEMS Monitor "object" support.
*
* Used to traverse object lists and print them out.
@@ -341,7 +338,7 @@ rtems_monitor_object_cmd(
for (arg=1; argv[arg]; arg++)
{
id = (rtems_id) strtoul(argv[arg], 0, 0);
id = (rtems_id) strtoul(argv[arg], 0, 16);
id = rtems_monitor_id_fixup(id, default_node, type);
type = (rtems_monitor_object_type_t) rtems_get_class(id);

View File

@@ -1,7 +1,4 @@
/*
* @(#)prmisc.c 1.9 - 95/08/02
*
*
* Print misc stuff for the monitor dump routines
* Each routine returns the number of characters it output.
*

View File

@@ -1,6 +1,4 @@
/*
* @(#)queue.c 1.5 - 95/07/31
*
* $Id$
*/

View File

@@ -1,8 +1,5 @@
/*
* @(#)server.c 1.5 - 96/01/03
*
*
* RTEMS monitor server (handles requests for info from RTEMS monitors
* RTEMS monitor server (handles requests for info from RTEMS monitors
* running on other nodes)
*
* $Id$

View File

@@ -1,11 +1,3 @@
/*
* @(#)symbols.c 1.10 - 95/08/02
*
* $Id$
*/
/* #define qsort _quicksort */
/*
* File: symbols.c
*
@@ -15,6 +7,8 @@
*
*
* TODO:
*
* $Id$
*/
#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__
@@ -50,11 +44,6 @@ rtems_symbol_table_destroy(rtems_symbol_table_t *table)
if (table->addresses)
(void) free(table->addresses);
table->addresses = 0;
if (table->symbols)
(void) free(table->symbols);
table->symbols = 0;
p = table->string_buffer_head;
while (p)
{
@@ -93,11 +82,6 @@ rtems_symbol_create(
table->addresses = (rtems_symbol_t *) realloc((void *) table->addresses, newsize * sizeof(rtems_symbol_t));
if (table->addresses == 0) /* blew it; lost orig */
goto failed;
table->symbols = (rtems_symbol_t *) realloc((void *) table->symbols, newsize * sizeof(rtems_symbol_t));
if (table->symbols == 0) /* blew it; lost orig */
goto failed;
table->size = newsize;
}
@@ -129,9 +113,6 @@ rtems_symbol_create(
(void) strcpy(sp->name, name);
table->strings_next += symbol_length;
table->symbols[table->next] = *sp;
table->sorted = 0;
table->next++;
@@ -147,7 +128,7 @@ failed:
* Qsort entry point for compare by address
*/
int
static int
rtems_symbol_compare(const void *e1,
const void *e2)
{
@@ -162,48 +143,20 @@ rtems_symbol_compare(const void *e1,
return 0;
}
/*
* Qsort entry point for compare by string name (case independent)
*/
int
rtems_symbol_string_compare(const void *e1,
const void *e2)
{
rtems_symbol_t *s1, *s2;
s1 = (rtems_symbol_t *) e1;
s2 = (rtems_symbol_t *) e2;
return strcasecmp(s1->name, s2->name);
}
/*
* Sort the symbol table using qsort
*/
void
static void
rtems_symbol_sort(rtems_symbol_table_t *table)
{
#ifdef RTEMS_ON_SIMULATOR
printf("Sorting symbols ... "); /* so slow we need a msg */
fflush(stdout);
#endif
qsort((void *) table->addresses, (size_t) table->next,
sizeof(rtems_symbol_t), rtems_symbol_compare);
qsort((void *) table->symbols, (size_t) table->next,
sizeof(rtems_symbol_t), rtems_symbol_string_compare);
#ifdef RTEMS_ON_SIMULATOR
/* so slow we need a msg */
printf("done\n");
#endif
table->sorted = 1;
}
/*
* Search the symbol table by address
* This code based on CYGNUS newlib bsearch, but changed
@@ -261,6 +214,53 @@ rtems_symbol_value_lookup(
return best;
}
/*
* Search the symbol table for the exact matching address.
* If the symbol table has already been sorted, then
* call the regular symbol value lookup, however, it it
* has not yet been sorted, search it sequentially.
* This routine is primarily used for low level symbol
* lookups (eg. from exception handler and interrupt routines)
* where the penality of sorted is not wanted and where
* an exact match is needed such that symbol table order
* is not important.
*/
const rtems_symbol_t *
rtems_symbol_value_lookup_exact(
rtems_symbol_table_t *table,
rtems_unsigned32 value
)
{
int s;
rtems_symbol_t *sp;
if (table == 0)
{
table = rtems_monitor_symbols;
if (table == 0)
return NULL;
}
if (table->sorted)
{
sp = rtems_symbol_value_lookup(table, value);
if ( rtems_symbol_value(sp) == value )
return sp;
else
return NULL; /* not an exact match */
}
for (s = 0, sp = table->addresses; s < table->next; s++, sp++)
{
if ( sp->value == value )
return sp;
}
return NULL;
}
/*
* Search the symbol table by string name (case independent)
*/
@@ -271,33 +271,23 @@ rtems_symbol_name_lookup(
char *name
)
{
rtems_symbol_t *sp = 0;
rtems_symbol_t key;
int s;
rtems_symbol_t *sp;
if (table == 0)
{
table = rtems_monitor_symbols;
if (table == 0)
return NULL;
}
for (s = 0, sp = table->addresses; s < table->next; s++, sp++)
{
if ( strcasecmp(sp->name, name) == 0 )
return sp;
}
if ((table == 0) || (name == 0))
goto done;
if (table->sorted == 0)
rtems_symbol_sort(table);
/*
* dummy up one for bsearch()
*/
key.name = name;
key.value = 0;
sp = (rtems_symbol_t *) bsearch((const void *) &key,
(const void *) table->symbols,
(size_t) table->next,
sizeof(rtems_symbol_t),
rtems_symbol_string_compare);
done:
return sp;
return NULL;
}
void *
@@ -325,7 +315,7 @@ rtems_monitor_symbol_next(
_Thread_Disable_dispatch();
*next_id += 1;
return (void *) (table->symbols + n);
return (void *) (table->addresses + n);
failed:
*next_id = RTEMS_OBJECT_ID_FINAL;
@@ -438,7 +428,7 @@ rtems_monitor_symbol_dump_all(
if (table->sorted == 0)
rtems_symbol_sort(table);
for (s = 0, sp = table->symbols; s < table->next; s++, sp++)
for (s = 0, sp = table->addresses; s < table->next; s++, sp++)
{
rtems_monitor_symbol_t canonical_symbol;

View File

@@ -1,7 +1,4 @@
/*
* @(#)task.c 1.9 - 95/08/01
*
*
* RTEMS Monitor task support
*
* $Id$

View File

@@ -1,10 +1,3 @@
/*
* @(#)monitor.h 1.21 - 96/01/03
*
*
* monitor.h,v 1.3 1995/09/29 17:19:02 joel Exp
*/
/*
* File: monitor.h
*
@@ -12,6 +5,8 @@
* The RTEMS monitor task include file.
*
* TODO:
*
* $Id$
*/
#ifndef __MONITOR_H
@@ -25,7 +20,7 @@ extern "C" {
#endif
/*
* XXX this should be in rtems proper when type becomes part of id
* Monitor types are derived from rtems object classes
*/
typedef enum {
@@ -306,7 +301,7 @@ typedef void (*rtems_monitor_object_dump_header_fn)(boolean);
typedef void (*rtems_monitor_object_dump_fn)(void *, boolean);
typedef struct {
rtems_monitor_object_type_t type;
rtems_monitor_object_type_t type;
void *object_information;
int size; /* of canonical object */
rtems_monitor_object_next_fn next;
@@ -419,6 +414,7 @@ void rtems_symbol_table_destroy(rtems_symbol_table_t *table);
rtems_symbol_t *rtems_symbol_create(rtems_symbol_table_t *, char *, unsigned32);
rtems_symbol_t *rtems_symbol_value_lookup(rtems_symbol_table_t *, unsigned32);
const rtems_symbol_t *rtems_symbol_value_lookup_exact(rtems_symbol_table_t *, unsigned32);
rtems_symbol_t *rtems_symbol_name_lookup(rtems_symbol_table_t *, char *);
void *rtems_monitor_symbol_next(void *object_info, rtems_monitor_symbol_t *, rtems_id *);
void rtems_monitor_symbol_canonical(rtems_monitor_symbol_t *, rtems_symbol_t *);

View File

@@ -1,7 +1,4 @@
/*
* @(#)symbols.h 1.3 - 95/06/09
*
*
* RTEMS monitor symbol table functions
*
* Description:
@@ -47,14 +44,6 @@ typedef struct {
rtems_symbol_t *addresses; /* symbol array by address */
/*
* String list -- sorted by name (when we do a lookup)
* This is a duplicate of the info in table->addresses, but it's
* pretty small, so I don't worry about it.
*/
rtems_symbol_t *symbols; /* symbol array */
/*
* String pool, unsorted, a list of blocks of string data
*/

View File

@@ -20,6 +20,19 @@
#include <rtems.h>
/*
* HACK
* the stack dump information should be printed by a "fatal" extension.
* Fatal extensions only get called via rtems_fatal_error_occurred()
* and not when rtems_shutdown_executive() is called.
* I hope/think this is changing so that fatal extensions are renamed
* to "shutdown" extensions.
* When that happens, this #define should be deleted and all the code
* it marks.
*/
#define DONT_USE_FATAL_EXTENSION
extern rtems_configuration_table BSP_Configuration;
#include <assert.h>
@@ -49,7 +62,11 @@ rtems_extensions_table Stack_check_Extension_table = {
Stack_check_Switch_extension, /* task_switch */
Stack_check_Begin_extension, /* task_begin */
0, /* task_exitted */
#ifdef DONT_USE_FATAL_EXTENSION
0, /* fatal */
#else
Stack_check_Fatal_extension, /* fatal */
#endif
};
/*
@@ -167,10 +184,6 @@ void Stack_check_Initialize( void )
Stack_check_Blown_task = 0;
#ifdef STACK_CHECKER_REPORT_USAGE
atexit( Stack_check_Dump_usage );
#endif
/*
* If installed by a task, that task will not get setup properly
* since it missed out on the create hook. This will cause a
@@ -217,6 +230,17 @@ void Stack_check_Initialize( void )
stack_check_dope_stack(&stack_check_interrupt_stack);
}
#ifdef DONT_USE_FATAL_EXTENSION
#ifdef RTEMS_DEBUG
/*
* this would normally be called by a fatal extension
* handler, but we don't run fatal extensions unless
* we fatal error.
*/
atexit(Stack_check_Dump_usage);
#endif
#endif
stack_check_initialized = 1;
}
@@ -431,14 +455,16 @@ void Stack_check_Dump_threads_usage(
* Stack_check_Fatal_extension
*/
void Stack_check_Fatal_extension(
void Stack_check_Fatal_extension(
Internal_errors_Source source,
boolean is_internal,
unsigned32 status
)
{
#ifndef DONT_USE_FATAL_EXTENSION
if (status == 0)
Stack_check_Dump_usage();
#endif
}

View File

@@ -1,7 +1,4 @@
/*
* @(#)assoc.c 1.6 - 95/10/25
*
*
* assoc.c
* rtems assoc routines
*

View File

@@ -1,6 +1,4 @@
/*
* @(#)assoc.h 1.4 - 95/10/25
*
*
* Rtems associativity routines. Mainly used to convert a value from
* one space to another (eg: our errno's to host errno's and v.v)

View File

@@ -1,7 +1,4 @@
/*
* @(#)error.c 1.6 - 95/12/12
*
*
* report errors and panics to RTEMS' stderr.
* Currently just used by RTEMS monitor.
*

View File

@@ -1,8 +1,4 @@
/*
* @(#)error.h 1.3 - 95/10/25
*
*
* Defines and externs for rtems error reporting
*
* $Id$
@@ -24,7 +20,12 @@
const char *rtems_status_text(rtems_status_code);
int rtems_error(int error_code, const char *printf_format, ...);
#ifdef __GNUC__
void rtems_panic(const char *printf_format, ...)
__attribute__ ((__noreturn__));
#else
void rtems_panic(const char *printf_format, ...);
#endif
extern int rtems_panic_in_progress;

View File

@@ -1,7 +1,4 @@
/*
* @(#)command.c 1.5 - 95/08/02
*
*
* Command parsing routines for RTEMS monitor
*
* TODO:

View File

@@ -1,7 +1,4 @@
/*
* @(#)config.c 1.5 - 95/08/02
*
*
* RTEMS Config display support
*
* TODO

View File

@@ -1,7 +1,4 @@
/*
* @(#)dname.c 1.5 - 96/01/03
*
*
* RTEMS monitor driver names support.
*
* There are 2 "driver" things the monitor knows about.

View File

@@ -1,7 +1,4 @@
/*
* @(#)driver.c 1.4 - 95/08/02
*
*
* RTEMS monitor IO (device drivers) support
*
* There are 2 "driver" things the monitor knows about.

View File

@@ -1,7 +1,4 @@
/*
* @(#)extension.c 1.6 - 95/09/25
*
*
* RTEMS Monitor extension support
*
* $Id$

View File

@@ -1,8 +1,5 @@
/*
* @(#)itask.c 1.6 - 96/01/03
*
*
* RTEMS Monitor init task support
* RTEMS Monitor init task support
*
* $Id$
*/

View File

@@ -1,9 +1,6 @@
/*
* @(#)manager.c 1.4 - 96/01/03
*
*
* RTEMS Monitor "manager" support.
* Used to traverse object (chain) lists and print them out.
* RTEMS Monitor "manager" support.
* Used to traverse object (chain) lists and print them out.
*
* $Id$
*/

View File

@@ -1,8 +1,4 @@
/*
* @(#)monitor.c 1.23 - 96/01/03
*
*
*
* RTEMS monitor main body
*
* TODO:
@@ -18,7 +14,7 @@
* should have a separate monitor FILE stream (ala the debugger)
* remote request/response stuff should be cleaned up
* maybe we can use real rpc??
* 'info' commadn to print out:
* 'info' command to print out:
* interrupt stack location, direction and size
* floating point config stuff
* interrupt config stuff
@@ -262,6 +258,18 @@ rtems_monitor_wakeup(void)
status = rtems_event_send(rtems_monitor_task_id, MONITOR_WAKEUP_EVENT);
}
void
rtems_monitor_debugger_cmd(
int argc,
char **argv,
unsigned32 command_arg,
boolean verbose
)
{
#ifdef CPU_INVOKE_DEBUGGER
CPU_INVOKE_DEBUGGER;
#endif
}
void
rtems_monitor_pause_cmd(
@@ -302,19 +310,6 @@ rtems_monitor_continue_cmd(
rtems_monitor_suspend(RTEMS_NO_TIMEOUT);
}
void
rtems_monitor_debugger_cmd(
int argc,
char **argv,
unsigned32 command_arg,
boolean verbose
)
{
#ifdef CPU_INVOKE_DEBUGGER
CPU_INVOKE_DEBUGGER;
#endif
}
void
rtems_monitor_node_cmd(
int argc,
@@ -340,8 +335,10 @@ rtems_monitor_node_cmd(
break;
}
if ((new_node >= 1) && (new_node <= _Configuration_MP_table->maximum_nodes))
rtems_monitor_default_node = new_node;
if ((new_node >= 1) &&
_Configuration_MP_table &&
(new_node <= _Configuration_MP_table->maximum_nodes))
rtems_monitor_default_node = new_node;
}
@@ -383,11 +380,7 @@ rtems_monitor_symbols_loadup(void)
if (rtems_monitor_symbols == 0)
return;
#ifdef SIMHPPA
fp = fdopen(8, "r"); /* don't ask; don't tell */
#else
fp = fopen("symbols", "r");
#endif
if (fp == 0)
return;

View File

@@ -1,7 +1,4 @@
/*
* @(#)mpci.c 1.6 - 95/08/02
*
*
* RTEMS MPCI Config display support
*
* TODO

View File

@@ -1,7 +1,4 @@
/*
* @(#)object.c 1.9 - 96/01/03
*
*
* RTEMS Monitor "object" support.
*
* Used to traverse object lists and print them out.
@@ -341,7 +338,7 @@ rtems_monitor_object_cmd(
for (arg=1; argv[arg]; arg++)
{
id = (rtems_id) strtoul(argv[arg], 0, 0);
id = (rtems_id) strtoul(argv[arg], 0, 16);
id = rtems_monitor_id_fixup(id, default_node, type);
type = (rtems_monitor_object_type_t) rtems_get_class(id);

View File

@@ -1,7 +1,4 @@
/*
* @(#)prmisc.c 1.9 - 95/08/02
*
*
* Print misc stuff for the monitor dump routines
* Each routine returns the number of characters it output.
*

View File

@@ -1,6 +1,4 @@
/*
* @(#)queue.c 1.5 - 95/07/31
*
* $Id$
*/

View File

@@ -1,8 +1,5 @@
/*
* @(#)server.c 1.5 - 96/01/03
*
*
* RTEMS monitor server (handles requests for info from RTEMS monitors
* RTEMS monitor server (handles requests for info from RTEMS monitors
* running on other nodes)
*
* $Id$

Some files were not shown because too many files have changed in this diff Show More