diff options
author | cvs2git <rtems-devel@rtems.org> | 1996-05-28 16:33:13 +0000 |
---|---|---|
committer | cvs2git <rtems-devel@rtems.org> | 1996-05-28 16:33:13 +0000 |
commit | 8cffa05ff74dc1629fc5c97b92b885dce92ebe9d (patch) | |
tree | 2d798cdd47465378bafac545c8e8badc67566a8d /cpukit/libmisc/monitor | |
parent | added Motorola MVME147 BSP submitted by Dominique le Campion (diff) | |
download | rtems-8cffa05ff74dc1629fc5c97b92b885dce92ebe9d.tar.bz2 |
This commit was manufactured by cvs2svn to create tag 'rtems-3-5-16'.3.5.16
Sprout from master 1996-05-24 20:34:49 UTC Joel Sherrill <joel.sherrill@OARcorp.com> 'added Motorola MVME147 BSP submitted by Dominique le Campion'
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/pxfl/README
c/src/lib/libbsp/hppa1.1/pxfl/floss-bsp.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
cpukit/zlib/doc/rfc1950.txt
cpukit/zlib/doc/rfc1951.txt
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/psxtests/psx01/init.c
testsuites/psxtests/psx01/psx01.scn
testsuites/psxtests/psx01/system.h
testsuites/psxtests/psx01/task.c
testsuites/psxtests/psxhdrs/clock01.c
testsuites/psxtests/psxhdrs/clock02.c
testsuites/psxtests/psxhdrs/clock03.c
testsuites/psxtests/psxhdrs/clock04.c
testsuites/psxtests/psxhdrs/clock05.c
testsuites/psxtests/psxhdrs/clock06.c
testsuites/psxtests/psxhdrs/cond01.c
testsuites/psxtests/psxhdrs/cond02.c
testsuites/psxtests/psxhdrs/cond03.c
testsuites/psxtests/psxhdrs/cond04.c
testsuites/psxtests/psxhdrs/cond05.c
testsuites/psxtests/psxhdrs/cond06.c
testsuites/psxtests/psxhdrs/cond07.c
testsuites/psxtests/psxhdrs/cond08.c
testsuites/psxtests/psxhdrs/cond09.c
testsuites/psxtests/psxhdrs/cond10.c
testsuites/psxtests/psxhdrs/key01.c
testsuites/psxtests/psxhdrs/key02.c
testsuites/psxtests/psxhdrs/key03.c
testsuites/psxtests/psxhdrs/key04.c
testsuites/psxtests/psxhdrs/mutex01.c
testsuites/psxtests/psxhdrs/mutex02.c
testsuites/psxtests/psxhdrs/mutex03.c
testsuites/psxtests/psxhdrs/mutex04.c
testsuites/psxtests/psxhdrs/mutex05.c
testsuites/psxtests/psxhdrs/mutex06.c
testsuites/psxtests/psxhdrs/mutex07.c
testsuites/psxtests/psxhdrs/mutex08.c
testsuites/psxtests/psxhdrs/mutex09.c
testsuites/psxtests/psxhdrs/mutex10.c
testsuites/psxtests/psxhdrs/mutex11.c
testsuites/psxtests/psxhdrs/mutex12.c
testsuites/psxtests/psxhdrs/mutex13.c
testsuites/psxtests/psxhdrs/mutex14.c
testsuites/psxtests/psxhdrs/mutex15.c
testsuites/psxtests/psxhdrs/mutex16.c
testsuites/psxtests/psxhdrs/pthread01.c
testsuites/psxtests/psxhdrs/pthread02.c
testsuites/psxtests/psxhdrs/pthread03.c
testsuites/psxtests/psxhdrs/pthread04.c
testsuites/psxtests/psxhdrs/pthread05.c
testsuites/psxtests/psxhdrs/pthread06.c
testsuites/psxtests/psxhdrs/pthread07.c
testsuites/psxtests/psxhdrs/pthread08.c
testsuites/psxtests/psxhdrs/pthread09.c
testsuites/psxtests/psxhdrs/pthread10.c
testsuites/psxtests/psxhdrs/pthread11.c
testsuites/psxtests/psxhdrs/pthread12.c
testsuites/psxtests/psxhdrs/pthread13.c
testsuites/psxtests/psxhdrs/pthread14.c
testsuites/psxtests/psxhdrs/pthread15.c
testsuites/psxtests/psxhdrs/pthread16.c
testsuites/psxtests/psxhdrs/pthread17.c
testsuites/psxtests/psxhdrs/pthread18.c
testsuites/psxtests/psxhdrs/pthread19.c
testsuites/psxtests/psxhdrs/pthread20.c
testsuites/psxtests/psxhdrs/pthread21.c
testsuites/psxtests/psxhdrs/pthread22.c
testsuites/psxtests/psxhdrs/pthread23.c
testsuites/psxtests/psxhdrs/pthread24.c
testsuites/psxtests/psxhdrs/pthread25.c
testsuites/psxtests/psxhdrs/pthread26.c
testsuites/psxtests/psxhdrs/pthread27.c
testsuites/psxtests/psxhdrs/pthread28.c
testsuites/psxtests/psxhdrs/pthread29.c
testsuites/psxtests/psxhdrs/pthread30.c
testsuites/psxtests/psxhdrs/pthread31.c
testsuites/psxtests/psxhdrs/pthread32.c
testsuites/psxtests/psxhdrs/pthread33.c
testsuites/psxtests/psxhdrs/pthread34.c
testsuites/psxtests/psxhdrs/pthread35.c
testsuites/psxtests/psxhdrs/pthread36.c
testsuites/psxtests/psxhdrs/sched01.c
testsuites/psxtests/psxhdrs/sched02.c
testsuites/psxtests/psxhdrs/sched03.c
testsuites/psxtests/psxhdrs/sched04.c
testsuites/psxtests/psxhdrs/sched05.c
testsuites/psxtests/psxhdrs/sched06.c
testsuites/psxtests/psxhdrs/sched07.c
testsuites/psxtests/psxhdrs/sched08.c
testsuites/psxtests/psxhdrs/signal01.c
testsuites/psxtests/psxhdrs/signal02.c
testsuites/psxtests/psxhdrs/signal03.c
testsuites/psxtests/psxhdrs/signal04.c
testsuites/psxtests/psxhdrs/signal05.c
testsuites/psxtests/psxhdrs/signal06.c
testsuites/psxtests/psxhdrs/signal07.c
testsuites/psxtests/psxhdrs/signal08.c
testsuites/psxtests/psxhdrs/signal09.c
testsuites/psxtests/psxhdrs/signal10.c
testsuites/psxtests/psxhdrs/signal11.c
testsuites/psxtests/psxhdrs/signal12.c
testsuites/psxtests/psxhdrs/signal13.c
testsuites/psxtests/psxhdrs/signal14.c
testsuites/psxtests/psxhdrs/signal15.c
testsuites/psxtests/psxhdrs/signal16.c
testsuites/psxtests/psxhdrs/signal17.c
testsuites/psxtests/psxhdrs/signal18.c
testsuites/psxtests/psxhdrs/signal19.c
testsuites/psxtests/psxhdrs/signal20.c
testsuites/psxtests/psxhdrs/signal21.c
testsuites/psxtests/psxhdrs/signal22.c
testsuites/psxtests/psxhdrs/time01.c
testsuites/psxtests/psxhdrs/time02.c
testsuites/psxtests/psxhdrs/time03.c
testsuites/psxtests/psxhdrs/time04.c
testsuites/psxtests/psxhdrs/time05.c
testsuites/psxtests/psxhdrs/time06.c
testsuites/psxtests/psxhdrs/time07.c
testsuites/psxtests/psxhdrs/time08.c
testsuites/psxtests/psxhdrs/time09.c
testsuites/psxtests/psxhdrs/time10.c
testsuites/psxtests/psxhdrs/time11.c
testsuites/psxtests/psxhdrs/time12.c
testsuites/psxtests/psxhdrs/time13.c
testsuites/psxtests/psxhdrs/timer01.c
testsuites/psxtests/psxhdrs/timer02.c
testsuites/psxtests/psxhdrs/timer03.c
testsuites/psxtests/psxhdrs/timer04.c
testsuites/psxtests/psxhdrs/timer05.c
testsuites/psxtests/psxhdrs/timer06.c
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
Diffstat (limited to 'cpukit/libmisc/monitor')
-rw-r--r-- | cpukit/libmisc/monitor/README | 97 | ||||
-rw-r--r-- | cpukit/libmisc/monitor/mon-command.c | 187 | ||||
-rw-r--r-- | cpukit/libmisc/monitor/mon-config.c | 130 | ||||
-rw-r--r-- | cpukit/libmisc/monitor/mon-dname.c | 112 | ||||
-rw-r--r-- | cpukit/libmisc/monitor/mon-driver.c | 136 | ||||
-rw-r--r-- | cpukit/libmisc/monitor/mon-extension.c | 98 | ||||
-rw-r--r-- | cpukit/libmisc/monitor/mon-itask.c | 115 | ||||
-rw-r--r-- | cpukit/libmisc/monitor/mon-manager.c | 50 | ||||
-rw-r--r-- | cpukit/libmisc/monitor/mon-monitor.c | 517 | ||||
-rw-r--r-- | cpukit/libmisc/monitor/mon-mpci.c | 159 | ||||
-rw-r--r-- | cpukit/libmisc/monitor/mon-object.c | 374 | ||||
-rw-r--r-- | cpukit/libmisc/monitor/mon-prmisc.c | 254 | ||||
-rw-r--r-- | cpukit/libmisc/monitor/mon-queue.c | 64 | ||||
-rw-r--r-- | cpukit/libmisc/monitor/mon-server.c | 302 | ||||
-rw-r--r-- | cpukit/libmisc/monitor/mon-symbols.c | 481 | ||||
-rw-r--r-- | cpukit/libmisc/monitor/mon-task.c | 92 | ||||
-rw-r--r-- | cpukit/libmisc/monitor/monitor.h | 443 | ||||
-rw-r--r-- | cpukit/libmisc/monitor/symbols.h | 64 |
18 files changed, 0 insertions, 3675 deletions
diff --git a/cpukit/libmisc/monitor/README b/cpukit/libmisc/monitor/README deleted file mode 100644 index d5a73da140..0000000000 --- a/cpukit/libmisc/monitor/README +++ /dev/null @@ -1,97 +0,0 @@ -# -# $Id$ -# - -monitor task - -The monitor task is an optional task that knows about RTEMS -data structures and can print out information about them. -It is a work-in-progress and needs many more commands, but -is useful now. - -The monitor works best when it is the highest priority task, -so all your other tasks should ideally be at some priority -greater than 1. - -To use the monitor: -------------------- - - #include <rtems/monitor.h> - - ... - - rtems_monitor_init(0); - - The parameter to rtems_monitor_init() tells the monitor whether - to suspend itself on startup. A value of 0 causes the monitor - to immediately enter command mode; a non-zero value causes the - monitor to suspend itself after creation and wait for explicit - wakeup. - - - rtems_monitor_wakeup(); - - wakes up a suspended monitor and causes it to reenter command mode. - -Monitor commands ----------------- - - The monitor prompt is 'rtems> '. - Can abbreviate commands to "uniquity" - There is a 'help' command. Here is the output from various - help commands: - - Commands (may be abbreviated) - - help -- get this message or command specific help - task -- show task information - queue -- show message queue information - symbol -- show entries from symbol table - pause -- pause monitor for a specified number of ticks - fatal -- invoke a fatal RTEMS error - - task [id [id ...] ] - display information about the specified tasks. - Default is to display information about all tasks on this node - - queue [id [id ... ] ] - display information about the specified message queues - Default is to display information about all queues on this node - - symbol [ symbolname [symbolname ... ] ] - display value associated with specified symbol. - Defaults to displaying all known symbols. - - pause [ticks] - monitor goes to "sleep" for specified ticks (default is 1) - monitor will resume at end of period or if explicitly awakened - - fatal [status] - Invoke 'rtems_fatal_error_occurred' with 'status' - (default is RTEMS_INTERNAL_ERROR) - - continue - put the monitor to sleep waiting for an explicit wakeup from the - program running. - - -Sample output from 'task' command ---------------------------------- - - rtems> task - ID NAME PRIO STAT MODES EVENTS WAITID WAITARG NOTES - ------------------------------------------------------------------------ - 00010001 UI1 2 READY P:T:nA NONE15: 0x40606348 - 00010002 RMON 1 READY nP NONE15: 0x40604110 - - 'RMON' is the monitor itself, so we have 1 "user" task. - Its modes are P:T:nA which translate to: - - preemptable - timesliced - no ASRS - - It has no events. - It has a notepad value for notepad 15 which is 0x40606348 - (this is the libc thread state) - diff --git a/cpukit/libmisc/monitor/mon-command.c b/cpukit/libmisc/monitor/mon-command.c deleted file mode 100644 index 87d31dfa2a..0000000000 --- a/cpukit/libmisc/monitor/mon-command.c +++ /dev/null @@ -1,187 +0,0 @@ -/* - * Command parsing routines for RTEMS monitor - * - * TODO: - * - * $Id$ - */ - -#include <rtems.h> - -#include "monitor.h" - -#include <stdio.h> -#include <string.h> - -/* - * make_argv(cp): token-count - * Break up the command line in 'cp' into global argv[] and argc (return - * value). - */ - -int -rtems_monitor_make_argv( - char *cp, - int *argc_p, - char **argv) -{ - int argc = 0; - - while ((cp = strtok(cp, " \t\n\r"))) - { - argv[argc++] = cp; - cp = (char *) NULL; - } - argv[argc] = (char *) NULL; /* end of argv */ - - return *argc_p = argc; -} - - -/* - * Read and break up a monitor command - * - * We have to loop on the gets call, since it will return NULL under UNIX - * RTEMS when we get a signal (eg: SIGALRM). - */ - -int -rtems_monitor_command_read(char *command, - int *argc, - char **argv) -{ - extern rtems_configuration_table BSP_Configuration; - static char monitor_prompt[32]; - - /* - * put node number in the prompt if we are multiprocessing - */ - - if (BSP_Configuration.User_multiprocessing_table == 0) - sprintf(monitor_prompt, "%s", MONITOR_PROMPT); - else if (rtems_monitor_default_node != rtems_monitor_node) - sprintf(monitor_prompt, "%d-%s-%d", rtems_monitor_node, MONITOR_PROMPT, rtems_monitor_default_node); - else - sprintf(monitor_prompt, "%d-%s", rtems_monitor_node, MONITOR_PROMPT); - -#ifdef RTEMS_UNIX - /* RTEMS on unix gets so many interrupt system calls this is hosed */ - printf("%s> ", monitor_prompt); - fflush(stdout); - while (gets(command) == (char *) 0) - ; -#else - do - { - printf("%s> ", monitor_prompt); - fflush(stdout); - } while (gets(command) == (char *) 0); -#endif - - return rtems_monitor_make_argv(command, argc, argv); -} - -/* - * Look up a command in a command table - * - */ - -rtems_monitor_command_entry_t * -rtems_monitor_command_lookup( - rtems_monitor_command_entry_t *table, - int argc, - char **argv -) -{ - rtems_monitor_command_entry_t *p; - rtems_monitor_command_entry_t *abbreviated_match = 0; - int abbreviated_matches = 0; - char *command; - int command_length; - - command = argv[0]; - - if ((table == 0) || (command == 0)) - goto failed; - - command_length = strlen(command); - - for (p = table; p->command; p++) - if (STREQ(command, p->command)) /* exact match */ - goto done; - else if (STRNEQ(command, p->command, command_length)) - { - abbreviated_matches++; - abbreviated_match = p; - } - - /* no perfect match; is there a non-ambigous abbreviated match? */ - if ( ! abbreviated_match) - { - printf("Unrecognized command '%s'; try 'help'\n", command); - goto failed; - } - - if (abbreviated_matches > 1) - { - printf("Command '%s' is ambiguous; try 'help'\n", command); - goto failed; - } - - p = abbreviated_match; - -done: - if (p->command_function == 0) - goto failed; - return p; - -failed: - return 0; -} - -void -rtems_monitor_command_usage(rtems_monitor_command_entry_t *table, - char *command_string) -{ - rtems_monitor_command_entry_t *help = 0; - char *help_command_argv[2]; - - /* if first entry in table is a usage, then print it out */ - if (command_string == 0) - { - if (STREQ(table->command, "--usage--") && table->usage) - help = table; - } - else - { - help_command_argv[0] = command_string; - help_command_argv[1] = 0; - help = rtems_monitor_command_lookup(table, 1, help_command_argv); - } - - if (help) - printf("%s\n", help->usage); -} - - -void -rtems_monitor_help_cmd( - int argc, - char **argv, - unsigned32 command_arg, - boolean verbose -) -{ - int arg; - rtems_monitor_command_entry_t *command; - - command = (rtems_monitor_command_entry_t *) command_arg; - - if (argc == 1) - rtems_monitor_command_usage(command, 0); - else - { - for (arg=1; argv[arg]; arg++) - rtems_monitor_command_usage(command, argv[arg]); - } -} diff --git a/cpukit/libmisc/monitor/mon-config.c b/cpukit/libmisc/monitor/mon-config.c deleted file mode 100644 index f5c9f6f093..0000000000 --- a/cpukit/libmisc/monitor/mon-config.c +++ /dev/null @@ -1,130 +0,0 @@ -/* - * RTEMS Config display support - * - * TODO - * - * $Id$ - */ - - -#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__ -#include <rtems.h> -#include "monitor.h" - -#include <stdio.h> -#include <stdlib.h> /* strtoul() */ - -#define DATACOL 15 -#define CONTCOL DATACOL /* continued col */ - -/* - * Fill in entire monitor config table - * for sending to a remote monitor or printing on the local system - */ - -void -rtems_monitor_config_canonical( - rtems_monitor_config_t *canonical_config, - void *config_void -) -{ - rtems_configuration_table *c = (rtems_configuration_table *) config_void; - - canonical_config->work_space_start = c->work_space_start; - canonical_config->work_space_size = c->work_space_size; - canonical_config->maximum_tasks = c->maximum_tasks; - canonical_config->maximum_timers = c->maximum_timers; - canonical_config->maximum_semaphores = c->maximum_semaphores; - canonical_config->maximum_message_queues = c->maximum_message_queues; - canonical_config->maximum_partitions = c->maximum_partitions; - canonical_config->maximum_regions = c->maximum_regions; - canonical_config->maximum_ports = c->maximum_ports; - canonical_config->maximum_periods = c->maximum_periods; - canonical_config->maximum_extensions = c->maximum_extensions; - canonical_config->microseconds_per_tick = c->microseconds_per_tick; - canonical_config->ticks_per_timeslice = c->ticks_per_timeslice; - canonical_config->number_of_initialization_tasks = c->number_of_initialization_tasks; -} - -/* - * This is easy, since there is only 1 (altho we could get them from - * other nodes...) - */ - -void * -rtems_monitor_config_next( - void *object_info, - rtems_monitor_config_t *canonical_config, - rtems_id *next_id -) -{ - rtems_configuration_table *c = _Configuration_Table; - int n = rtems_get_index(*next_id); - - if (n >= 1) - goto failed; - - _Thread_Disable_dispatch(); - - *next_id += 1; - return (void *) c; - -failed: - *next_id = RTEMS_OBJECT_ID_FINAL; - return 0; -} - - -void -rtems_monitor_config_dump_header( - boolean verbose -) -{ - printf("\ -INITIAL (startup) Configuration Info\n"); -/*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 -0 1 2 3 4 5 6 7 */ - rtems_monitor_separator(); -} - - -void -rtems_monitor_config_dump( - rtems_monitor_config_t *monitor_config, - boolean verbose -) -{ - unsigned32 length = 0; - - length = 0; - length += printf("WORKSPACE"); - length += rtems_monitor_pad(DATACOL, length); - length += printf("start: 0x%x; size: 0x%x\n", - (unsigned32) monitor_config->work_space_start, - monitor_config->work_space_size); - - length = 0; - length += printf("TIME"); - length += rtems_monitor_pad(DATACOL, length); - length += printf("usec/tick: %d; tick/timeslice: %d; tick/sec: %d\n", - monitor_config->microseconds_per_tick, - monitor_config->ticks_per_timeslice, - 1000000 / monitor_config->microseconds_per_tick); - - length = 0; - length += printf("MAXIMUMS"); - length += rtems_monitor_pad(DATACOL, length); - length += printf("tasks: %d; timers: %d; sems: %d; que's: %d; ext's: %d\n", - monitor_config->maximum_tasks, - monitor_config->maximum_timers, - monitor_config->maximum_semaphores, - monitor_config->maximum_message_queues, - monitor_config->maximum_extensions); - length = 0; - length += rtems_monitor_pad(CONTCOL, length); - length += printf("partitions: %d; regions: %d; ports: %d; periods: %d\n", - monitor_config->maximum_partitions, - monitor_config->maximum_regions, - monitor_config->maximum_ports, - monitor_config->maximum_periods); -} diff --git a/cpukit/libmisc/monitor/mon-dname.c b/cpukit/libmisc/monitor/mon-dname.c deleted file mode 100644 index e6993e18f7..0000000000 --- a/cpukit/libmisc/monitor/mon-dname.c +++ /dev/null @@ -1,112 +0,0 @@ -/* - * RTEMS monitor driver names support. - * - * There are 2 "driver" things the monitor knows about. - * - * 1. Regular RTEMS drivers. - * This is a table indexed by major device number and - * containing driver entry points only. - * - * 2. Driver name table. - * A separate table of names for drivers. - * The table converts driver names to a major number - * as index into the driver table and a minor number - * for an argument to driver. - * - * Drivers are displayed with 'driver' command. - * Names are displayed with 'dname' command. - * - * $Id$ - */ - -#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__ -#include <rtems.h> - -#include "monitor.h" - -#include <stdio.h> -#include <stdlib.h> /* strtoul() */ -#include <string.h> /* strncpy() */ - -#define DATACOL 15 -#define CONTCOL DATACOL /* continued col */ - -void -rtems_monitor_dname_canonical( - rtems_monitor_dname_t *canonical_dname, - void *dname_void -) -{ - rtems_driver_name_t *np = (rtems_driver_name_t *) dname_void; - - (void) strncpy(canonical_dname->name_string, np->device_name, sizeof(canonical_dname->name_string)); - canonical_dname->major = np->major; - canonical_dname->minor = np->minor; -} - -void * -rtems_monitor_dname_next( - void *object_information, - rtems_monitor_dname_t *canonical_dname, - rtems_id *next_id -) -{ - int n = rtems_get_index(*next_id); - rtems_driver_name_t *table = _IO_Driver_name_table; - rtems_driver_name_t *np = 0; - -/* XXX should we be using _IO_Number_of_devices */ - for (np = table + n ; n<_IO_Number_of_devices; n++, np++) - if (np->device_name) - goto done; - - *next_id = RTEMS_OBJECT_ID_FINAL; - return 0; - -done: - _Thread_Disable_dispatch(); - - /* - * dummy up a fake id and name for this item - */ - - canonical_dname->id = n; - canonical_dname->name = rtems_build_name('-', '-', '-', '-'); - - *next_id += 1; - return np; -} - -void -rtems_monitor_dname_dump_header( - boolean verbose -) -{ - printf("\ - Major:Minor Name\n"); -/*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 -0 1 2 3 4 5 6 7 */ - rtems_monitor_separator(); -} - -void -rtems_monitor_dname_dump( - rtems_monitor_dname_t *monitor_dname, - boolean verbose -) -{ - unsigned32 length = 0; - - length += rtems_monitor_pad(6, length); - length += rtems_monitor_dump_hex(monitor_dname->major); - length += printf(":"); - length += rtems_monitor_dump_hex(monitor_dname->minor); - - length += rtems_monitor_pad(16, length); - length += printf("%.*s", - (int) sizeof(monitor_dname->name_string), - (char *) monitor_dname->name_string); - - length += printf("\n"); - length = 0; -} diff --git a/cpukit/libmisc/monitor/mon-driver.c b/cpukit/libmisc/monitor/mon-driver.c deleted file mode 100644 index d5cff24a19..0000000000 --- a/cpukit/libmisc/monitor/mon-driver.c +++ /dev/null @@ -1,136 +0,0 @@ -/* - * RTEMS monitor IO (device drivers) support - * - * There are 2 "driver" things the monitor knows about. - * - * 1. Regular RTEMS drivers. - * This is a table indexed by major device number and - * containing driver entry points only. - * - * 2. Driver name table. - * A separate table of names for drivers. - * The table converts driver names to a major number - * as index into the driver table and a minor number - * for an argument to driver. - * - * Drivers are displayed with 'driver' command. - * Names are displayed with 'name' command. - * - * $Id$ - */ - -#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__ -#include <rtems.h> - -#include "monitor.h" - -#include <stdio.h> -#include <stdlib.h> /* strtoul() */ - -#define DATACOL 15 -#define CONTCOL DATACOL /* continued col */ - - -void -rtems_monitor_driver_canonical( - rtems_monitor_driver_t *canonical_driver, - void *driver_void -) -{ - rtems_driver_address_table *d = (rtems_driver_address_table *) driver_void; - - rtems_monitor_symbol_canonical_by_value(&canonical_driver->initialization, - d->initialization); - - rtems_monitor_symbol_canonical_by_value(&canonical_driver->open, - d->open); - rtems_monitor_symbol_canonical_by_value(&canonical_driver->close, - d->close); - rtems_monitor_symbol_canonical_by_value(&canonical_driver->read, - d->read); - rtems_monitor_symbol_canonical_by_value(&canonical_driver->write, - d->write); - rtems_monitor_symbol_canonical_by_value(&canonical_driver->control, - d->control); -} - - -void * -rtems_monitor_driver_next( - void *object_info, - rtems_monitor_driver_t *canonical_driver, - rtems_id *next_id -) -{ - rtems_configuration_table *c = _Configuration_Table; - int n = rtems_get_index(*next_id); - - if (n >= c->number_of_device_drivers) - goto failed; - - _Thread_Disable_dispatch(); - - /* - * dummy up a fake id and name for this item - */ - - canonical_driver->id = n; - canonical_driver->name = rtems_build_name('-', '-', '-', '-'); - - *next_id += 1; - return (void *) (c->Device_driver_table + n); - -failed: - *next_id = RTEMS_OBJECT_ID_FINAL; - return 0; -} - - -void -rtems_monitor_driver_dump_header( - boolean verbose -) -{ - printf("\ - Major Entry points\n"); -/*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 -0 1 2 3 4 5 6 7 */ - rtems_monitor_separator(); -} - -void -rtems_monitor_driver_dump( - rtems_monitor_driver_t *monitor_driver, - boolean verbose -) -{ - unsigned32 length = 0; - - length += printf(" %d", monitor_driver->id); - - length += rtems_monitor_pad(13, length); - length += printf("init: "); - length += rtems_monitor_symbol_dump(&monitor_driver->initialization, verbose); - length += printf("; control: "); - length += rtems_monitor_symbol_dump(&monitor_driver->control, verbose); - length += printf("\n"); - length = 0; - - length += rtems_monitor_pad(13, length); - - length += printf("open: "); - length += rtems_monitor_symbol_dump(&monitor_driver->open, verbose); - length += printf("; close: "); - length += rtems_monitor_symbol_dump(&monitor_driver->close, verbose); - length += printf("\n"); - length = 0; - - length += rtems_monitor_pad(13, length); - - length += printf("read: "); - length += rtems_monitor_symbol_dump(&monitor_driver->read, verbose); - length += printf("; write: "); - length += rtems_monitor_symbol_dump(&monitor_driver->write, verbose); - length += printf("\n"); - length = 0; -} diff --git a/cpukit/libmisc/monitor/mon-extension.c b/cpukit/libmisc/monitor/mon-extension.c deleted file mode 100644 index 4afecaa617..0000000000 --- a/cpukit/libmisc/monitor/mon-extension.c +++ /dev/null @@ -1,98 +0,0 @@ -/* - * RTEMS Monitor extension support - * - * $Id$ - */ - -#include <rtems.h> -#include "monitor.h" - -#include <stdio.h> - -void -rtems_monitor_extension_canonical( - rtems_monitor_extension_t *canonical_extension, - void *extension_void -) -{ - Extension_Control *rtems_extension = (Extension_Control *) extension_void; - rtems_extensions_table *e = &rtems_extension->Extension.Callouts; - - rtems_monitor_symbol_canonical_by_value(&canonical_extension->e_create, - e->thread_create); - - rtems_monitor_symbol_canonical_by_value(&canonical_extension->e_start, - e->thread_start); - rtems_monitor_symbol_canonical_by_value(&canonical_extension->e_restart, - e->thread_restart); - rtems_monitor_symbol_canonical_by_value(&canonical_extension->e_delete, - e->thread_delete); - rtems_monitor_symbol_canonical_by_value(&canonical_extension->e_tswitch, - e->thread_switch); - rtems_monitor_symbol_canonical_by_value(&canonical_extension->e_begin, - e->thread_begin); - rtems_monitor_symbol_canonical_by_value(&canonical_extension->e_exitted, - e->thread_exitted); - rtems_monitor_symbol_canonical_by_value(&canonical_extension->e_fatal, - e->fatal); -} - -void -rtems_monitor_extension_dump_header( - boolean verbose -) -{ - printf("\ - ID NAME\n"); -/*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 -0 1 2 3 4 5 6 7 */ - - rtems_monitor_separator(); -} - - -/* - * Dump out the canonical form - */ - -void -rtems_monitor_extension_dump( - rtems_monitor_extension_t *monitor_extension, - boolean verbose -) -{ - unsigned32 length = 0; - - length += rtems_monitor_dump_id(monitor_extension->id); - length += rtems_monitor_pad(11, length); - length += rtems_monitor_dump_name(monitor_extension->name); - - length += rtems_monitor_pad(18, length); - length += printf("create: "); - length += rtems_monitor_symbol_dump(&monitor_extension->e_create, verbose); - length += printf("; start: "); - length += rtems_monitor_symbol_dump(&monitor_extension->e_start, verbose); - length += printf("; restart: "); - length += rtems_monitor_symbol_dump(&monitor_extension->e_restart, verbose); - length += printf("\n"); - length = 0; - - length += rtems_monitor_pad(18, length); - length += printf("delete: "); - length += rtems_monitor_symbol_dump(&monitor_extension->e_delete, verbose); - length += printf("; switch: "); - length += rtems_monitor_symbol_dump(&monitor_extension->e_tswitch, verbose); - length += printf("; begin: "); - length += rtems_monitor_symbol_dump(&monitor_extension->e_begin, verbose); - length += printf("\n"); - length = 0; - - length += rtems_monitor_pad(18, length); - length += printf("exitted: "); - length += rtems_monitor_symbol_dump(&monitor_extension->e_exitted, verbose); - length += printf("; fatal: "); - length += rtems_monitor_symbol_dump(&monitor_extension->e_fatal, verbose); - length += printf("\n"); - length = 0; - printf("\n"); -} diff --git a/cpukit/libmisc/monitor/mon-itask.c b/cpukit/libmisc/monitor/mon-itask.c deleted file mode 100644 index 5ce4b55270..0000000000 --- a/cpukit/libmisc/monitor/mon-itask.c +++ /dev/null @@ -1,115 +0,0 @@ -/* - * RTEMS Monitor init task support - * - * $Id$ - */ - -#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__ -#include <rtems.h> -#include "monitor.h" - -#include <stdio.h> - -/* - * As above, but just for init tasks - */ -void -rtems_monitor_init_task_canonical( - rtems_monitor_init_task_t *canonical_itask, - void *itask_void -) -{ - rtems_initialization_tasks_table *rtems_itask = itask_void; - - rtems_monitor_symbol_canonical_by_value(&canonical_itask->entry, - rtems_itask->entry_point); - - canonical_itask->argument = rtems_itask->argument; - canonical_itask->stack_size = rtems_itask->stack_size; - canonical_itask->priority = rtems_itask->initial_priority; - canonical_itask->modes = rtems_itask->mode_set; - canonical_itask->attributes = rtems_itask->attribute_set; -} - -void * -rtems_monitor_init_task_next( - void *object_info, - rtems_monitor_init_task_t *canonical_init_task, - rtems_id *next_id -) -{ - rtems_configuration_table *c = _Configuration_Table; - rtems_initialization_tasks_table *itask; - int n = rtems_get_index(*next_id); - - if (n >= c->number_of_initialization_tasks) - goto failed; - - _Thread_Disable_dispatch(); - - itask = c->User_initialization_tasks_table + n; - - /* - * dummy up a fake id and name for this item - */ - - canonical_init_task->id = n; - canonical_init_task->name = itask->name; - - *next_id += 1; - return (void *) itask; - -failed: - *next_id = RTEMS_OBJECT_ID_FINAL; - return 0; -} - - -void -rtems_monitor_init_task_dump_header( - boolean verbose -) -{ - printf("\ - # NAME ENTRY ARGUMENT PRIO MODES ATTRIBUTES STACK SIZE\n"); -/*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 -0 1 2 3 4 5 6 7 */ - rtems_monitor_separator(); -} - -/* - */ - -void -rtems_monitor_init_task_dump( - rtems_monitor_init_task_t *monitor_itask, - boolean verbose -) -{ - int length = 0; - - length += rtems_monitor_dump_decimal(monitor_itask->id); - - length += rtems_monitor_pad(7, length); - length += rtems_monitor_dump_name(monitor_itask->name); - - length += rtems_monitor_pad(14, length); - length += rtems_monitor_symbol_dump(&monitor_itask->entry, verbose); - - length += rtems_monitor_pad(25, length); - length += printf("%d [0x%x]", monitor_itask->argument, monitor_itask->argument); - - length += rtems_monitor_pad(39, length); - length += rtems_monitor_dump_priority(monitor_itask->priority); - - length += rtems_monitor_pad(46, length); - length += rtems_monitor_dump_modes(monitor_itask->modes); - - length += rtems_monitor_pad(54, length); - length += rtems_monitor_dump_attributes(monitor_itask->attributes); - - length += rtems_monitor_pad(66, length); - length += printf("%d [0x%x]", monitor_itask->stack_size, monitor_itask->stack_size); - - printf("\n"); -} diff --git a/cpukit/libmisc/monitor/mon-manager.c b/cpukit/libmisc/monitor/mon-manager.c deleted file mode 100644 index af8d530d3b..0000000000 --- a/cpukit/libmisc/monitor/mon-manager.c +++ /dev/null @@ -1,50 +0,0 @@ -/* - * RTEMS Monitor "manager" support. - * Used to traverse object (chain) lists and print them out. - * - * $Id$ - */ - -#include <rtems.h> -#include "monitor.h" - -#include <stdio.h> - -#include <monitor.h> - -/* - * "next" routine for all objects that are RTEMS manager objects - */ - -void * -rtems_monitor_manager_next( - void *table_void, - void *canonical, - rtems_id *next_id -) -{ - Objects_Information *table = table_void; - rtems_monitor_generic_t *copy; - Objects_Control *object = 0; - unsigned32 location; - - /* - * When we are called, it must be local - */ - - if ( ! _Objects_Is_local_id(*next_id)) - goto done; - - object = _Objects_Get_next(table, *next_id, &location, next_id); - - if (object) - { - copy = (rtems_monitor_generic_t *) canonical; - copy->id = object->id; - _Objects_Copy_name_raw(object->name, ©->name, sizeof(copy->name)); - } - -done: - return object; -} - diff --git a/cpukit/libmisc/monitor/mon-monitor.c b/cpukit/libmisc/monitor/mon-monitor.c deleted file mode 100644 index a5a3fab131..0000000000 --- a/cpukit/libmisc/monitor/mon-monitor.c +++ /dev/null @@ -1,517 +0,0 @@ -/* - * RTEMS monitor main body - * - * TODO: - * add stuff to RTEMS api - * rtems_get_name(id) - * rtems_get_type(id) - * rtems_build_id(node, type, num) - * Add a command to dump out info about an arbitrary id when - * types are added to id's - * rtems> id idnum - * idnum: node n, object: whatever, id: whatever - * allow id's to be specified as n:t:id, where 'n:t' is optional - * 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' command to print out: - * interrupt stack location, direction and size - * floating point config stuff - * interrupt config stuff - * - * $Id$ - */ - -#include <rtems.h> - -#include <stdio.h> -#include <string.h> -#include <stdlib.h> -#include <unistd.h> - -#include "monitor.h" - -/* set by trap handler */ -extern rtems_tcb *debugger_interrupted_task; -extern rtems_context *debugger_interrupted_task_context; -extern rtems_unsigned32 debugger_trap; - -/* - * Various id's for the monitor - * They need to be public variables for access by other agencies - * such as debugger and remote servers' - */ - -rtems_id rtems_monitor_task_id; - -unsigned32 rtems_monitor_node; /* our node number */ -unsigned32 rtems_monitor_default_node; /* current default for commands */ - -/* - * The rtems symbol table - */ - -rtems_symbol_table_t *rtems_monitor_symbols; - -/* - * The top-level commands - */ - -rtems_monitor_command_entry_t rtems_monitor_commands[] = { - { "--usage--", - "\n" - "RTEMS monitor\n" - "\n" - "Commands (may be abbreviated)\n" - "\n" - " help -- get this message or command specific help\n" - " pause -- pause monitor for a specified number of ticks\n" - " exit -- invoke a fatal RTEMS error\n" - " symbol -- show entries from symbol table\n" - " continue -- put monitor to sleep waiting for explicit wakeup\n" - " config -- show system configuration\n" - " itask -- list init tasks\n" - " mpci -- list mpci config\n" - " task -- show task information\n" - " queue -- show message queue information\n" - " extension -- user extensions\n" - " driver -- show information about named drivers\n" - " dname -- show information about named drivers\n" - " object -- generic object information\n" - " node -- specify default node for commands that take id's\n" -#ifdef CPU_INVOKE_DEBUGGER - " debugger -- invoke system debugger\n" -#endif - , - 0, - 0, - (unsigned32) rtems_monitor_commands, - }, - { "config", - "config\n" - " Show the system configuration.\n", - 0, - rtems_monitor_object_cmd, - RTEMS_MONITOR_OBJECT_CONFIG, - }, - { "itask", - "itask\n" - " List init tasks for the system\n", - 0, - rtems_monitor_object_cmd, - RTEMS_MONITOR_OBJECT_INIT_TASK, - }, - { "mpci", - "mpci\n" - " Show the MPCI system configuration, if configured.\n", - 0, - rtems_monitor_object_cmd, - RTEMS_MONITOR_OBJECT_MPCI, - }, - { "pause", - "pause [ticks]\n" - " monitor goes to \"sleep\" for specified ticks (default is 1)\n" - " monitor will resume at end of period or if explicitly awakened\n", - 0, - rtems_monitor_pause_cmd, - 0, - }, - { "continue", - "continue\n" - " put the monitor to sleep waiting for an explicit wakeup from the\n" - " program running.\n", - 0, - rtems_monitor_continue_cmd, - 0, - }, - { "go", - "go\n" - " Alias for 'continue'\n", - 0, - rtems_monitor_continue_cmd, - 0, - }, - { "node", - "node [ node number ]\n" - " Specify default node number for commands that take id's\n", - 0, - rtems_monitor_node_cmd, - 0, - }, - { "symbol", - "symbol [ symbolname [symbolname ... ] ]\n" - " display value associated with specified symbol.\n" - " Defaults to displaying all known symbols.\n", - 0, - rtems_monitor_symbol_cmd, - (unsigned32) &rtems_monitor_symbols, - }, - { "extension", - "extension [id [id ...] ]\n" - " display information about specified extensions.\n" - " Default is to display information about all extensions on this node\n", - 0, - rtems_monitor_object_cmd, - RTEMS_MONITOR_OBJECT_EXTENSION, - }, - { "task", - "task [id [id ...] ]\n" - " display information about the specified tasks.\n" - " Default is to display information about all tasks on this node\n", - 0, - rtems_monitor_object_cmd, - RTEMS_MONITOR_OBJECT_TASK, - }, - { "queue", - "queue [id [id ... ] ]\n" - " display information about the specified message queues\n" - " Default is to display information about all queues on this node\n", - 0, - rtems_monitor_object_cmd, - RTEMS_MONITOR_OBJECT_QUEUE, - }, - { "object", - "object [id [id ...] ]\n" - " display information about specified RTEMS objects.\n" - " Object id's must include 'type' information.\n" - " (which may normally be defaulted)\n", - 0, - rtems_monitor_object_cmd, - RTEMS_MONITOR_OBJECT_INVALID, - }, - { "driver", - "driver [ major [ major ... ] ]\n" - " Display the RTEMS device driver table.\n", - 0, - rtems_monitor_object_cmd, - RTEMS_MONITOR_OBJECT_DRIVER, - }, - { "dname", - "dname\n" - " Displays information about named drivers.\n", - 0, - rtems_monitor_object_cmd, - RTEMS_MONITOR_OBJECT_DNAME, - }, - { "exit", - "exit [status]\n" - " Invoke 'rtems_fatal_error_occurred' with 'status'\n" - " (default is RTEMS_SUCCESSFUL)\n", - 0, - rtems_monitor_fatal_cmd, - RTEMS_SUCCESSFUL, - }, - { "fatal", - "fatal [status]\n" - " 'exit' with fatal error; default error is RTEMS_TASK_EXITTED\n", - 0, - rtems_monitor_fatal_cmd, - RTEMS_TASK_EXITTED, /* exit value */ - }, - { "quit", - "quit [status]\n" - " Alias for 'exit'\n", - 0, - rtems_monitor_fatal_cmd, - RTEMS_SUCCESSFUL, /* exit value */ - }, - { "help", - "help [ command [ command ] ]\n" - " provide information about commands\n" - " Default is show basic command summary.\n", - 0, - rtems_monitor_help_cmd, - (unsigned32) rtems_monitor_commands, - }, -#ifdef CPU_INVOKE_DEBUGGER - { "debugger", - "debugger\n" - " Enter the debugger, if possible.\n" - " A continue from the debugger will return to the monitor.\n", - 0, - rtems_monitor_debugger_cmd, - 0, - }, -#endif - { 0, 0, 0, 0, 0 }, -}; - - -rtems_status_code -rtems_monitor_suspend(rtems_interval timeout) -{ - rtems_event_set event_set; - rtems_status_code status; - - status = rtems_event_receive(MONITOR_WAKEUP_EVENT, - RTEMS_DEFAULT_OPTIONS, - timeout, - &event_set); - return status; -} - -void -rtems_monitor_wakeup(void) -{ - rtems_status_code status; - - 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( - int argc, - char **argv, - unsigned32 command_arg, - boolean verbose -) -{ - if (argc == 1) - rtems_monitor_suspend(1); - else - rtems_monitor_suspend(strtoul(argv[1], 0, 0)); -} - -void -rtems_monitor_fatal_cmd( - int argc, - char **argv, - unsigned32 command_arg, - boolean verbose -) -{ - if (argc == 1) - rtems_fatal_error_occurred(command_arg); - else - rtems_fatal_error_occurred(strtoul(argv[1], 0, 0)); -} - -void -rtems_monitor_continue_cmd( - int argc, - char **argv, - unsigned32 command_arg, - boolean verbose -) -{ - rtems_monitor_suspend(RTEMS_NO_TIMEOUT); -} - -void -rtems_monitor_node_cmd( - int argc, - char **argv, - unsigned32 command_arg, - boolean verbose -) -{ - unsigned32 new_node = rtems_monitor_default_node; - - switch (argc) - { - case 1: /* no node, just set back to ours */ - new_node = rtems_monitor_node; - break; - - case 2: - new_node = strtoul(argv[1], 0, 0); - break; - - default: - printf("invalid syntax, try 'help node'\n"); - break; - } - - if ((new_node >= 1) && - _Configuration_MP_table && - (new_node <= _Configuration_MP_table->maximum_nodes)) - rtems_monitor_default_node = new_node; -} - - -/* - * Function: rtems_monitor_symbols_loadup - * - * Description: - * Create and load the monitor's symbol table. - * We are reading the output format of 'gnm' which looks like this: - * - * 400a7068 ? _Rate_monotonic_Information - * 400a708c ? _Thread_Dispatch_disable_level - * 400a7090 ? _Configuration_Table - * - * We ignore the type field. - * - * Side Effects: - * Creates and fills in 'rtems_monitor_symbols' table - * - * TODO - * there should be a BSP #define or something like that - * to do this; Assuming stdio is crazy. - * Someday this should know BFD - * Maybe we could get objcopy to just copy the symbol areas - * and copy that down. - * - */ - -void -rtems_monitor_symbols_loadup(void) -{ - FILE *fp; - char buffer[128]; - - if (rtems_monitor_symbols) - rtems_symbol_table_destroy(rtems_monitor_symbols); - - rtems_monitor_symbols = rtems_symbol_table_create(10); - if (rtems_monitor_symbols == 0) - return; - - fp = fopen("symbols", "r"); - - if (fp == 0) - return; - - while (fgets(buffer, sizeof(buffer) - 1, fp)) - { - char *symbol; - char *value; - char *ignored_type; - - value = strtok(buffer, " \t\n"); - ignored_type = strtok(0, " \t\n"); - symbol = strtok(0, " \t\n"); - - if (symbol && ignored_type && value) - { - rtems_symbol_t *sp; - sp = rtems_symbol_create(rtems_monitor_symbols, - symbol, - (rtems_unsigned32) strtoul(value, 0, 16)); - if (sp == 0) - { - printf("could not define symbol '%s'\n", symbol); - goto done; - } - } - else - { - printf("parsing error on '%s'\n", buffer); - goto done; - } - } - -done: -} - - -/* - * Main monitor command loop - */ - -void -rtems_monitor_task( - rtems_task_argument monitor_flags -) -{ - rtems_tcb *debugee = 0; - rtems_context *rp; - rtems_context_fp *fp; - char command_buffer[513]; - int argc; - char *argv[64]; - boolean verbose = FALSE; - - if (monitor_flags & RTEMS_MONITOR_SUSPEND) - (void) rtems_monitor_suspend(RTEMS_NO_TIMEOUT); - - for (;;) - { - extern rtems_tcb * _Thread_Executing; - rtems_monitor_command_entry_t *command; - - debugee = _Thread_Executing; - rp = &debugee->Registers; - fp = (rtems_context_fp *) debugee->fp_context; /* possibly 0 */ - - if (0 == rtems_monitor_command_read(command_buffer, &argc, argv)) - continue; - if ((command = rtems_monitor_command_lookup(rtems_monitor_commands, - argc, - argv)) == 0) - continue; - - command->command_function(argc, argv, command->command_arg, verbose); - - fflush(stdout); - } -} - - -void -rtems_monitor_kill(void) -{ - if (rtems_monitor_task_id) - rtems_task_delete(rtems_monitor_task_id); - rtems_monitor_task_id = 0; - - rtems_monitor_server_kill(); -} - -void -rtems_monitor_init( - unsigned32 monitor_flags -) -{ - rtems_status_code status; - - rtems_monitor_kill(); - - status = rtems_task_create(RTEMS_MONITOR_NAME, - 1, - 0 /* default stack */, - RTEMS_INTERRUPT_LEVEL(0), - RTEMS_DEFAULT_ATTRIBUTES, - &rtems_monitor_task_id); - if (status != RTEMS_SUCCESSFUL) - { - rtems_error(status, "could not create monitor task"); - goto done; - } - - rtems_monitor_node = rtems_get_node(rtems_monitor_task_id); - rtems_monitor_default_node = rtems_monitor_node; - - rtems_monitor_symbols_loadup(); - - if (monitor_flags & RTEMS_MONITOR_GLOBAL) - rtems_monitor_server_init(monitor_flags); - - /* - * Start the monitor task itself - */ - - status = rtems_task_start(rtems_monitor_task_id, - rtems_monitor_task, - monitor_flags); - if (status != RTEMS_SUCCESSFUL) - { - rtems_error(status, "could not start monitor"); - goto done; - } - -done: -} diff --git a/cpukit/libmisc/monitor/mon-mpci.c b/cpukit/libmisc/monitor/mon-mpci.c deleted file mode 100644 index 5c4d2c2cb3..0000000000 --- a/cpukit/libmisc/monitor/mon-mpci.c +++ /dev/null @@ -1,159 +0,0 @@ -/* - * RTEMS MPCI Config display support - * - * TODO - * - * $Id$ - */ - - -#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__ -#include <rtems.h> -#include "monitor.h" - -#include <stdio.h> -#include <stdlib.h> /* strtoul() */ - -#define DATACOL 15 - -/* - * Fill in entire monitor config table - * for sending to a remote monitor or printing on the local system - */ - -void -rtems_monitor_mpci_canonical( - rtems_monitor_mpci_t *canonical_mpci, - void *config_void -) -{ - rtems_configuration_table *c = _Configuration_Table; - rtems_multiprocessing_table *m; - rtems_mpci_table *mt; - - m = c->User_multiprocessing_table; - if (m == 0) - return; - mt = m->User_mpci_table; - - canonical_mpci->node = m->node; - canonical_mpci->maximum_nodes = m->maximum_nodes; - canonical_mpci->maximum_global_objects = m->maximum_global_objects; - canonical_mpci->maximum_proxies = m->maximum_proxies; - - canonical_mpci->default_timeout = mt->default_timeout; - canonical_mpci->maximum_packet_size = mt->maximum_packet_size; - - rtems_monitor_symbol_canonical_by_value(&canonical_mpci->initialization, - mt->initialization); - - rtems_monitor_symbol_canonical_by_value(&canonical_mpci->get_packet, - mt->get_packet); - rtems_monitor_symbol_canonical_by_value(&canonical_mpci->return_packet, - mt->return_packet); - rtems_monitor_symbol_canonical_by_value(&canonical_mpci->send_packet, - mt->send_packet); - rtems_monitor_symbol_canonical_by_value(&canonical_mpci->receive_packet, - mt->receive_packet); -} - -/* - * This is easy, since there is only 1 (altho we could get them from - * other nodes...) - */ - -void * -rtems_monitor_mpci_next( - void *object_info, - rtems_monitor_mpci_t *canonical_mpci, - rtems_id *next_id -) -{ - rtems_configuration_table *c = _Configuration_Table; - int n = rtems_get_index(*next_id); - - if (n >= 1) - goto failed; - - if ( ! c->User_multiprocessing_table) - goto failed; - - _Thread_Disable_dispatch(); - - *next_id += 1; - return (void *) c; - -failed: - *next_id = RTEMS_OBJECT_ID_FINAL; - return 0; -} - - -void -rtems_monitor_mpci_dump_header( - boolean verbose -) -{ - printf("\ - max max max default max\n\ - node nodes globals proxies timeout pktsize\n"); -/*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 -0 1 2 3 4 5 6 7 */ - - rtems_monitor_separator(); -} - - -void -rtems_monitor_mpci_dump( - rtems_monitor_mpci_t *monitor_mpci, - boolean verbose -) -{ - unsigned32 length = 0; - - length += rtems_monitor_pad(2, length); - length += printf(" %d", monitor_mpci->node); - length += rtems_monitor_pad(11, length); - length += printf("%d", monitor_mpci->maximum_nodes); - - length += rtems_monitor_pad(18, length); - length += rtems_monitor_dump_decimal(monitor_mpci->maximum_global_objects); - - length += rtems_monitor_pad(28, length); - length += rtems_monitor_dump_decimal(monitor_mpci->maximum_proxies); - - length += rtems_monitor_pad(37, length); - length += rtems_monitor_dump_decimal(monitor_mpci->default_timeout); - - length += rtems_monitor_pad(46, length); - length += rtems_monitor_dump_decimal(monitor_mpci->maximum_packet_size); - - printf("\n"); - length = 0; - length += rtems_monitor_pad(DATACOL, length); - - length += printf("init: "); - length += rtems_monitor_symbol_dump(&monitor_mpci->initialization, verbose); - - printf("\n"); - length = 0; - length += rtems_monitor_pad(DATACOL, length); - - length += printf("get: "); - length += rtems_monitor_symbol_dump(&monitor_mpci->get_packet, verbose); - length += printf("; return: "); - length += rtems_monitor_symbol_dump(&monitor_mpci->return_packet, verbose); - - printf("\n"); - length = 0; - length += rtems_monitor_pad(DATACOL, length); - - length += printf("send: "); - length += rtems_monitor_symbol_dump(&monitor_mpci->send_packet, verbose); - length += printf("; receive: "); - length += rtems_monitor_symbol_dump(&monitor_mpci->receive_packet, verbose); - - printf("\n"); - length = 0; -} diff --git a/cpukit/libmisc/monitor/mon-object.c b/cpukit/libmisc/monitor/mon-object.c deleted file mode 100644 index 0dfc6513d2..0000000000 --- a/cpukit/libmisc/monitor/mon-object.c +++ /dev/null @@ -1,374 +0,0 @@ -/* - * RTEMS Monitor "object" support. - * - * Used to traverse object lists and print them out. - * An object can be an RTEMS object (chain based stuff) or - * a "misc" object such as a device driver. - * - * Each object has its own file in this directory (eg: extension.c) - * That file provides routines to convert a "native" structure - * to its canonical form, print a canonical structure, etc. - * - * TODO: - * should allow for non-numeric id's??? - * - * $Id$ - */ - -#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__ -#include <rtems.h> -#include "monitor.h" - -#include <stdio.h> -#include <stdlib.h> /* strtoul() */ - -#include <monitor.h> - -#define NUMELEMS(arr) (sizeof(arr) / sizeof(arr[0])) - -/* - * add: - * next - */ - -rtems_monitor_object_info_t rtems_monitor_object_info[] = -{ - { RTEMS_MONITOR_OBJECT_CONFIG, - (void *) 0, - sizeof(rtems_monitor_config_t), - (rtems_monitor_object_next_fn) rtems_monitor_config_next, - (rtems_monitor_object_canonical_fn) rtems_monitor_config_canonical, - (rtems_monitor_object_dump_header_fn) rtems_monitor_config_dump_header, - (rtems_monitor_object_dump_fn) rtems_monitor_config_dump, - }, - { RTEMS_MONITOR_OBJECT_MPCI, - (void *) 0, - sizeof(rtems_monitor_mpci_t), - (rtems_monitor_object_next_fn) rtems_monitor_mpci_next, - (rtems_monitor_object_canonical_fn) rtems_monitor_mpci_canonical, - (rtems_monitor_object_dump_header_fn) rtems_monitor_mpci_dump_header, - (rtems_monitor_object_dump_fn) rtems_monitor_mpci_dump, - }, - { RTEMS_MONITOR_OBJECT_INIT_TASK, - (void *) 0, - sizeof(rtems_monitor_init_task_t), - (rtems_monitor_object_next_fn) rtems_monitor_init_task_next, - (rtems_monitor_object_canonical_fn) rtems_monitor_init_task_canonical, - (rtems_monitor_object_dump_header_fn) rtems_monitor_init_task_dump_header, - (rtems_monitor_object_dump_fn) rtems_monitor_init_task_dump, - }, - { RTEMS_MONITOR_OBJECT_TASK, - (void *) &_RTEMS_tasks_Information, - sizeof(rtems_monitor_task_t), - (rtems_monitor_object_next_fn) rtems_monitor_manager_next, - (rtems_monitor_object_canonical_fn) rtems_monitor_task_canonical, - (rtems_monitor_object_dump_header_fn) rtems_monitor_task_dump_header, - (rtems_monitor_object_dump_fn) rtems_monitor_task_dump, - }, - { RTEMS_MONITOR_OBJECT_QUEUE, - (void *) &_Message_queue_Information, - sizeof(rtems_monitor_queue_t), - (rtems_monitor_object_next_fn) rtems_monitor_manager_next, - (rtems_monitor_object_canonical_fn) rtems_monitor_queue_canonical, - (rtems_monitor_object_dump_header_fn) rtems_monitor_queue_dump_header, - (rtems_monitor_object_dump_fn) rtems_monitor_queue_dump, - }, - { RTEMS_MONITOR_OBJECT_EXTENSION, - (void *) &_Extension_Information, - sizeof(rtems_monitor_extension_t), - (rtems_monitor_object_next_fn) rtems_monitor_manager_next, - (rtems_monitor_object_canonical_fn) rtems_monitor_extension_canonical, - (rtems_monitor_object_dump_header_fn) rtems_monitor_extension_dump_header, - (rtems_monitor_object_dump_fn) rtems_monitor_extension_dump, - }, - { RTEMS_MONITOR_OBJECT_DRIVER, - (void *) 0, - sizeof(rtems_monitor_driver_t), - (rtems_monitor_object_next_fn) rtems_monitor_driver_next, - (rtems_monitor_object_canonical_fn) rtems_monitor_driver_canonical, - (rtems_monitor_object_dump_header_fn) rtems_monitor_driver_dump_header, - (rtems_monitor_object_dump_fn) rtems_monitor_driver_dump, - }, - { RTEMS_MONITOR_OBJECT_DNAME, - /* XXX now that the driver name table is allocated from the */ - /* XXX Workspace, this does not work */ - (void *) 0, - /* (void *) _IO_Driver_name_table, */ - sizeof(rtems_monitor_dname_t), - (rtems_monitor_object_next_fn) rtems_monitor_dname_next, - (rtems_monitor_object_canonical_fn) rtems_monitor_dname_canonical, - (rtems_monitor_object_dump_header_fn) rtems_monitor_dname_dump_header, - (rtems_monitor_object_dump_fn) rtems_monitor_dname_dump, - }, -}; - -/* - * Allow id's to be specified without the node number or - * type for convenience. - */ - -rtems_id -rtems_monitor_id_fixup( - rtems_id id, - unsigned32 default_node, - rtems_monitor_object_type_t type -) -{ - unsigned32 node; - - node = rtems_get_node(id); - if (node == 0) - { - if (rtems_get_class(id) != OBJECTS_NO_CLASS) - type = rtems_get_class(id); - - id = _Objects_Build_id(type, default_node, rtems_get_index(id)); - } - return id; -} - - -rtems_monitor_object_info_t * -rtems_monitor_object_lookup( - rtems_monitor_object_type_t type -) -{ - rtems_monitor_object_info_t *p; - for (p = &rtems_monitor_object_info[0]; - p < &rtems_monitor_object_info[NUMELEMS(rtems_monitor_object_info)]; - p++) - { - if (p->type == type) - return p; - } - return 0; -} - -rtems_id -rtems_monitor_object_canonical_next_remote( - rtems_monitor_object_type_t type, - rtems_id id, - void *canonical -) -{ - rtems_id next_id; - rtems_status_code status; - rtems_monitor_server_request_t request; - rtems_monitor_server_response_t response; - - /* - * Send request - */ - - request.command = RTEMS_MONITOR_SERVER_CANONICAL; - request.argument0 = (unsigned32) type; - request.argument1 = (unsigned32) id; - - status = rtems_monitor_server_request(rtems_get_node(id), &request, &response); - if (status != RTEMS_SUCCESSFUL) - goto failed; - - /* - * process response - */ - - next_id = (rtems_id) response.result0; - if (next_id != RTEMS_OBJECT_ID_FINAL) - (void) memcpy(canonical, &response.payload, response.result1); - - return next_id; - -failed: - return RTEMS_OBJECT_ID_FINAL; - -} - - -rtems_id -rtems_monitor_object_canonical_next( - rtems_monitor_object_info_t *info, - rtems_id id, - void *canonical -) -{ - rtems_id next_id; - void *raw_item; - - if ( ! _Objects_Is_local_id(id)) - next_id = rtems_monitor_object_canonical_next_remote(info->type, - id, - canonical); - else - { - next_id = id; - - raw_item = (void *) info->next(info->object_information, - canonical, - &next_id); - - if (raw_item) - { - info->canonical(canonical, raw_item); - _Thread_Enable_dispatch(); - } - } - return next_id; -} - - -/* - * this is routine server invokes locally to get the type - */ - -rtems_id -rtems_monitor_object_canonical_get( - rtems_monitor_object_type_t type, - rtems_id id, - void *canonical, - unsigned32 *size_p -) -{ - rtems_monitor_object_info_t *info; - rtems_id next_id; - - *size_p = 0; - - info = rtems_monitor_object_lookup(type); - - if (info == 0) - return RTEMS_OBJECT_ID_FINAL; - - next_id = rtems_monitor_object_canonical_next(info, id, canonical); - *size_p = info->size; - - return next_id; -} - - -void -rtems_monitor_object_dump_1( - rtems_monitor_object_info_t *info, - rtems_id id, - boolean verbose -) -{ - rtems_id next_id; - rtems_monitor_union_t canonical; - - if ((next_id = rtems_monitor_object_canonical_next( - info, - id, - &canonical)) != RTEMS_OBJECT_ID_FINAL) - { - /* - * If the one we actually got is the one we wanted, then - * print it out. - * For ones that have an id field, this works fine, - * for all others, always dump it out. - * - * HACK: the way we determine whether there is an id is a hack. - * - * by the way: the reason we try to not have an id, is that some - * of the canonical structures are almost too big for shared - * memory driver (eg: mpci) - */ - - if ((info->next != rtems_monitor_manager_next) || - (id == canonical.generic.id)) - info->dump(&canonical, verbose); - } -} - -void -rtems_monitor_object_dump_all( - rtems_monitor_object_info_t *info, - boolean verbose -) -{ - rtems_id next_id; - rtems_monitor_union_t canonical; - - next_id = RTEMS_OBJECT_ID_INITIAL(info->type, rtems_monitor_default_node); - - while ((next_id = rtems_monitor_object_canonical_next( - info, - next_id, - &canonical)) != RTEMS_OBJECT_ID_FINAL) - { - info->dump(&canonical, verbose); - } -} - -void -rtems_monitor_object_cmd( - int argc, - char **argv, - unsigned32 command_arg, - boolean verbose -) -{ - int arg; - rtems_monitor_object_info_t *info = 0; - rtems_monitor_object_type_t type = (rtems_monitor_object_type_t) command_arg; - - /* what is the default type? */ - type = (rtems_monitor_object_type_t) command_arg; - - if (argc == 1) - { - if (type == RTEMS_MONITOR_OBJECT_INVALID) - { - printf("A type must be specified to \"dump all\"\n"); - goto done; - } - - info = rtems_monitor_object_lookup(type); - if (info == 0) - goto not_found; - - if (info->dump_header) - info->dump_header(verbose); - rtems_monitor_object_dump_all(info, verbose); - } - else - { - unsigned32 default_node = rtems_monitor_default_node; - rtems_monitor_object_type_t last_type = RTEMS_MONITOR_OBJECT_INVALID; - rtems_id id; - - for (arg=1; argv[arg]; arg++) - { - 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); - - /* - * Allow the item type to change in the middle - * of the command. If the type changes, then - * just dump out a new header and keep on going. - */ - if (type != last_type) - { - info = rtems_monitor_object_lookup(type); - if (info == 0) - goto not_found; - - if (info->dump_header) - info->dump_header(verbose); - } - - if (info == 0) - { -not_found: printf("Invalid or unsupported type %d\n", type); - goto done; - } - - rtems_monitor_object_dump_1(info, id, verbose); - - default_node = rtems_get_node(id); - - last_type = type; - } - } -done: -} diff --git a/cpukit/libmisc/monitor/mon-prmisc.c b/cpukit/libmisc/monitor/mon-prmisc.c deleted file mode 100644 index 030bd020da..0000000000 --- a/cpukit/libmisc/monitor/mon-prmisc.c +++ /dev/null @@ -1,254 +0,0 @@ -/* - * Print misc stuff for the monitor dump routines - * Each routine returns the number of characters it output. - * - * TODO: - * - * $Id$ - */ - -#include <rtems.h> -#include "monitor.h" - -#include <rtems/assoc.h> - -#include <stdio.h> -#include <ctype.h> - -void -rtems_monitor_separator(void) -{ - printf("------------------------------------------------------------------------------\n"); -} - -unsigned32 -rtems_monitor_pad( - unsigned32 destination_column, - unsigned32 current_column -) -{ - int pad_length; - - if (destination_column <= current_column) - pad_length = 1; - else - pad_length = destination_column - current_column; - - return printf("%*s", pad_length, ""); -} - -unsigned32 -rtems_monitor_dump_char(rtems_unsigned8 ch) -{ - if (isprint(ch)) - return printf("%c", ch); - else - return printf("%02x", ch); -} - -unsigned32 -rtems_monitor_dump_decimal(unsigned32 num) -{ - return printf("%4d", num); -} - -unsigned32 -rtems_monitor_dump_hex(unsigned32 num) -{ - return printf("0x%x", num); -} - -unsigned32 -rtems_monitor_dump_assoc_bitfield( - rtems_assoc_t *ap, - char *separator, - unsigned32 value - ) -{ - unsigned32 b; - unsigned32 length = 0; - const char *name; - - for (b = 1; b; b <<= 1) - if (b & value) - { - if (length) - length += printf("%s", separator); - - name = rtems_assoc_name_by_local(ap, b); - - if (name) - length += printf("%s", name); - else - length += printf("0x%x", b); - } - - return length; -} - -unsigned32 -rtems_monitor_dump_id(rtems_id id) -{ - return printf("%08x", id); -} - -unsigned32 -rtems_monitor_dump_name(rtems_name name) -{ - int i; - unsigned32 length = 0; - union { - unsigned32 ui; - char c[4]; - } u; - - u.ui = (rtems_unsigned32) name; - - for (i=0; i<sizeof(u.c); i++) - length += rtems_monitor_dump_char(u.c[i]); - return length; -} - -unsigned32 -rtems_monitor_dump_priority(rtems_task_priority priority) -{ - return printf("%3d", priority); -} - - -rtems_assoc_t rtems_monitor_state_assoc[] = { - { "DORM", STATES_DORMANT }, - { "SUSP", STATES_SUSPENDED }, - { "TRANS", STATES_TRANSIENT }, - { "DELAY", STATES_DELAYING }, - { "Wbuf", STATES_WAITING_FOR_BUFFER }, - { "Wseg", STATES_WAITING_FOR_SEGMENT }, - { "Wmsg" , STATES_WAITING_FOR_MESSAGE }, - { "Wevnt", STATES_WAITING_FOR_EVENT }, - { "Wsem", STATES_WAITING_FOR_SEMAPHORE }, - { "Wtime", STATES_WAITING_FOR_TIME }, - { "Wrpc", STATES_WAITING_FOR_RPC_REPLY }, - { "WRATE", STATES_WAITING_FOR_PERIOD }, - { 0, 0, 0 }, -}; - -unsigned32 -rtems_monitor_dump_state(States_Control state) -{ - unsigned32 length = 0; - - if (state == STATES_READY) /* assoc doesn't deal with this as it is 0 */ - length += printf("READY"); - - length += rtems_monitor_dump_assoc_bitfield(rtems_monitor_state_assoc, - ":", - state); - return length; -} - -rtems_assoc_t rtems_monitor_attribute_assoc[] = { - { "FL", RTEMS_FLOATING_POINT }, - { "GL", RTEMS_GLOBAL }, - { "PR", RTEMS_PRIORITY }, - { "BI", RTEMS_BINARY_SEMAPHORE }, - { "IN", RTEMS_INHERIT_PRIORITY }, - { 0, 0, 0 }, -}; - -unsigned32 -rtems_monitor_dump_attributes(rtems_attribute attributes) -{ - unsigned32 length = 0; - - if (attributes == RTEMS_DEFAULT_ATTRIBUTES) /* value is 0 */ - length += printf("DEFAULT"); - - length += rtems_monitor_dump_assoc_bitfield(rtems_monitor_attribute_assoc, - ":", - attributes); - return length; -} - -rtems_assoc_t rtems_monitor_modes_assoc[] = { - { "nP", RTEMS_NO_PREEMPT }, - { "T", RTEMS_TIMESLICE }, - { "nA", RTEMS_NO_ASR }, - { 0, 0, 0 }, -}; - -unsigned32 -rtems_monitor_dump_modes(rtems_mode modes) -{ - unsigned32 length = 0; - - if (modes == RTEMS_DEFAULT_MODES) /* value is 0 */ - length += printf("P:T:nA"); - - length += rtems_monitor_dump_assoc_bitfield(rtems_monitor_modes_assoc, - ":", - modes); - return length; -} - -rtems_assoc_t rtems_monitor_events_assoc[] = { - { "0", RTEMS_EVENT_0 }, - { "1", RTEMS_EVENT_1 }, - { "2", RTEMS_EVENT_2 }, - { "3", RTEMS_EVENT_3 }, - { "4", RTEMS_EVENT_4 }, - { "5", RTEMS_EVENT_5 }, - { "6", RTEMS_EVENT_6 }, - { "7", RTEMS_EVENT_7 }, - { "8", RTEMS_EVENT_8 }, - { "9", RTEMS_EVENT_9 }, - { "10", RTEMS_EVENT_10 }, - { "11", RTEMS_EVENT_11 }, - { "12", RTEMS_EVENT_12 }, - { "13", RTEMS_EVENT_13 }, - { "14", RTEMS_EVENT_14 }, - { "15", RTEMS_EVENT_15 }, - { "16", RTEMS_EVENT_16 }, - { "17", RTEMS_EVENT_17 }, - { "18", RTEMS_EVENT_18 }, - { "19", RTEMS_EVENT_19 }, - { "20", RTEMS_EVENT_20 }, - { "21", RTEMS_EVENT_21 }, - { "22", RTEMS_EVENT_22 }, - { "23", RTEMS_EVENT_23 }, - { "24", RTEMS_EVENT_24 }, - { "25", RTEMS_EVENT_25 }, - { "26", RTEMS_EVENT_26 }, - { "27", RTEMS_EVENT_27 }, - { "28", RTEMS_EVENT_28 }, - { "29", RTEMS_EVENT_29 }, - { "30", RTEMS_EVENT_30 }, - { "31", RTEMS_EVENT_31 }, - { 0, 0, 0 }, -}; - -unsigned32 -rtems_monitor_dump_events(rtems_event_set events) -{ - unsigned32 length = 0; - - if (events == EVENT_SETS_NONE_PENDING) /* value is 0 */ - length += printf("NONE"); - - length += rtems_monitor_dump_assoc_bitfield(rtems_monitor_events_assoc, - ":", - events); - return length; -} - -unsigned32 -rtems_monitor_dump_notepad(unsigned32 *notepad) -{ - unsigned32 length = 0; - int i; - - for (i=0; i < RTEMS_NUMBER_NOTEPADS; i++) - if (notepad[i]) - length += printf("%d: 0x%x ", i, notepad[i]); - - return length; -} diff --git a/cpukit/libmisc/monitor/mon-queue.c b/cpukit/libmisc/monitor/mon-queue.c deleted file mode 100644 index 08c1d9474e..0000000000 --- a/cpukit/libmisc/monitor/mon-queue.c +++ /dev/null @@ -1,64 +0,0 @@ -/* - * $Id$ - */ - -#include <rtems.h> -#include "monitor.h" - -#include <stdio.h> - -void -rtems_monitor_queue_canonical( - rtems_monitor_queue_t *canonical_queue, - void *queue_void -) -{ - Message_queue_Control *rtems_queue = (Message_queue_Control *) queue_void; - - canonical_queue->attributes = rtems_queue->attribute_set; - canonical_queue->maximum_message_size = rtems_queue->message_queue.maximum_message_size; - canonical_queue->maximum_pending_messages = rtems_queue->message_queue.maximum_pending_messages; - canonical_queue->number_of_pending_messages = rtems_queue->message_queue.number_of_pending_messages; -} - -void -rtems_monitor_queue_dump_header( - boolean verbose -) -{ - printf("\ - ID NAME ATTRIBUTES PEND MAXPEND MAXSIZE\n"); -/*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 -0 1 2 3 4 5 6 7 */ - rtems_monitor_separator(); -} - - -/* - * Dump out the "next" queue indicated by 'id'. - * Returns next one to check. - * Returns RTEMS_OBJECT_ID_FINAL when all done - */ - -void -rtems_monitor_queue_dump( - rtems_monitor_queue_t *monitor_queue, - boolean verbose -) -{ - unsigned32 length = 0; - - length += rtems_monitor_dump_id(monitor_queue->id); - length += rtems_monitor_pad(11, length); - length += rtems_monitor_dump_name(monitor_queue->name); - length += rtems_monitor_pad(19, length); - length += rtems_monitor_dump_attributes(monitor_queue->attributes); - length += rtems_monitor_pad(31, length); - length += rtems_monitor_dump_decimal(monitor_queue->number_of_pending_messages); - length += rtems_monitor_pad(39, length); - length += rtems_monitor_dump_decimal(monitor_queue->maximum_pending_messages); - length += rtems_monitor_pad(48, length); - length += rtems_monitor_dump_decimal(monitor_queue->maximum_message_size); - - printf("\n"); -} diff --git a/cpukit/libmisc/monitor/mon-server.c b/cpukit/libmisc/monitor/mon-server.c deleted file mode 100644 index cc26718c27..0000000000 --- a/cpukit/libmisc/monitor/mon-server.c +++ /dev/null @@ -1,302 +0,0 @@ -/* - * RTEMS monitor server (handles requests for info from RTEMS monitors - * running on other nodes) - * - * $Id$ - */ - -#include <rtems.h> - -#include <stdio.h> -#include <string.h> -#include <stdlib.h> -#include <unistd.h> - -#include "monitor.h" - -/* - * Various id's for the server - */ - -rtems_id rtems_monitor_server_task_id; -rtems_id rtems_monitor_server_request_queue_id; /* our server */ -rtems_id *rtems_monitor_server_request_queue_ids; /* all servers */ -rtems_id rtems_monitor_server_response_queue_id; /* our server */ - - -/* - * Send a request to a server task - */ - -rtems_status_code -rtems_monitor_server_request( - unsigned32 server_node, - rtems_monitor_server_request_t *request, - rtems_monitor_server_response_t *response -) -{ - rtems_id server_id; - rtems_status_code status; - unsigned32 size; - - /* - * What is id of monitor on target node? - * Look it up if we don't know it yet. - */ - - server_id = rtems_monitor_server_request_queue_ids[server_node]; - if (server_id == 0) - { - status = rtems_message_queue_ident(RTEMS_MONITOR_QUEUE_NAME, - server_node, - &server_id); - if (status != RTEMS_SUCCESSFUL) - { - rtems_error(status, "ident of remote server failed"); - goto done; - } - - rtems_monitor_server_request_queue_ids[server_node] = server_id; - } - - request->return_id = rtems_monitor_server_response_queue_id; - - status = rtems_message_queue_send(server_id, request, sizeof(*request)); - if (status != RTEMS_SUCCESSFUL) - { - rtems_error(status, "monitor server request send failed"); - goto done; - } - - /* - * Await response, if requested - */ - - if (response) - { - status = rtems_message_queue_receive(rtems_monitor_server_response_queue_id, - response, - &size, - RTEMS_WAIT, - 100); - if (status != RTEMS_SUCCESSFUL) - { - rtems_error(status, "server did not respond"); - - /* maybe server task was restarted; look it up again next time */ - rtems_monitor_server_request_queue_ids[server_node] = 0; - - goto done; - } - - if (response->command != RTEMS_MONITOR_SERVER_RESPONSE) - { - status = RTEMS_INCORRECT_STATE; - goto done; - } - } - -done: - return status; -} - - - -/* - * monitor server task - */ - -void -rtems_monitor_server_task( - rtems_task_argument monitor_flags -) -{ - rtems_monitor_server_request_t request; - rtems_monitor_server_response_t response; - rtems_status_code status; - unsigned32 size; - - for (;;) - { - status = rtems_message_queue_receive( - rtems_monitor_server_request_queue_id, - &request, - &size, - RTEMS_WAIT, - (rtems_interval) 0); - - if (status != RTEMS_SUCCESSFUL) - { - rtems_error(status, "monitor server msg queue receive error"); - goto failed; - } - - if (size != sizeof(request)) - { - rtems_error(0, "monitor server bad size on receive"); - goto failed; - } - - switch (request.command) - { - case RTEMS_MONITOR_SERVER_CANONICAL: - { - rtems_monitor_object_type_t object_type; - rtems_id id; - rtems_id next_id; - - object_type = (rtems_monitor_object_type_t) request.argument0; - id = (rtems_id) request.argument1; - next_id = rtems_monitor_object_canonical_get(object_type, - id, - &response.payload, - &size); - - response.command = RTEMS_MONITOR_SERVER_RESPONSE; - response.result0 = next_id; - response.result1 = size; - -#define SERVER_OVERHEAD (RTEMS_offsetof(rtems_monitor_server_response_t, \ - payload)) - - status = rtems_message_queue_send(request.return_id, - &response, - size + SERVER_OVERHEAD); - if (status != RTEMS_SUCCESSFUL) - { - rtems_error(status, "response send failed"); - goto failed; - } - break; - } - - default: - { - rtems_error(0, "invalid command to monitor server: %d", request.command); - goto failed; - } - } - } - -failed: - rtems_task_delete(RTEMS_SELF); -} - - -/* - * Kill off any old server - * Not sure if this is useful, but it doesn't help - */ - -void -rtems_monitor_server_kill(void) -{ - if (rtems_monitor_server_task_id) - rtems_task_delete(rtems_monitor_server_task_id); - rtems_monitor_task_id = 0; - - if (rtems_monitor_server_request_queue_id) - rtems_message_queue_delete(rtems_monitor_server_request_queue_id); - rtems_monitor_server_response_queue_id = 0; - - if (rtems_monitor_server_response_queue_id) - rtems_message_queue_delete(rtems_monitor_server_response_queue_id); - rtems_monitor_server_request_queue_ids = 0; - - if (rtems_monitor_server_request_queue_ids) - free(rtems_monitor_server_request_queue_ids); - rtems_monitor_server_request_queue_ids = 0; -} - - -void -rtems_monitor_server_init( - unsigned32 monitor_flags -) -{ - rtems_status_code status; - - if (_System_state_Is_multiprocessing && - (_Configuration_MP_table->maximum_nodes > 1)) - { - unsigned32 maximum_nodes = _Configuration_MP_table->maximum_nodes; - - /* - * create the msg que our server will listen - * Since we only get msgs from other RTEMS monitors, we just - * need reserve space for 1 msg from each node. - */ - - status = rtems_message_queue_create( - RTEMS_MONITOR_QUEUE_NAME, - maximum_nodes, - sizeof(rtems_monitor_server_request_t), - RTEMS_GLOBAL, - &rtems_monitor_server_request_queue_id); - - if (status != RTEMS_SUCCESSFUL) - { - rtems_error(status, "could not create monitor server message queue"); - goto done; - } - - /* - * create the msg que our responses will come on - * Since monitor just does one thing at a time, we only need 1 item - * message queue. - */ - - status = rtems_message_queue_create( - RTEMS_MONITOR_RESPONSE_QUEUE_NAME, - 1, /* depth */ - sizeof(rtems_monitor_server_response_t), - RTEMS_GLOBAL, - &rtems_monitor_server_response_queue_id); - - if (status != RTEMS_SUCCESSFUL) - { - rtems_error(status, "could not create monitor response message queue"); - goto done; - } - - /* need an id for queue of each other server we might talk to */ - /* indexed by node, so add 1 to maximum_nodes */ - rtems_monitor_server_request_queue_ids = - (rtems_id *) malloc((maximum_nodes + 1) * sizeof(rtems_id)); - (void) memset(rtems_monitor_server_request_queue_ids, - 0, - (maximum_nodes + 1) * sizeof(rtems_id)); - - rtems_monitor_server_request_queue_ids[rtems_monitor_node] = - rtems_monitor_server_request_queue_id; - - /* - * create the server task - */ - status = rtems_task_create(RTEMS_MONITOR_SERVER_NAME, - 1, - 0 /* default stack */, - RTEMS_INTERRUPT_LEVEL(0), - RTEMS_DEFAULT_ATTRIBUTES, - &rtems_monitor_server_task_id); - if (status != RTEMS_SUCCESSFUL) - { - rtems_error(status, "could not create monitor server task"); - goto done; - } - - /* - * Start the server task - */ - status = rtems_task_start(rtems_monitor_server_task_id, - rtems_monitor_server_task, - monitor_flags); - if (status != RTEMS_SUCCESSFUL) - { - rtems_error(status, "could not start monitor server"); - goto done; - } - } - -done: -} diff --git a/cpukit/libmisc/monitor/mon-symbols.c b/cpukit/libmisc/monitor/mon-symbols.c deleted file mode 100644 index 6c6589d38f..0000000000 --- a/cpukit/libmisc/monitor/mon-symbols.c +++ /dev/null @@ -1,481 +0,0 @@ -/* - * File: symbols.c - * - * Description: - * Symbol table manager for the RTEMS monitor. - * These routines may be used by other system resources also. - * - * - * TODO: - * - * $Id$ - */ - -#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__ -#include <rtems.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#include "monitor.h" -#include "symbols.h" - - -rtems_symbol_table_t * -rtems_symbol_table_create() -{ - rtems_symbol_table_t *table; - - table = (rtems_symbol_table_t *) malloc(sizeof(rtems_symbol_table_t)); - memset((void *) table, 0, sizeof(*table)); - - table->growth_factor = 30; /* 30 percent */ - - return table; -} - -void -rtems_symbol_table_destroy(rtems_symbol_table_t *table) -{ - rtems_symbol_string_block_t *p, *pnext; - - if (table) - { - if (table->addresses) - (void) free(table->addresses); - table->addresses = 0; - p = table->string_buffer_head; - while (p) - { - pnext = p->next; - free(p); - p = pnext; - } - table->string_buffer_head = 0; - table->string_buffer_current = 0; - - free(table); - } -} - -rtems_symbol_t * -rtems_symbol_create( - rtems_symbol_table_t *table, - char *name, - rtems_unsigned32 value - ) -{ - int symbol_length; - size_t newsize; - rtems_symbol_t *sp; - - symbol_length = strlen(name) + 1; /* include '\000' in length */ - - /* need to grow the table? */ - if (table->next >= table->size) - { - if (table->size == 0) - newsize = 100; - else - newsize = table->size + (table->size / (100 / table->growth_factor)); - - 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->size = newsize; - } - - sp = &table->addresses[table->next]; - sp->value = value; - - /* Have to add it to string pool */ - /* need to grow pool? */ - - if ((table->string_buffer_head == 0) || - (table->strings_next + symbol_length) >= SYMBOL_STRING_BLOCK_SIZE) - { - rtems_symbol_string_block_t *p; - - p = (rtems_symbol_string_block_t *) malloc(sizeof(rtems_symbol_string_block_t)); - if (p == 0) - goto failed; - p->next = 0; - if (table->string_buffer_head == 0) - table->string_buffer_head = p; - else - table->string_buffer_current->next = p; - table->string_buffer_current = p; - - table->strings_next = 0; - } - - sp->name = table->string_buffer_current->buffer + table->strings_next; - (void) strcpy(sp->name, name); - - table->strings_next += symbol_length; - table->sorted = 0; - table->next++; - - return sp; - -/* XXX Not sure what to do here. We've possibly destroyed the initial - symbol table due to realloc failure */ -failed: - return 0; -} - -/* - * Qsort entry point for compare by address - */ - -static int -rtems_symbol_compare(const void *e1, - const void *e2) -{ - rtems_symbol_t *s1, *s2; - s1 = (rtems_symbol_t *) e1; - s2 = (rtems_symbol_t *) e2; - - if (s1->value < s2->value) - return -1; - if (s1->value > s2->value) - return 1; - return 0; -} - - -/* - * Sort the symbol table using qsort - */ - -static void -rtems_symbol_sort(rtems_symbol_table_t *table) -{ - qsort((void *) table->addresses, (size_t) table->next, - sizeof(rtems_symbol_t), rtems_symbol_compare); - table->sorted = 1; -} - - -/* - * Search the symbol table by address - * This code based on CYGNUS newlib bsearch, but changed - * to allow for finding closest symbol <= key - */ - -rtems_symbol_t * -rtems_symbol_value_lookup( - rtems_symbol_table_t *table, - rtems_unsigned32 value - ) -{ - rtems_symbol_t *sp; - rtems_symbol_t *base; - rtems_symbol_t *best = 0; - rtems_unsigned32 distance; - rtems_unsigned32 best_distance = ~0; - rtems_unsigned32 elements; - - if (table == 0) - table = rtems_monitor_symbols; - - if ((table == 0) || (table->size == 0)) - return 0; - - if (table->sorted == 0) - rtems_symbol_sort(table); - - base = table->addresses; - elements = table->next; - - while (elements) - { - sp = base + (elements / 2); - if (value < sp->value) - elements /= 2; - else if (value > sp->value) - { - distance = value - sp->value; - if (distance < best_distance) - { - best_distance = distance; - best = sp; - } - base = sp + 1; - elements = (elements / 2) - (elements % 2 ? 0 : 1); - } - else - return sp; - } - - if (value == base->value) - return base; - - 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) - */ - -rtems_symbol_t * -rtems_symbol_name_lookup( - rtems_symbol_table_t *table, - char *name - ) -{ - 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; - } - - return NULL; -} - -void * -rtems_monitor_symbol_next( - void *object_info, - rtems_monitor_symbol_t *canonical, - rtems_id *next_id -) -{ - rtems_symbol_table_t *table; - int n = rtems_get_index(*next_id); - - table = *(rtems_symbol_table_t **) object_info; - if (table == 0) - goto failed; - - if (n >= table->next) - goto failed; - - /* NOTE: symbols do not have id and name fields */ - - if (table->sorted == 0) - rtems_symbol_sort(table); - - _Thread_Disable_dispatch(); - - *next_id += 1; - return (void *) (table->addresses + n); - -failed: - *next_id = RTEMS_OBJECT_ID_FINAL; - return 0; -} - -void -rtems_monitor_symbol_canonical( - rtems_monitor_symbol_t *canonical_symbol, - rtems_symbol_t *sp -) -{ - canonical_symbol->value = sp->value; - canonical_symbol->offset = 0; - strncpy(canonical_symbol->name, sp->name, sizeof(canonical_symbol->name)); -} - - -void -rtems_monitor_symbol_canonical_by_name( - rtems_monitor_symbol_t *canonical_symbol, - char *name -) -{ - rtems_symbol_t *sp; - - sp = rtems_symbol_name_lookup(0, name); - - canonical_symbol->value = sp ? sp->value : 0; - - strncpy(canonical_symbol->name, name, sizeof(canonical_symbol->name)); - canonical_symbol->offset = 0; -} - -void -rtems_monitor_symbol_canonical_by_value( - rtems_monitor_symbol_t *canonical_symbol, - void *value_void_p -) -{ - unsigned32 value = (unsigned32) value_void_p; - rtems_symbol_t *sp; - - sp = rtems_symbol_value_lookup(0, value); - if (sp) - { - canonical_symbol->value = sp->value; - canonical_symbol->offset = value - sp->value; - strncpy(canonical_symbol->name, sp->name, sizeof(canonical_symbol->name)); - } - else - { - canonical_symbol->value = value; - canonical_symbol->offset = 0; - canonical_symbol->name[0] = '\0'; - } -} - - -unsigned32 -rtems_monitor_symbol_dump( - rtems_monitor_symbol_t *canonical_symbol, - boolean verbose -) -{ - unsigned32 length = 0; - - /* - * print the name if it exists AND if value is non-zero - * Ie: don't print some garbage symbol for address 0 - */ - - if (canonical_symbol->name[0] && (canonical_symbol->value != 0)) - { - if (canonical_symbol->offset == 0) - length += printf("%.*s", - (int) sizeof(canonical_symbol->name), - canonical_symbol->name); - else - length += printf("<%.*s+0x%x>", - (int) sizeof(canonical_symbol->name), - canonical_symbol->name, - canonical_symbol->offset); - if (verbose) - length += printf(" [0x%x]", canonical_symbol->value); - } - else - length += printf("[0x%x]", canonical_symbol->value); - - return length; -} - - -void -rtems_monitor_symbol_dump_all( - rtems_symbol_table_t *table, - boolean verbose -) -{ - int s; - rtems_symbol_t *sp; - - if (table == 0) - { - table = rtems_monitor_symbols; - if (table == 0) - return; - } - - if (table->sorted == 0) - rtems_symbol_sort(table); - - for (s = 0, sp = table->addresses; s < table->next; s++, sp++) - { - rtems_monitor_symbol_t canonical_symbol; - - rtems_monitor_symbol_canonical(&canonical_symbol, sp); - rtems_monitor_symbol_dump(&canonical_symbol, TRUE); - printf("\n"); - } -} - - -/* - * 'symbol' command - */ - -void -rtems_monitor_symbol_cmd( - int argc, - char **argv, - unsigned32 command_arg, - boolean verbose -) -{ - int arg; - rtems_symbol_table_t *table; - - table = *(rtems_symbol_table_t **) command_arg; - if (table == 0) - { - table = rtems_monitor_symbols; - if (table == 0) - return; - } - - /* - * Use object command to dump out whole symbol table - */ - if (argc == 1) - rtems_monitor_symbol_dump_all(table, verbose); - else - { - rtems_monitor_symbol_t canonical_symbol; - - for (arg=1; argv[arg]; arg++) - { - rtems_monitor_symbol_canonical_by_name(&canonical_symbol, argv[arg]); - rtems_monitor_symbol_dump(&canonical_symbol, verbose); - printf("\n"); - } - } -} diff --git a/cpukit/libmisc/monitor/mon-task.c b/cpukit/libmisc/monitor/mon-task.c deleted file mode 100644 index b1a7938eb5..0000000000 --- a/cpukit/libmisc/monitor/mon-task.c +++ /dev/null @@ -1,92 +0,0 @@ -/* - * RTEMS Monitor task support - * - * $Id$ - */ - -#include <rtems.h> -#include "monitor.h" - -#include <stdio.h> - -void -rtems_monitor_task_canonical( - rtems_monitor_task_t *canonical_task, - void *thread_void -) -{ - Thread_Control *rtems_thread = (Thread_Control *) thread_void; - RTEMS_API_Control *api; - - api = rtems_thread->API_Extensions[ THREAD_API_RTEMS ]; - - canonical_task->entry = rtems_thread->Start.entry_point; - canonical_task->argument = rtems_thread->Start.numeric_argument; - canonical_task->stack = rtems_thread->Start.Initial_stack.area; - canonical_task->stack_size = rtems_thread->Start.Initial_stack.size; - canonical_task->priority = rtems_thread->current_priority; - canonical_task->state = rtems_thread->current_state; - canonical_task->wait_id = rtems_thread->Wait.id; - canonical_task->events = api->pending_events; - -/* XXX modes and attributes only exist in the RTEMS API .. */ -/* XXX not directly in the core thread.. they will have to be derived */ -/* XXX if they are important enough to include anymore. */ - canonical_task->modes = 0; /* XXX FIX ME.... rtems_thread->current_modes; */ - canonical_task->attributes = 0 /* XXX FIX ME rtems_thread->API_Extensions[ THREAD_API_RTEMS ]->attribute_set */; - (void) memcpy(canonical_task->notepad, api ->Notepads, sizeof(canonical_task->notepad)); -/* XXX more to fix */ -/* - (void) memcpy(&canonical_task->wait_args, &rtems_thread->Wait.Extra, sizeof(canonical_task->wait_args)); -*/ -} - - -void -rtems_monitor_task_dump_header( - boolean verbose -) -{ - printf("\ - ID NAME PRIO STAT MODES EVENTS WAITID WAITARG NOTES\n"); -/*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 -0 1 2 3 4 5 6 7 */ - - rtems_monitor_separator(); -} - -/* - */ - -void -rtems_monitor_task_dump( - rtems_monitor_task_t *monitor_task, - boolean verbose -) -{ - int length = 0; - - length += rtems_monitor_dump_id(monitor_task->id); - length += rtems_monitor_pad(11, length); - length += rtems_monitor_dump_name(monitor_task->name); - length += rtems_monitor_pad(18, length); - length += rtems_monitor_dump_priority(monitor_task->priority); - length += rtems_monitor_pad(24, length); - length += rtems_monitor_dump_state(monitor_task->state); - length += rtems_monitor_pad(31, length); - length += rtems_monitor_dump_modes(monitor_task->modes); - length += rtems_monitor_pad(39, length); - length += rtems_monitor_dump_events(monitor_task->events); - if (monitor_task->wait_id) - { - length += rtems_monitor_pad(47, length); - length += rtems_monitor_dump_id(monitor_task->wait_id); - length += rtems_monitor_pad(57, length); - length += rtems_monitor_dump_hex(monitor_task->wait_args); - } - - length += rtems_monitor_pad(65, length); - length += rtems_monitor_dump_notepad(monitor_task->notepad); - printf("\n"); -} - diff --git a/cpukit/libmisc/monitor/monitor.h b/cpukit/libmisc/monitor/monitor.h deleted file mode 100644 index 8a86b2c7d0..0000000000 --- a/cpukit/libmisc/monitor/monitor.h +++ /dev/null @@ -1,443 +0,0 @@ -/* - * File: monitor.h - * - * Description: - * The RTEMS monitor task include file. - * - * TODO: - * - * $Id$ - */ - -#ifndef __MONITOR_H -#define __MONITOR_H - -#include "symbols.h" -#include <rtems/error.h> /* rtems_error() */ - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Monitor types are derived from rtems object classes - */ - -typedef enum { - RTEMS_MONITOR_OBJECT_INVALID = OBJECTS_NO_CLASS, - RTEMS_MONITOR_OBJECT_TASK = OBJECTS_RTEMS_TASKS, - RTEMS_MONITOR_OBJECT_EXTENSION = OBJECTS_RTEMS_EXTENSIONS, - RTEMS_MONITOR_OBJECT_QUEUE = OBJECTS_RTEMS_MESSAGE_QUEUES, - RTEMS_MONITOR_OBJECT_SEMAPHORE = OBJECTS_RTEMS_SEMAPHORES, - RTEMS_MONITOR_OBJECT_PARTITION = OBJECTS_RTEMS_PARTITIONS, - RTEMS_MONITOR_OBJECT_REGION = OBJECTS_RTEMS_REGIONS, - RTEMS_MONITOR_OBJECT_PORT = OBJECTS_RTEMS_PORTS, - - /* following monitor objects are not known to RTEMS, but - * we like to have "types" for them anyway */ - - RTEMS_MONITOR_OBJECT_DRIVER = OBJECTS_CLASSES_LAST+1, - RTEMS_MONITOR_OBJECT_DNAME, - RTEMS_MONITOR_OBJECT_CONFIG, - RTEMS_MONITOR_OBJECT_INIT_TASK, - RTEMS_MONITOR_OBJECT_MPCI, - RTEMS_MONITOR_OBJECT_SYMBOL, -} rtems_monitor_object_type_t; - -/* - * rtems_monitor_init() flags - */ - -#define RTEMS_MONITOR_SUSPEND 0x0001 /* suspend monitor on startup */ -#define RTEMS_MONITOR_GLOBAL 0x0002 /* monitor should be global */ - - -/* - * Public interfaces for RTEMS data structures monitor is aware of. - * These are only used by the monitor. - * - * NOTE: - * All the canonical objects that correspond to RTEMS managed "objects" - * must have an identical first portion with 'id' and 'name' fields. - * - * Others do not have that restriction, even tho we would like them to. - * This is because some of the canonical structures are almost too big - * for shared memory driver (eg: mpci) and we are nickel and diming it. - */ - -/* - * Type of a pointer that may be a symbol - */ - -#define MONITOR_SYMBOL_LEN 20 -typedef struct { - char name[MONITOR_SYMBOL_LEN]; - unsigned32 value; - unsigned32 offset; -} rtems_monitor_symbol_t; - -typedef struct { - rtems_id id; - rtems_name name; - /* end of common portion */ -} rtems_monitor_generic_t; - -/* - * Task - */ -typedef struct { - rtems_id id; - rtems_name name; - /* end of common portion */ - Thread_Entry entry; - unsigned32 argument; - void *stack; - unsigned32 stack_size; - rtems_task_priority priority; - States_Control state; - rtems_event_set events; - rtems_mode modes; - rtems_attribute attributes; - unsigned32 notepad[RTEMS_NUMBER_NOTEPADS]; - rtems_id wait_id; - unsigned32 wait_args; -} rtems_monitor_task_t; - -/* - * Init task - */ - -typedef struct { - rtems_id id; /* not really an id */ - rtems_name name; - /* end of common portion */ - rtems_monitor_symbol_t entry; - unsigned32 argument; - unsigned32 stack_size; - rtems_task_priority priority; - rtems_mode modes; - rtems_attribute attributes; -} rtems_monitor_init_task_t; - - -/* - * Message queue - */ -typedef struct { - rtems_id id; - rtems_name name; - /* end of common portion */ - rtems_attribute attributes; - unsigned32 number_of_pending_messages; - unsigned32 maximum_pending_messages; - unsigned32 maximum_message_size; -} rtems_monitor_queue_t; - -/* - * Extension - */ -typedef struct { - rtems_id id; - rtems_name name; - /* end of common portion */ - rtems_monitor_symbol_t e_create; - rtems_monitor_symbol_t e_start; - rtems_monitor_symbol_t e_restart; - rtems_monitor_symbol_t e_delete; - rtems_monitor_symbol_t e_tswitch; - rtems_monitor_symbol_t e_begin; - rtems_monitor_symbol_t e_exitted; - rtems_monitor_symbol_t e_fatal; -} rtems_monitor_extension_t; - -/* - * Device driver - */ - -typedef struct { - rtems_id id; /* not really an id (should be tho) */ - rtems_name name; /* ditto */ - /* end of common portion */ - rtems_monitor_symbol_t initialization; /* initialization procedure */ - rtems_monitor_symbol_t open; /* open request procedure */ - rtems_monitor_symbol_t close; /* close request procedure */ - rtems_monitor_symbol_t read; /* read request procedure */ - rtems_monitor_symbol_t write; /* write request procedure */ - rtems_monitor_symbol_t control; /* special functions procedure */ -} rtems_monitor_driver_t; - -typedef struct { - rtems_id id; /* not used for drivers (yet) */ - rtems_name name; /* not used for drivers (yet) */ - /* end of common portion */ - unsigned32 major; - unsigned32 minor; - char name_string[64]; -} rtems_monitor_dname_t; - -/* - * System config - */ - -typedef struct { - void *work_space_start; - unsigned32 work_space_size; - unsigned32 maximum_tasks; - unsigned32 maximum_timers; - unsigned32 maximum_semaphores; - unsigned32 maximum_message_queues; - unsigned32 maximum_partitions; - unsigned32 maximum_regions; - unsigned32 maximum_ports; - unsigned32 maximum_periods; - unsigned32 maximum_extensions; - unsigned32 microseconds_per_tick; - unsigned32 ticks_per_timeslice; - unsigned32 number_of_initialization_tasks; -} rtems_monitor_config_t; - -/* - * MPCI config - */ - -typedef struct { - unsigned32 node; /* local node number */ - unsigned32 maximum_nodes; /* maximum # nodes in system */ - unsigned32 maximum_global_objects; /* maximum # global objects */ - unsigned32 maximum_proxies; /* maximum # proxies */ - - unsigned32 default_timeout; /* in ticks */ - unsigned32 maximum_packet_size; - rtems_monitor_symbol_t initialization; - rtems_monitor_symbol_t get_packet; - rtems_monitor_symbol_t return_packet; - rtems_monitor_symbol_t send_packet; - rtems_monitor_symbol_t receive_packet; -} rtems_monitor_mpci_t; - -/* - * The generic canonical information union - */ - -typedef union { - rtems_monitor_generic_t generic; - rtems_monitor_task_t task; - rtems_monitor_queue_t queue; - rtems_monitor_extension_t extension; - rtems_monitor_driver_t driver; - rtems_monitor_dname_t dname; - rtems_monitor_config_t config; - rtems_monitor_mpci_t mpci; - rtems_monitor_init_task_t itask; -} rtems_monitor_union_t; - -/* - * Support for talking to other monitors - */ - -/* - * Names of other monitors - */ - -#define RTEMS_MONITOR_NAME (rtems_build_name('R', 'M', 'O', 'N')) -#define RTEMS_MONITOR_SERVER_NAME (rtems_build_name('R', 'M', 'S', 'V')) -#define RTEMS_MONITOR_QUEUE_NAME (rtems_build_name('R', 'M', 'S', 'Q')) -#define RTEMS_MONITOR_RESPONSE_QUEUE_NAME (rtems_build_name('R', 'M', 'R', 'Q')) - -#define RTEMS_MONITOR_SERVER_RESPONSE 0x0001 -#define RTEMS_MONITOR_SERVER_CANONICAL 0x0002 - -typedef struct -{ - unsigned32 command; - rtems_id return_id; - unsigned32 argument0; - unsigned32 argument1; - unsigned32 argument2; - unsigned32 argument3; - unsigned32 argument4; - unsigned32 argument5; -} rtems_monitor_server_request_t; - -typedef struct -{ - unsigned32 command; - unsigned32 result0; - unsigned32 result1; - rtems_monitor_union_t payload; -} rtems_monitor_server_response_t; - -extern rtems_id rtems_monitor_task_id; - -extern unsigned32 rtems_monitor_node; /* our node number */ -extern unsigned32 rtems_monitor_default_node; /* current default for commands */ - -/* - * Monitor command function and table entry - */ - -typedef struct rtems_monitor_command_entry_s rtems_monitor_command_entry_t; - -typedef void ( *rtems_monitor_command_function_t )( - int argc, - char **argv, - unsigned32 command_arg, - boolean verbose - ); - -struct rtems_monitor_command_entry_s { - char *command; /* command name */ - char *usage; /* usage string for the command */ - unsigned32 arguments_required; /* # of required args */ - rtems_monitor_command_function_t command_function; - - /* Some argument for the command */ - unsigned32 command_arg; -}; - -typedef void *(*rtems_monitor_object_next_fn)(void *, void *, rtems_id *); -typedef void (*rtems_monitor_object_canonical_fn)(void *, void *); -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; - void *object_information; - int size; /* of canonical object */ - rtems_monitor_object_next_fn next; - rtems_monitor_object_canonical_fn canonical; - rtems_monitor_object_dump_header_fn dump_header; - rtems_monitor_object_dump_fn dump; -} rtems_monitor_object_info_t; - - -/* monitor.c */ -void rtems_monitor_kill(void); -void rtems_monitor_init(rtems_boolean); -void rtems_monitor_wakeup(void); -void rtems_monitor_pause_cmd(int, char **, unsigned32, boolean); -void rtems_monitor_fatal_cmd(int, char **, unsigned32, boolean); -void rtems_monitor_continue_cmd(int, char **, unsigned32, boolean); -void rtems_monitor_debugger_cmd(int, char **, unsigned32, boolean); -void rtems_monitor_node_cmd(int, char **, unsigned32, boolean); -void rtems_monitor_symbols_loadup(void); -void rtems_monitor_task(rtems_task_argument); - -/* server.c */ -void rtems_monitor_server_kill(void); -rtems_status_code rtems_monitor_server_request(unsigned32, rtems_monitor_server_request_t *, rtems_monitor_server_response_t *); -void rtems_monitor_server_task(rtems_task_argument); -void rtems_monitor_server_init(unsigned32); - -/* command.c */ -int rtems_monitor_make_argv(char *, int *, char **); -int rtems_monitor_command_read(char *, int *, char **); -rtems_monitor_command_entry_t *rtems_monitor_command_lookup( - rtems_monitor_command_entry_t * table, int argc, char **argv); -void rtems_monitor_command_usage(rtems_monitor_command_entry_t *, char *); -void rtems_monitor_help_cmd(int, char **, unsigned32, boolean); - -/* prmisc.c */ -void rtems_monitor_separator(void); -unsigned32 rtems_monitor_pad(unsigned32 dest_col, unsigned32 curr_col); -unsigned32 rtems_monitor_dump_char(unsigned8 ch); -unsigned32 rtems_monitor_dump_decimal(unsigned32 num); -unsigned32 rtems_monitor_dump_hex(unsigned32 num); -unsigned32 rtems_monitor_dump_id(rtems_id id); -unsigned32 rtems_monitor_dump_name(rtems_name name); -unsigned32 rtems_monitor_dump_priority(rtems_task_priority priority); -unsigned32 rtems_monitor_dump_state(States_Control state); -unsigned32 rtems_monitor_dump_modes(rtems_mode modes); -unsigned32 rtems_monitor_dump_attributes(rtems_attribute attributes); -unsigned32 rtems_monitor_dump_events(rtems_event_set events); -unsigned32 rtems_monitor_dump_notepad(unsigned32 *notepad); - -/* object.c */ -rtems_id rtems_monitor_id_fixup(rtems_id, unsigned32, rtems_monitor_object_type_t); -rtems_id rtems_monitor_object_canonical_get(rtems_monitor_object_type_t, rtems_id, void *, unsigned32 *size_p); -rtems_id rtems_monitor_object_canonical_next(rtems_monitor_object_info_t *, rtems_id, void *); -void *rtems_monitor_object_next(void *, void *, rtems_id, rtems_id *); -rtems_id rtems_monitor_object_canonical(rtems_id, void *); -void rtems_monitor_object_cmd(int, char **, unsigned32, boolean); - -/* manager.c */ -void *rtems_monitor_manager_next(void *, void *, rtems_id *); - -/* config.c */ -void rtems_monitor_config_canonical(rtems_monitor_config_t *, void *); -void *rtems_monitor_config_next(void *, rtems_monitor_config_t *, rtems_id *); -void rtems_monitor_config_dump_header(boolean); -void rtems_monitor_config_dump(rtems_monitor_config_t *, boolean verbose); - -/* mpci.c */ -void rtems_monitor_mpci_canonical(rtems_monitor_mpci_t *, void *); -void *rtems_monitor_mpci_next(void *, rtems_monitor_mpci_t *, rtems_id *); -void rtems_monitor_mpci_dump_header(boolean); -void rtems_monitor_mpci_dump(rtems_monitor_mpci_t *, boolean verbose); - -/* itask.c */ -void rtems_monitor_init_task_canonical(rtems_monitor_init_task_t *, void *); -void *rtems_monitor_init_task_next(void *, rtems_monitor_init_task_t *, rtems_id *); -void rtems_monitor_init_task_dump_header(boolean); -void rtems_monitor_init_task_dump(rtems_monitor_init_task_t *, boolean verbose); - -/* extension.c */ -void rtems_monitor_extension_canonical(rtems_monitor_extension_t *, void *); -void rtems_monitor_extension_dump_header(boolean verbose); -void rtems_monitor_extension_dump(rtems_monitor_extension_t *, boolean); - -/* task.c */ -void rtems_monitor_task_canonical(rtems_monitor_task_t *, void *); -void rtems_monitor_task_dump_header(boolean verbose); -void rtems_monitor_task_dump(rtems_monitor_task_t *, boolean); - -/* queue.c */ -void rtems_monitor_queue_canonical(rtems_monitor_queue_t *, void *); -void rtems_monitor_queue_dump_header(boolean verbose); -void rtems_monitor_queue_dump(rtems_monitor_queue_t *, boolean); - -/* driver.c */ -void *rtems_monitor_driver_next(void *, rtems_monitor_driver_t *, rtems_id *); -void rtems_monitor_driver_canonical(rtems_monitor_driver_t *, void *); -void rtems_monitor_driver_dump_header(boolean); -void rtems_monitor_driver_dump(rtems_monitor_driver_t *, boolean); - -/* dname.c */ -void *rtems_monitor_dname_next(void *, rtems_monitor_dname_t *, rtems_id *); -void rtems_monitor_dname_canonical(rtems_monitor_dname_t *, void *); -void rtems_monitor_dname_dump_header(boolean); -void rtems_monitor_dname_dump(rtems_monitor_dname_t *, boolean); - -/* symbols.c */ -rtems_symbol_table_t *rtems_symbol_table_create(); -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 *); -void rtems_monitor_symbol_canonical_by_name(rtems_monitor_symbol_t *, char *); -void rtems_monitor_symbol_canonical_by_value(rtems_monitor_symbol_t *, void *); -unsigned32 rtems_monitor_symbol_dump(rtems_monitor_symbol_t *, boolean); -void rtems_monitor_symbol_cmd(int, char **, unsigned32, boolean); - - -extern rtems_symbol_table_t *rtems_monitor_symbols; - -#ifndef MONITOR_PROMPT -#define MONITOR_PROMPT "rtems" /* will have '> ' appended */ -#endif - -#define MONITOR_WAKEUP_EVENT RTEMS_EVENT_0 - - -#define STREQ(a,b) (strcmp(a,b) == 0) -#define STRNEQ(a,b,n) (strncmp(a,b,n) == 0) - -#ifdef __cplusplus -} -#endif - -#endif /* ! __MONITOR_H */ diff --git a/cpukit/libmisc/monitor/symbols.h b/cpukit/libmisc/monitor/symbols.h deleted file mode 100644 index 061ccdd952..0000000000 --- a/cpukit/libmisc/monitor/symbols.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * RTEMS monitor symbol table functions - * - * Description: - * Entry points for symbol table routines. - * - * - * - * TODO: - * - * $Id$ - */ - -#ifndef _INCLUDE_SYMBOLS_H -#define _INCLUDE_SYMBOLS_H - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct { - rtems_unsigned32 value; - char *name; -} rtems_symbol_t; - -#define SYMBOL_STRING_BLOCK_SIZE 4080 -typedef struct rtems_symbol_string_block_s { - struct rtems_symbol_string_block_s *next; - char buffer[SYMBOL_STRING_BLOCK_SIZE]; -} rtems_symbol_string_block_t; - -typedef struct { - - rtems_unsigned32 sorted; /* are symbols sorted right now? */ - - rtems_unsigned32 growth_factor; /* % to grow by when needed */ - - rtems_unsigned32 next; /* next symbol slot to use when adding */ - rtems_unsigned32 size; /* max # of symbols */ - - /* - * Symbol list -- sorted by address (when we do a lookup) - */ - - rtems_symbol_t *addresses; /* symbol array by address */ - - /* - * String pool, unsorted, a list of blocks of string data - */ - - rtems_symbol_string_block_t *string_buffer_head; - rtems_symbol_string_block_t *string_buffer_current; - rtems_unsigned32 strings_next; /* next byte to use in this block */ - -} rtems_symbol_table_t; - -#define rtems_symbol_name(sp) ((sp)->name) -#define rtems_symbol_value(sp) ((sp)->value) - -#ifdef __cplusplus -} -#endif - -#endif /* ! _INCLUDE_SYMBOLS_H */ |