diff options
author | cvs2svn <> | 2010-04-02 22:36:45 +0000 |
---|---|---|
committer | cvs2svn <> | 2010-04-02 22:36:45 +0000 |
commit | 833ec8db7a32b62c657fa75fe8390dd6e116675c (patch) | |
tree | 6f4dcec7d19e941fc9b5037f70444a7cfde88397 /libgloss/xstormy16/xstormy16_stub.c | |
parent | d8b4cbe896c6c9ecf5fb162d93a2dd33b95501df (diff) | |
download | cygnal-cygwin-1_7_3-release.tar.gz cygnal-cygwin-1_7_3-release.tar.bz2 cygnal-cygwin-1_7_3-release.zip |
This commit was manufactured by cvs2svn to create tag 'cygwin-cygwin-1_7_3-release
1_7_3-release'.
Sprout from master 2010-03-30 16:20:15 UTC Corinna Vinschen <corinna@vinschen.de> ' * fhandler_socket.cc (fhandler_socket::wait_for_events): Remove call to'
Cherrypick from master 2010-04-02 22:36:44 UTC Christopher Faylor <me@cgf.cx> '* fhandler.h (fhandler_base::has_ongoing_io): Declare virtual method.':
winsup/cygwin/ChangeLog
winsup/cygwin/dtable.cc
winsup/cygwin/fhandler.cc
winsup/cygwin/fhandler.h
winsup/cygwin/fhandler_fifo.cc
winsup/cygwin/fhandler_tty.cc
winsup/cygwin/include/sys/strace.h
winsup/cygwin/nlsfuncs.cc
winsup/cygwin/pipe.cc
winsup/cygwin/select.cc
winsup/cygwin/select.h
winsup/cygwin/sigproc.cc
winsup/cygwin/strace.cc
winsup/cygwin/syscalls.cc
winsup/doc/ChangeLog
winsup/doc/cygwinenv.sgml
winsup/doc/effectively.sgml
winsup/doc/faq-using.xml
winsup/doc/setup-net.sgml
Cherrypick from master 2005-10-28 21:21:08 UTC Jeff Johnston <jjohnstn@redhat.com> '':
newlib/libc/string/wcsncpy.c
Cherrypick from cygnus 1999-05-03 07:29:06 UTC Richard Henderson <rth@redhat.com> '19990502 sourceware import':
README
config/mt-d30v
config/mt-netware
config/mt-ospace
etc/add-log.el
etc/add-log.vi
etc/configbuild.ein
etc/configbuild.fig
etc/configbuild.jin
etc/configbuild.tin
etc/configdev.ein
etc/configdev.fig
etc/configdev.jin
etc/configdev.tin
include/aout/hppa.h
include/coff/sym.h
include/fopen-bin.h
include/fopen-same.h
include/opcode/tahoe.h
makefile.vms
Delete:
djunpack.bat
libgloss/ChangeLog
libgloss/Makefile.in
libgloss/README
libgloss/acinclude.m4
libgloss/aclocal.m4
libgloss/arm/Makefile.in
libgloss/arm/_exit.c
libgloss/arm/_kill.c
libgloss/arm/aclocal.m4
libgloss/arm/coff-iq80310.specs
libgloss/arm/coff-pid.specs
libgloss/arm/coff-rdimon.specs
libgloss/arm/coff-rdpmon.specs
libgloss/arm/coff-redboot.ld
libgloss/arm/coff-redboot.specs
libgloss/arm/configure
libgloss/arm/configure.in
libgloss/arm/crt0.S
libgloss/arm/elf-iq80310.specs
libgloss/arm/elf-linux.specs
libgloss/arm/elf-pid.specs
libgloss/arm/elf-rdimon.specs
libgloss/arm/elf-rdpmon.specs
libgloss/arm/elf-redboot.ld
libgloss/arm/elf-redboot.specs
libgloss/arm/libcfunc.c
libgloss/arm/linux-crt0.c
libgloss/arm/linux-syscall.h
libgloss/arm/linux-syscalls0.S
libgloss/arm/linux-syscalls1.c
libgloss/arm/redboot-crt0.S
libgloss/arm/redboot-syscalls.c
libgloss/arm/swi.h
libgloss/arm/syscall.h
libgloss/arm/syscalls.c
libgloss/arm/trap.S
libgloss/bfin/Makefile.in
libgloss/bfin/aclocal.m4
libgloss/bfin/basiccrt.S
libgloss/bfin/bf512.ld
libgloss/bfin/bf514.ld
libgloss/bfin/bf516.ld
libgloss/bfin/bf518.ld
libgloss/bfin/bf522.ld
libgloss/bfin/bf523.ld
libgloss/bfin/bf524.ld
libgloss/bfin/bf525.ld
libgloss/bfin/bf526.ld
libgloss/bfin/bf527.ld
libgloss/bfin/bf531.ld
libgloss/bfin/bf532.ld
libgloss/bfin/bf533.ld
libgloss/bfin/bf534.ld
libgloss/bfin/bf536.ld
libgloss/bfin/bf537.ld
libgloss/bfin/bf538.ld
libgloss/bfin/bf539.ld
libgloss/bfin/bf542.ld
libgloss/bfin/bf544.ld
libgloss/bfin/bf547.ld
libgloss/bfin/bf548.ld
libgloss/bfin/bf549.ld
libgloss/bfin/bf561.ld
libgloss/bfin/bf561a.ld
libgloss/bfin/bf561b.ld
libgloss/bfin/bf561m.ld
libgloss/bfin/bfin-common-mc.ld
libgloss/bfin/bfin-common-sc.ld
libgloss/bfin/configure
libgloss/bfin/configure.in
libgloss/bfin/crt0.S
libgloss/bfin/include/blackfin.h
libgloss/bfin/include/ccblkfn.h
libgloss/bfin/include/cdefBF512.h
libgloss/bfin/include/cdefBF514.h
libgloss/bfin/include/cdefBF516.h
libgloss/bfin/include/cdefBF518.h
libgloss/bfin/include/cdefBF51x_base.h
libgloss/bfin/include/cdefBF522.h
libgloss/bfin/include/cdefBF523.h
libgloss/bfin/include/cdefBF524.h
libgloss/bfin/include/cdefBF525.h
libgloss/bfin/include/cdefBF526.h
libgloss/bfin/include/cdefBF527.h
libgloss/bfin/include/cdefBF52x_base.h
libgloss/bfin/include/cdefBF531.h
libgloss/bfin/include/cdefBF532.h
libgloss/bfin/include/cdefBF533.h
libgloss/bfin/include/cdefBF534.h
libgloss/bfin/include/cdefBF535.h
libgloss/bfin/include/cdefBF536.h
libgloss/bfin/include/cdefBF537.h
libgloss/bfin/include/cdefBF538.h
libgloss/bfin/include/cdefBF539.h
libgloss/bfin/include/cdefBF53x.h
libgloss/bfin/include/cdefBF541.h
libgloss/bfin/include/cdefBF542.h
libgloss/bfin/include/cdefBF542M.h
libgloss/bfin/include/cdefBF544.h
libgloss/bfin/include/cdefBF544M.h
libgloss/bfin/include/cdefBF547.h
libgloss/bfin/include/cdefBF547M.h
libgloss/bfin/include/cdefBF548.h
libgloss/bfin/include/cdefBF548M.h
libgloss/bfin/include/cdefBF549.h
libgloss/bfin/include/cdefBF549M.h
libgloss/bfin/include/cdefBF54x_base.h
libgloss/bfin/include/cdefBF561.h
libgloss/bfin/include/cdef_LPBlackfin.h
libgloss/bfin/include/cdefblackfin.h
libgloss/bfin/include/cplb.h
libgloss/bfin/include/cplbtab.h
libgloss/bfin/include/defBF512.h
libgloss/bfin/include/defBF514.h
libgloss/bfin/include/defBF516.h
libgloss/bfin/include/defBF518.h
libgloss/bfin/include/defBF51x_base.h
libgloss/bfin/include/defBF522.h
libgloss/bfin/include/defBF523.h
libgloss/bfin/include/defBF524.h
libgloss/bfin/include/defBF525.h
libgloss/bfin/include/defBF526.h
libgloss/bfin/include/defBF527.h
libgloss/bfin/include/defBF52x_base.h
libgloss/bfin/include/defBF531.h
libgloss/bfin/include/defBF532.h
libgloss/bfin/include/defBF533.h
libgloss/bfin/include/defBF534.h
libgloss/bfin/include/defBF535.h
libgloss/bfin/include/defBF536.h
libgloss/bfin/include/defBF537.h
libgloss/bfin/include/defBF538.h
libgloss/bfin/include/defBF539.h
libgloss/bfin/include/defBF541.h
libgloss/bfin/include/defBF542.h
libgloss/bfin/include/defBF542M.h
libgloss/bfin/include/defBF544.h
libgloss/bfin/include/defBF544M.h
libgloss/bfin/include/defBF547.h
libgloss/bfin/include/defBF547M.h
libgloss/bfin/include/defBF548.h
libgloss/bfin/include/defBF548M.h
libgloss/bfin/include/defBF549.h
libgloss/bfin/include/defBF549M.h
libgloss/bfin/include/defBF54x_base.h
libgloss/bfin/include/defBF561.h
libgloss/bfin/include/def_LPBlackfin.h
libgloss/bfin/include/defblackfin.h
libgloss/bfin/include/sys/_adi_platform.h
libgloss/bfin/include/sys/anomaly_macros_rtl.h
libgloss/bfin/include/sys/excause.h
libgloss/bfin/include/sys/exception.h
libgloss/bfin/include/sys/mc_typedef.h
libgloss/bfin/include/sys/platform.h
libgloss/bfin/include/sys/pll.h
libgloss/bfin/include/sysreg.h
libgloss/bfin/syscalls.c
libgloss/close.c
libgloss/config/default.mh
libgloss/config/default.mt
libgloss/config/dos.mh
libgloss/config/mips.mt
libgloss/config/mn10200.mt
libgloss/config/mn10300.mt
libgloss/config/ppc.mh
libgloss/configure
libgloss/configure.in
libgloss/cris/Makefile.in
libgloss/cris/aclocal.m4
libgloss/cris/configure
libgloss/cris/configure.in
libgloss/cris/crt0.S
libgloss/cris/crti.c
libgloss/cris/crtn.c
libgloss/cris/gensyscalls
libgloss/cris/irqtable.S
libgloss/cris/lcrt0.c
libgloss/cris/linunistd.h
libgloss/cris/outbyte.c
libgloss/cris/setup.S
libgloss/crx/Makefile.in
libgloss/crx/_exit.c
libgloss/crx/_getenv.c
libgloss/crx/_rename.c
libgloss/crx/aclocal.m4
libgloss/crx/close.c
libgloss/crx/configure
libgloss/crx/configure.in
libgloss/crx/crt0.S
libgloss/crx/crti.S
libgloss/crx/crtn.S
libgloss/crx/dvz_hndl.c
libgloss/crx/flg_hndl.c
libgloss/crx/fstat.c
libgloss/crx/getpid.c
libgloss/crx/iad_hndl.c
libgloss/crx/intable.c
libgloss/crx/isatty.c
libgloss/crx/kill.c
libgloss/crx/lseek.c
libgloss/crx/open.c
libgloss/crx/putnum.c
libgloss/crx/read.c
libgloss/crx/sbrk.c
libgloss/crx/sim.ld
libgloss/crx/stat.c
libgloss/crx/svc_hndl.c
libgloss/crx/time.c
libgloss/crx/und_hndl.c
libgloss/crx/unlink.c
libgloss/crx/write.c
libgloss/d30v/Makefile.in
libgloss/d30v/aclocal.m4
libgloss/d30v/configure
libgloss/d30v/configure.in
libgloss/d30v/crt0.S
libgloss/d30v/inbyte.c
libgloss/d30v/outbyte.c
libgloss/d30v/syscalls.c
libgloss/debug.c
libgloss/debug.h
libgloss/doc/Makefile.in
libgloss/doc/configure
libgloss/doc/configure.in
libgloss/doc/porting.texi
libgloss/fr30/Makefile.in
libgloss/fr30/aclocal.m4
libgloss/fr30/configure
libgloss/fr30/configure.in
libgloss/fr30/crt0.s
libgloss/fr30/syscalls.c
libgloss/frv/Makefile.in
libgloss/frv/aclocal.m4
libgloss/frv/configure
libgloss/frv/configure.in
libgloss/frv/crt0.S
libgloss/frv/fstat.c
libgloss/frv/getpid.c
libgloss/frv/isatty.c
libgloss/frv/kill.c
libgloss/frv/print.c
libgloss/frv/putnum.c
libgloss/frv/sbrk.c
libgloss/frv/sim-close.S
libgloss/frv/sim-exit.S
libgloss/frv/sim-inbyte.c
libgloss/frv/sim-lseek.S
libgloss/frv/sim-open.S
libgloss/frv/sim-read.S
libgloss/frv/sim-time.c
libgloss/frv/sim-unlink.S
libgloss/frv/sim-write.S
libgloss/frv/stat.c
libgloss/fstat.c
libgloss/getpid.c
libgloss/glue.h
libgloss/hp74x/Makefile.in
libgloss/hp74x/README
libgloss/hp74x/aclocal.m4
libgloss/hp74x/checksum.c
libgloss/hp74x/configure
libgloss/hp74x/configure.in
libgloss/hp74x/crt0.s
libgloss/hp74x/debugger.h
libgloss/hp74x/debugger.s
libgloss/hp74x/diagnose.h
libgloss/hp74x/hppa-defs.h
libgloss/hp74x/hppa.ld
libgloss/hp74x/io.c
libgloss/hp74x/iva_table.h
libgloss/hp74x/iva_table.s
libgloss/hp74x/pa_stub.c
libgloss/hp74x/test.c
libgloss/i386/Makefile.in
libgloss/i386/aclocal.m4
libgloss/i386/configure
libgloss/i386/configure.in
libgloss/i386/cygmon-crt0.S
libgloss/i386/cygmon-gmon.c
libgloss/i386/cygmon-gmon.h
libgloss/i386/cygmon-salib.c
libgloss/i386/cygmon-syscall.h
libgloss/i386/cygmon.ld
libgloss/i960/Makefile.in
libgloss/i960/aclocal.m4
libgloss/i960/asm.h
libgloss/i960/configure
libgloss/i960/configure.in
libgloss/i960/crt0.c
libgloss/i960/mon-read.c
libgloss/i960/mon-syscalls.S
libgloss/i960/mon-write.c
libgloss/i960/mon960.c
libgloss/i960/mon960.ld
libgloss/i960/syscall.h
libgloss/iq2000/Makefile.in
libgloss/iq2000/_exit.c
libgloss/iq2000/access.c
libgloss/iq2000/aclocal.m4
libgloss/iq2000/chmod.c
libgloss/iq2000/chown.c
libgloss/iq2000/close.c
libgloss/iq2000/configure
libgloss/iq2000/configure.in
libgloss/iq2000/creat.c
libgloss/iq2000/crt0.S
libgloss/iq2000/crt1.c
libgloss/iq2000/execv.c
libgloss/iq2000/execve.c
libgloss/iq2000/fork.c
libgloss/iq2000/fstat.c
libgloss/iq2000/getpid.c
libgloss/iq2000/gettime.c
libgloss/iq2000/isatty.c
libgloss/iq2000/kill.c
libgloss/iq2000/lseek.c
libgloss/iq2000/open.c
libgloss/iq2000/pipe.c
libgloss/iq2000/read.c
libgloss/iq2000/sbrk.c
libgloss/iq2000/sim.ld
libgloss/iq2000/stat.c
libgloss/iq2000/test.c
libgloss/iq2000/time.c
libgloss/iq2000/times.c
libgloss/iq2000/trap.c
libgloss/iq2000/trap.h
libgloss/iq2000/unlink.c
libgloss/iq2000/utime.c
libgloss/iq2000/wait.c
libgloss/iq2000/write.c
libgloss/isatty.c
libgloss/kill.c
libgloss/libnosys/Makefile.in
libgloss/libnosys/_exit.c
libgloss/libnosys/acconfig.h
libgloss/libnosys/aclocal.m4
libgloss/libnosys/chown.c
libgloss/libnosys/close.c
libgloss/libnosys/config.h.in
libgloss/libnosys/configure
libgloss/libnosys/configure.in
libgloss/libnosys/environ.c
libgloss/libnosys/errno.c
libgloss/libnosys/execve.c
libgloss/libnosys/fork.c
libgloss/libnosys/fstat.c
libgloss/libnosys/getpid.c
libgloss/libnosys/gettod.c
libgloss/libnosys/isatty.c
libgloss/libnosys/kill.c
libgloss/libnosys/link.c
libgloss/libnosys/lseek.c
libgloss/libnosys/open.c
libgloss/libnosys/read.c
libgloss/libnosys/readlink.c
libgloss/libnosys/sbrk.c
libgloss/libnosys/stat.c
libgloss/libnosys/symlink.c
libgloss/libnosys/times.c
libgloss/libnosys/unlink.c
libgloss/libnosys/wait.c
libgloss/libnosys/warning.h
libgloss/libnosys/write.c
libgloss/lm32/Makefile.in
libgloss/lm32/aclocal.m4
libgloss/lm32/configure
libgloss/lm32/configure.in
libgloss/lm32/crt0.S
libgloss/lm32/isatty.c
libgloss/lm32/scall.S
libgloss/lm32/sim.ld
libgloss/lseek.c
libgloss/m32c/Makefile.in
libgloss/m32c/abort.S
libgloss/m32c/aclocal.m4
libgloss/m32c/argv.S
libgloss/m32c/argvlen.S
libgloss/m32c/chdir.S
libgloss/m32c/chmod.S
libgloss/m32c/close.S
libgloss/m32c/configure
libgloss/m32c/configure.in
libgloss/m32c/crt0.S
libgloss/m32c/crtn.S
libgloss/m32c/exit.S
libgloss/m32c/fstat.S
libgloss/m32c/genscript
libgloss/m32c/getpid.S
libgloss/m32c/gettimeofday.S
libgloss/m32c/heaptop.S
libgloss/m32c/isatty.S
libgloss/m32c/kill.S
libgloss/m32c/link.S
libgloss/m32c/lseek.S
libgloss/m32c/m32c.tmpl
libgloss/m32c/m32csys.h
libgloss/m32c/open.S
libgloss/m32c/read.S
libgloss/m32c/sample.c
libgloss/m32c/sbrk.c
libgloss/m32c/stat.S
libgloss/m32c/time.S
libgloss/m32c/times.S
libgloss/m32c/unlink.S
libgloss/m32c/utime.S
libgloss/m32c/varvects.S
libgloss/m32c/varvects.h
libgloss/m32c/write.S
libgloss/m32r/Makefile.in
libgloss/m32r/aclocal.m4
libgloss/m32r/chmod.c
libgloss/m32r/close.c
libgloss/m32r/configure
libgloss/m32r/configure.in
libgloss/m32r/crt0.S
libgloss/m32r/eit.h
libgloss/m32r/eva-stub.ld
libgloss/m32r/eva.ld
libgloss/m32r/exit.c
libgloss/m32r/fstat.c
libgloss/m32r/getpid.c
libgloss/m32r/isatty.c
libgloss/m32r/kill.c
libgloss/m32r/lseek.c
libgloss/m32r/m32r-lib.c
libgloss/m32r/m32r-stub.c
libgloss/m32r/mon.specs
libgloss/m32r/open.c
libgloss/m32r/raise.c
libgloss/m32r/read.c
libgloss/m32r/sbrk.c
libgloss/m32r/stat.c
libgloss/m32r/trap0.S
libgloss/m32r/trapmon0.c
libgloss/m32r/unlink.c
libgloss/m32r/utime.c
libgloss/m32r/write.c
libgloss/m68hc11/Makefile.in
libgloss/m68hc11/aclocal.m4
libgloss/m68hc11/configure
libgloss/m68hc11/configure.in
libgloss/m68hc11/crt0.S
libgloss/m68hc11/sci-inout.S
libgloss/m68hc11/sim-valid-m68hc11.ld
libgloss/m68hc11/sim-valid-m68hc12.ld
libgloss/m68hc11/syscalls.c
libgloss/m68k/Makefile.in
libgloss/m68k/README
libgloss/m68k/aclocal.m4
libgloss/m68k/asm.h
libgloss/m68k/bcc.ld
libgloss/m68k/cf-crt0.S
libgloss/m68k/cf-crt1.c
libgloss/m68k/cf-exit.c
libgloss/m68k/cf-hosted.S
libgloss/m68k/cf-isrs.c
libgloss/m68k/cf-isv.S
libgloss/m68k/cf-sbrk.c
libgloss/m68k/cf.sc
libgloss/m68k/configure
libgloss/m68k/configure.in
libgloss/m68k/cpu32bug.S
libgloss/m68k/cpu32bug.h
libgloss/m68k/crt0.S
libgloss/m68k/dtor.C
libgloss/m68k/fido-_exit.c
libgloss/m68k/fido-crt0.S
libgloss/m68k/fido-handler.c
libgloss/m68k/fido-hosted.S
libgloss/m68k/fido-sbrk.c
libgloss/m68k/fido.h
libgloss/m68k/fido.sc
libgloss/m68k/fido_profiling.h
libgloss/m68k/idp-inbyte.c
libgloss/m68k/idp-outbyte.c
libgloss/m68k/idp.ld
libgloss/m68k/idpgdb.ld
libgloss/m68k/io-close.c
libgloss/m68k/io-exit.c
libgloss/m68k/io-fstat.c
libgloss/m68k/io-gdb.c
libgloss/m68k/io-gettimeofday.c
libgloss/m68k/io-isatty.c
libgloss/m68k/io-lseek.c
libgloss/m68k/io-open.c
libgloss/m68k/io-read.c
libgloss/m68k/io-rename.c
libgloss/m68k/io-stat.c
libgloss/m68k/io-system.c
libgloss/m68k/io-time.c
libgloss/m68k/io-unlink.c
libgloss/m68k/io-write.c
libgloss/m68k/io.h
libgloss/m68k/leds.c
libgloss/m68k/leds.h
libgloss/m68k/mc68681reg.h
libgloss/m68k/mc68ec.c
libgloss/m68k/mvme-stub.c
libgloss/m68k/mvme.S
libgloss/m68k/mvme135-asm.S
libgloss/m68k/mvme135.ld
libgloss/m68k/mvme162.ld
libgloss/m68k/mvme162lx-asm.S
libgloss/m68k/sbc5204.ld
libgloss/m68k/sbc5206.ld
libgloss/m68k/sim-abort.c
libgloss/m68k/sim-crt0.S
libgloss/m68k/sim-errno.c
libgloss/m68k/sim-funcs.c
libgloss/m68k/sim-inbyte.c
libgloss/m68k/sim-print.c
libgloss/m68k/sim-sbrk.c
libgloss/m68k/sim.ld
libgloss/m68k/simulator.S
libgloss/m68k/test.c
libgloss/mcore/Makefile.in
libgloss/mcore/aclocal.m4
libgloss/mcore/close.c
libgloss/mcore/cmb-exit.c
libgloss/mcore/cmb-inbyte.c
libgloss/mcore/cmb-outbyte.c
libgloss/mcore/configure
libgloss/mcore/configure.in
libgloss/mcore/crt0.S
libgloss/mcore/elf-cmb.ld
libgloss/mcore/elf-cmb.specs
libgloss/mcore/fstat.c
libgloss/mcore/getpid.c
libgloss/mcore/kill.c
libgloss/mcore/lseek.c
libgloss/mcore/open.c
libgloss/mcore/pe-cmb.ld
libgloss/mcore/pe-cmb.specs
libgloss/mcore/print.c
libgloss/mcore/putnum.c
libgloss/mcore/raise.c
libgloss/mcore/read.c
libgloss/mcore/sbrk.c
libgloss/mcore/stat.c
libgloss/mcore/syscalls.S
libgloss/mcore/unlink.c
libgloss/mcore/write.c
libgloss/mep/Makefile.in
libgloss/mep/aclocal.m4
libgloss/mep/configure
libgloss/mep/configure.in
libgloss/mep/crt0.S
libgloss/mep/crtn.S
libgloss/mep/default.ld
libgloss/mep/fmax.ld
libgloss/mep/gcov-io.h
libgloss/mep/gmap_default.ld
libgloss/mep/h_reset.c
libgloss/mep/handlers.c
libgloss/mep/isatty.c
libgloss/mep/mep-bb.c
libgloss/mep/mep-gmon.c
libgloss/mep/min.ld
libgloss/mep/read.c
libgloss/mep/sbrk.c
libgloss/mep/sdram-crt0.S
libgloss/mep/sim-crt0.S
libgloss/mep/sim-crtn.S
libgloss/mep/simnovec-crt0.S
libgloss/mep/simple.ld
libgloss/mep/simsdram-crt0.S
libgloss/mep/syscalls.S
libgloss/mep/write.c
libgloss/microblaze/Makefile.in
libgloss/microblaze/_exception_handler.S
libgloss/microblaze/_hw_exception_handler.S
libgloss/microblaze/_interrupt_handler.S
libgloss/microblaze/_program_clean.S
libgloss/microblaze/_program_init.S
libgloss/microblaze/configure
libgloss/microblaze/configure.in
libgloss/microblaze/crt0.S
libgloss/microblaze/crt1.S
libgloss/microblaze/crt2.S
libgloss/microblaze/crt3.S
libgloss/microblaze/crt4.S
libgloss/microblaze/crtinit.S
libgloss/microblaze/pgcrtinit.S
libgloss/microblaze/sbrk.c
libgloss/microblaze/sim-crtinit.S
libgloss/microblaze/sim-pgcrtinit.S
libgloss/microblaze/timer.c
libgloss/microblaze/xil_malloc.c
libgloss/microblaze/xil_sbrk.c
libgloss/microblaze/xilinx.ld
libgloss/mips/Makefile.in
libgloss/mips/aclocal.m4
libgloss/mips/array-io.c
libgloss/mips/array.ld
libgloss/mips/cfe.c
libgloss/mips/cfe.ld
libgloss/mips/cfe_api.c
libgloss/mips/cfe_api.h
libgloss/mips/cfe_api_int.h
libgloss/mips/cfe_error.h
libgloss/mips/cfe_mem.c
libgloss/mips/cma101.c
libgloss/mips/configure
libgloss/mips/configure.in
libgloss/mips/crt0.S
libgloss/mips/crt0_cfe.S
libgloss/mips/crt0_cygmon.S
libgloss/mips/cygmon.c
libgloss/mips/ddb-kseg0.ld
libgloss/mips/ddb.ld
libgloss/mips/dtor.C
libgloss/mips/dve.ld
libgloss/mips/dvemon.c
libgloss/mips/entry.S
libgloss/mips/idt.ld
libgloss/mips/idt32.ld
libgloss/mips/idt64.ld
libgloss/mips/idtecoff.ld
libgloss/mips/idtmon.S
libgloss/mips/jmr3904-io.c
libgloss/mips/jmr3904app-java.ld
libgloss/mips/jmr3904app.ld
libgloss/mips/jmr3904dram-java.ld
libgloss/mips/jmr3904dram.ld
libgloss/mips/lsi.ld
libgloss/mips/lsipmon.S
libgloss/mips/nullmon.c
libgloss/mips/nullmon.ld
libgloss/mips/pmon.S
libgloss/mips/pmon.ld
libgloss/mips/regs.S
libgloss/mips/syscalls.c
libgloss/mips/test.c
libgloss/mips/vr4300.S
libgloss/mips/vr5xxx.S
libgloss/mn10200/Makefile.in
libgloss/mn10200/_exit.c
libgloss/mn10200/access.c
libgloss/mn10200/aclocal.m4
libgloss/mn10200/chmod.c
libgloss/mn10200/chown.c
libgloss/mn10200/close.c
libgloss/mn10200/configure
libgloss/mn10200/configure.in
libgloss/mn10200/creat.c
libgloss/mn10200/crt0.S
libgloss/mn10200/crt1.c
libgloss/mn10200/eval.ld
libgloss/mn10200/execv.c
libgloss/mn10200/execve.c
libgloss/mn10200/fork.c
libgloss/mn10200/fstat.c
libgloss/mn10200/getpid.c
libgloss/mn10200/gettime.c
libgloss/mn10200/isatty.c
libgloss/mn10200/kill.c
libgloss/mn10200/lseek.c
libgloss/mn10200/open.c
libgloss/mn10200/pipe.c
libgloss/mn10200/read.c
libgloss/mn10200/sbrk.c
libgloss/mn10200/sim.ld
libgloss/mn10200/stat.c
libgloss/mn10200/test.c
libgloss/mn10200/time.c
libgloss/mn10200/times.c
libgloss/mn10200/trap.S
libgloss/mn10200/trap.h
libgloss/mn10200/unlink.c
libgloss/mn10200/utime.c
libgloss/mn10200/wait.c
libgloss/mn10200/write.c
libgloss/mn10300/Makefile.in
libgloss/mn10300/_exit.c
libgloss/mn10300/access.c
libgloss/mn10300/aclocal.m4
libgloss/mn10300/asb2303.ld
libgloss/mn10300/asb2305.ld
libgloss/mn10300/chmod.c
libgloss/mn10300/chown.c
libgloss/mn10300/close.c
libgloss/mn10300/configure
libgloss/mn10300/configure.in
libgloss/mn10300/creat.c
libgloss/mn10300/crt0-eval.S
libgloss/mn10300/crt0.S
libgloss/mn10300/crt0_cygmon.S
libgloss/mn10300/crt0_redboot.S
libgloss/mn10300/crt1.c
libgloss/mn10300/cygmon.c
libgloss/mn10300/eval.ld
libgloss/mn10300/execv.c
libgloss/mn10300/execve.c
libgloss/mn10300/fork.c
libgloss/mn10300/fstat.c
libgloss/mn10300/getpid.c
libgloss/mn10300/gettime.c
libgloss/mn10300/isatty.c
libgloss/mn10300/kill.c
libgloss/mn10300/lseek.c
libgloss/mn10300/open.c
libgloss/mn10300/pipe.c
libgloss/mn10300/read.c
libgloss/mn10300/sbrk.c
libgloss/mn10300/sim.ld
libgloss/mn10300/stat.c
libgloss/mn10300/test.c
libgloss/mn10300/time.c
libgloss/mn10300/times.c
libgloss/mn10300/trap.S
libgloss/mn10300/trap.h
libgloss/mn10300/unlink.c
libgloss/mn10300/utime.c
libgloss/mn10300/wait.c
libgloss/mn10300/write.c
libgloss/moxie/Makefile.in
libgloss/moxie/aclocal.m4
libgloss/moxie/configure
libgloss/moxie/configure.in
libgloss/moxie/crt0.S
libgloss/moxie/fstat.c
libgloss/moxie/getpid.c
libgloss/moxie/isatty.c
libgloss/moxie/kill.c
libgloss/moxie/moxie-elf-common.ld
libgloss/moxie/print.c
libgloss/moxie/putnum.c
libgloss/moxie/qemu-time.c
libgloss/moxie/qemu-write.c
libgloss/moxie/qemu.ld
libgloss/moxie/sbrk.c
libgloss/moxie/sim-close.S
libgloss/moxie/sim-exit.S
libgloss/moxie/sim-inbyte.c
libgloss/moxie/sim-lseek.S
libgloss/moxie/sim-lseek.c
libgloss/moxie/sim-open.S
libgloss/moxie/sim-read.S
libgloss/moxie/sim-time.c
libgloss/moxie/sim-unlink.S
libgloss/moxie/sim-write.S
libgloss/moxie/sim.ld
libgloss/moxie/stat.c
libgloss/mt/16-002.ld
libgloss/mt/16-003.ld
libgloss/mt/64-001.ld
libgloss/mt/Makefile.in
libgloss/mt/access.c
libgloss/mt/aclocal.m4
libgloss/mt/chmod.c
libgloss/mt/close.c
libgloss/mt/configure
libgloss/mt/configure.in
libgloss/mt/crt0-16-002.S
libgloss/mt/crt0-16-003.S
libgloss/mt/crt0-64-001.S
libgloss/mt/crt0-ms2.S
libgloss/mt/crt0.S
libgloss/mt/exit-16-002.c
libgloss/mt/exit-16-003.c
libgloss/mt/exit-64-001.c
libgloss/mt/exit-ms2.c
libgloss/mt/exit.c
libgloss/mt/fstat.c
libgloss/mt/getpid.c
libgloss/mt/gettime.c
libgloss/mt/isatty.c
libgloss/mt/kill.c
libgloss/mt/lseek.c
libgloss/mt/ms2.ld
libgloss/mt/open.c
libgloss/mt/read.c
libgloss/mt/sbrk.c
libgloss/mt/startup-16-002.S
libgloss/mt/startup-16-003.S
libgloss/mt/startup-64-001.S
libgloss/mt/startup-ms2.S
libgloss/mt/stat.c
libgloss/mt/time.c
libgloss/mt/times.c
libgloss/mt/trap.S
libgloss/mt/trap.h
libgloss/mt/unlink.c
libgloss/mt/utime.c
libgloss/mt/write.c
libgloss/open.c
libgloss/pa/Makefile.in
libgloss/pa/README
libgloss/pa/aclocal.m4
libgloss/pa/configure
libgloss/pa/configure.in
libgloss/pa/crt0.S
libgloss/pa/hp-milli.s
libgloss/pa/op50n-io.S
libgloss/pa/op50n.h
libgloss/pa/op50n.ld
libgloss/pa/op50nled.c
libgloss/pa/setjmp.S
libgloss/pa/test.c
libgloss/pa/w89k-io.c
libgloss/pa/w89k.h
libgloss/pa/w89k.ld
libgloss/print.c
libgloss/putnum.c
libgloss/read.c
libgloss/rs6000/Makefile.in
libgloss/rs6000/aclocal.m4
libgloss/rs6000/ads-exit.S
libgloss/rs6000/ads-io.c
libgloss/rs6000/ads.ld
libgloss/rs6000/configure
libgloss/rs6000/configure.in
libgloss/rs6000/crt0.S
libgloss/rs6000/mbx-exit.c
libgloss/rs6000/mbx-inbyte.c
libgloss/rs6000/mbx-outbyte.c
libgloss/rs6000/mbx-print.c
libgloss/rs6000/mbx.ld
libgloss/rs6000/mbx.specs
libgloss/rs6000/mcount.S
libgloss/rs6000/mvme-errno.c
libgloss/rs6000/mvme-exit.S
libgloss/rs6000/mvme-inbyte.S
libgloss/rs6000/mvme-outbyte.S
libgloss/rs6000/mvme-print.c
libgloss/rs6000/mvme-read.c
libgloss/rs6000/sim-abort.c
libgloss/rs6000/sim-crt0.S
libgloss/rs6000/sim-errno.c
libgloss/rs6000/sim-getrusage.S
libgloss/rs6000/sim-inbyte.c
libgloss/rs6000/sim-print.c
libgloss/rs6000/sim-sbrk.c
libgloss/rs6000/simulator.S
libgloss/rs6000/sol-cfuncs.c
libgloss/rs6000/sol-syscall.S
libgloss/rs6000/test.c
libgloss/rs6000/xil-crt0.S
libgloss/rs6000/xilinx.ld
libgloss/rs6000/xilinx440.ld
libgloss/rs6000/yellowknife.ld
libgloss/rx/Makefile.in
libgloss/rx/abort.S
libgloss/rx/argv.S
libgloss/rx/argvlen.S
libgloss/rx/chdir.S
libgloss/rx/chmod.S
libgloss/rx/close.S
libgloss/rx/configure
libgloss/rx/configure.in
libgloss/rx/crt0.S
libgloss/rx/crtn.S
libgloss/rx/exit.S
libgloss/rx/fstat.S
libgloss/rx/gcrt0.S
libgloss/rx/getpid.S
libgloss/rx/gettimeofday.S
libgloss/rx/heaptop.S
libgloss/rx/isatty.S
libgloss/rx/kill.S
libgloss/rx/link.S
libgloss/rx/lseek.S
libgloss/rx/mcount.c
libgloss/rx/open.S
libgloss/rx/read.S
libgloss/rx/rx-sim.ld
libgloss/rx/rx.ld
libgloss/rx/rxsys.h
libgloss/rx/sbrk.c
libgloss/rx/sigprocmask.S
libgloss/rx/sleep.S
libgloss/rx/stat.S
libgloss/rx/time.S
libgloss/rx/times.S
libgloss/rx/unlink.S
libgloss/rx/utime.S
libgloss/rx/write.S
libgloss/sbrk.c
libgloss/sh/sh1lcevb.ld
libgloss/sh/sh2lcevb.ld
libgloss/sh/sh3bb.ld
libgloss/sh/sh3lcevb.ld
libgloss/sparc/Makefile.in
libgloss/sparc/aclocal.m4
libgloss/sparc/asm.h
libgloss/sparc/cache.c
libgloss/sparc/configure
libgloss/sparc/configure.in
libgloss/sparc/crt0-701.S
libgloss/sparc/crt0.S
libgloss/sparc/cygmon-crt0.S
libgloss/sparc/cygmon-salib.c
libgloss/sparc/cygmon-sparc64-ld.src
libgloss/sparc/cygmon.ld.src
libgloss/sparc/dtor.C
libgloss/sparc/elfsim.ld
libgloss/sparc/erc32-crt0.S
libgloss/sparc/erc32-io.c
libgloss/sparc/erc32-stub.c
libgloss/sparc/erc32.ld
libgloss/sparc/ex930.ld
libgloss/sparc/ex931.ld
libgloss/sparc/ex934.ld
libgloss/sparc/fixctors.c
libgloss/sparc/libsys/Makefile.in
libgloss/sparc/libsys/_exit.S
libgloss/sparc/libsys/aclocal.m4
libgloss/sparc/libsys/cerror.S
libgloss/sparc/libsys/configure
libgloss/sparc/libsys/configure.in
libgloss/sparc/libsys/isatty.c
libgloss/sparc/libsys/libsys-crt0.S
libgloss/sparc/libsys/sbrk.S
libgloss/sparc/libsys/syscall.h
libgloss/sparc/libsys/syscallasm.h
libgloss/sparc/libsys/template.S
libgloss/sparc/libsys/template_r.S
libgloss/sparc/salib-701.c
libgloss/sparc/salib.c
libgloss/sparc/slite.h
libgloss/sparc/sparc-stub.c
libgloss/sparc/sparc86x.ld
libgloss/sparc/sparcl-stub.c
libgloss/sparc/sparclet-stub.c
libgloss/sparc/sparclite.h
libgloss/sparc/sysc-701.c
libgloss/sparc/syscalls.c
libgloss/sparc/test.c
libgloss/sparc/traps.S
libgloss/sparc/tsc701.ld
libgloss/spu/Makefile.in
libgloss/spu/access.c
libgloss/spu/aclocal.m4
libgloss/spu/chdir.c
libgloss/spu/chmod.c
libgloss/spu/chown.c
libgloss/spu/close.c
libgloss/spu/configure
libgloss/spu/configure.in
libgloss/spu/conv_stat.c
libgloss/spu/crt0.S
libgloss/spu/crti.S
libgloss/spu/crtn.S
libgloss/spu/dirfuncs.c
libgloss/spu/dup.c
libgloss/spu/dup2.c
libgloss/spu/exit.c
libgloss/spu/fchdir.c
libgloss/spu/fchmod.c
libgloss/spu/fchown.c
libgloss/spu/fdatasync.c
libgloss/spu/fstat.c
libgloss/spu/fsync.c
libgloss/spu/ftruncate.c
libgloss/spu/getcwd.c
libgloss/spu/getitimer.c
libgloss/spu/getpagesize.c
libgloss/spu/getpid.c
libgloss/spu/gettimeofday.c
libgloss/spu/isatty.c
libgloss/spu/jsre.h
libgloss/spu/kill.c
libgloss/spu/lchown.c
libgloss/spu/link.c
libgloss/spu/linux_getpid.c
libgloss/spu/linux_gettid.c
libgloss/spu/linux_syscalls.c
libgloss/spu/lockf.c
libgloss/spu/lseek.c
libgloss/spu/lstat.c
libgloss/spu/mkdir.c
libgloss/spu/mknod.c
libgloss/spu/mkstemp.c
libgloss/spu/mktemp.c
libgloss/spu/mmap_eaddr.c
libgloss/spu/mremap_eaddr.c
libgloss/spu/msync_eaddr.c
libgloss/spu/munmap_eaddr.c
libgloss/spu/nanosleep.c
libgloss/spu/open.c
libgloss/spu/pread.c
libgloss/spu/pwrite.c
libgloss/spu/read.c
libgloss/spu/readlink.c
libgloss/spu/readv.c
libgloss/spu/rmdir.c
libgloss/spu/sbrk.c
libgloss/spu/sched_yield.c
libgloss/spu/setitimer.c
libgloss/spu/shm_open.c
libgloss/spu/shm_unlink.c
libgloss/spu/stat.c
libgloss/spu/symlink.c
libgloss/spu/sync.c
libgloss/spu/syscalls.c
libgloss/spu/times.c
libgloss/spu/truncate.c
libgloss/spu/umask.c
libgloss/spu/unlink.c
libgloss/spu/utime.c
libgloss/spu/utimes.c
libgloss/spu/write.c
libgloss/spu/writev.c
libgloss/stat.c
libgloss/syscall.h
libgloss/testsuite/Makefile.in
libgloss/testsuite/config/hppa.mt
libgloss/testsuite/config/m68k.mt
libgloss/testsuite/config/mips.mt
libgloss/testsuite/config/support.c
libgloss/testsuite/configure.in
libgloss/testsuite/lib/libgloss.exp
libgloss/testsuite/libgloss.all/.gdbinit
libgloss/testsuite/libgloss.all/Makefile.in
libgloss/testsuite/libgloss.all/array.c
libgloss/testsuite/libgloss.all/configure.in
libgloss/testsuite/libgloss.all/div.c
libgloss/testsuite/libgloss.all/double.c
libgloss/testsuite/libgloss.all/float.c
libgloss/testsuite/libgloss.all/func.c
libgloss/testsuite/libgloss.all/io.c
libgloss/testsuite/libgloss.all/math.c
libgloss/testsuite/libgloss.all/memory.c
libgloss/testsuite/libgloss.all/misc.c
libgloss/testsuite/libgloss.all/printf.c
libgloss/testsuite/libgloss.all/struct.c
libgloss/testsuite/libgloss.all/varargs.c
libgloss/testsuite/libgloss.all/varargs2.c
libgloss/unlink.c
libgloss/v850/sys/syscall.h
libgloss/wince/Makefile.am
libgloss/wince/Makefile.in
libgloss/wince/aclocal.m4
libgloss/wince/configure
libgloss/wince/configure.in
libgloss/write.c
libgloss/xc16x/Makefile.in
libgloss/xc16x/aclocal.m4
libgloss/xc16x/close.S
libgloss/xc16x/configure
libgloss/xc16x/configure.in
libgloss/xc16x/create.c
libgloss/xc16x/crt0.S
libgloss/xc16x/fstat.S
libgloss/xc16x/getchar1.c
libgloss/xc16x/isatty.c
libgloss/xc16x/lseek.c
libgloss/xc16x/mem-layout.c
libgloss/xc16x/misc.c
libgloss/xc16x/open.c
libgloss/xc16x/read.c
libgloss/xc16x/sbrk.c
libgloss/xc16x/sys/syscall.h
libgloss/xc16x/syscalls.c
libgloss/xc16x/trap_handle.c
libgloss/xc16x/write.c
libgloss/xc16x/xc16x.mt
libgloss/xstormy16/Makefile.in
libgloss/xstormy16/aclocal.m4
libgloss/xstormy16/close.c
libgloss/xstormy16/configure
libgloss/xstormy16/configure.in
libgloss/xstormy16/crt0.s
libgloss/xstormy16/crt0_stub.s
libgloss/xstormy16/crti.s
libgloss/xstormy16/crtn.s
libgloss/xstormy16/eva_app.c
libgloss/xstormy16/eva_app.ld
libgloss/xstormy16/eva_stub.ld
libgloss/xstormy16/fstat.c
libgloss/xstormy16/getpid.c
libgloss/xstormy16/isatty.c
libgloss/xstormy16/kill.c
libgloss/xstormy16/lseek.c
libgloss/xstormy16/open.c
libgloss/xstormy16/sim_high.ld
libgloss/xstormy16/sim_malloc_start.s
libgloss/xstormy16/sim_rom.ld
libgloss/xstormy16/stat.c
libgloss/xstormy16/syscalls.S
libgloss/xstormy16/syscalls.m4
libgloss/xstormy16/unlink.c
libgloss/xstormy16/xstormy16_stub.c
texinfo/texinfo.tex
Diffstat (limited to 'libgloss/xstormy16/xstormy16_stub.c')
-rw-r--r-- | libgloss/xstormy16/xstormy16_stub.c | 837 |
1 files changed, 0 insertions, 837 deletions
diff --git a/libgloss/xstormy16/xstormy16_stub.c b/libgloss/xstormy16/xstormy16_stub.c deleted file mode 100644 index 7706031e9..000000000 --- a/libgloss/xstormy16/xstormy16_stub.c +++ /dev/null @@ -1,837 +0,0 @@ -/**************************************************************************** - - THIS SOFTWARE IS NOT COPYRIGHTED - - HP offers the following for use in the public domain. HP makes no - warranty with regard to the software or it's performance and the - user accepts the software "AS IS" with all faults. - - HP DISCLAIMS ANY WARRANTIES, EXPRESS OR IMPLIED, WITH REGARD - TO THIS SOFTWARE INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. - -****************************************************************************/ - -/**************************************************************************** - * Header: remcom.c,v 1.34 91/03/09 12:29:49 glenne Exp $ - * - * Module name: remcom.c $ - * Revision: 1.34 $ - * Date: 91/03/09 12:29:49 $ - * Contributor: Lake Stevens Instrument Division$ - * - * Description: low level support for gdb debugger. $ - * - * Considerations: only works on target hardware $ - * - * Written by: Glenn Engel $ - * ModuleState: Experimental $ - * - * NOTES: See Below $ - * - * Heavily modified for XStormy16 by Mark Salter, Red Hat. - * Optimisations and 'X' support by Geoff Keating, Red Hat. - * - * To enable debugger support, two things need to happen. One, a - * call to set_debug_traps() is necessary in order to allow any breakpoints - * or error conditions to be properly intercepted and reported to gdb. - * Two, a breakpoint needs to be generated to begin communication. This - * is most easily accomplished by a call to breakpoint(). Breakpoint() - * simulates a breakpoint by executing a trap #1. - * - * Because gdb will sometimes write to the stack area to execute function - * calls, this program cannot rely on using the inferior stack so it uses - * it's own stack area. - * - ************* - * - * The following gdb commands are supported: - * - * command function Return value - * - * g return the value of the CPU registers hex data or ENN - * G set the value of the CPU registers OK or ENN - * - * mAA..AA,LLLL Read LLLL bytes at address AA..AA hex data or ENN - * MAA..AA,LLLL: Write LLLL bytes at address AA.AA OK or ENN - * XAA..AA,LLLL: Write LLLL binary bytes at address OK or ENN - * AA..AA - * - * c Resume at current address SNN ( signal NN) - * cAA..AA Continue at address AA..AA SNN - * - * s Step one instruction SNN - * sAA..AA Step one instruction from AA..AA SNN - * - * k kill - * - * ? What was the last sigval ? SNN (signal NN) - * - * All commands and responses are sent with a packet which includes a - * checksum. A packet consists of - * - * $<packet info>#<checksum>. - * - * where - * <packet info> :: <characters representing the command or response> - * <checksum> :: <two hex digits computed as modulo 256 sum of <packetinfo>> - * - * When a packet is received, it is first acknowledged with either '+' or '-'. - * '+' indicates a successful transfer. '-' indicates a failed transfer. - * - * Example: - * - * Host: Reply: - * $m0,10#2a +$00010203040506070809101112131415#42 - * - ****************************************************************************/ - -/* Local functions: - */ -static void putDebugChar(unsigned ch); -static unsigned char getDebugChar(void); -static void putPacket(unsigned char *); -static void putHex (char c, unsigned long mem_arg, int count); -static unsigned char *getpacket(void); -static void hex2mem(unsigned char *, unsigned long, int); -static int valid_addr_range (unsigned long mem, int count); -static int hexToInt(unsigned char **, long *); -static void prepare_to_step(void); -static void finish_from_step(void); - -/* breakpoint opcode */ -#define BREAKPOINT_OPCODE 0x0006 - -/* Error Detection Register */ -#define ERR_DETECT_REG (*(volatile unsigned *)0x7f08) -#define UNDEF_INSN_ENA 0x01 -#define UNDEF_INSN_FLAG 0x02 -#define ODD_ADDR_ENA 0x04 -#define ODD_ADDR_FLAG 0x08 -#define BAD_ADDR_ENA 0x10 -#define BAD_ADDR_FLAG 0x20 -#define SER0_IRQ_ENA 0x1000 -#define SER0_IRQ_FLAG 0x2000 - -/***************************************************************************** - * BUFMAX defines the maximum number of characters in inbound/outbound buffers - * at least NUMREGBYTES*2 are needed for register packets - */ -#define BUFMAX 80 - -static const unsigned char hexchars[]="0123456789abcdef"; - -#define NUMREGS 17 - -/* Number of bytes of registers (extra 2 bytes is for 4 byte PC). */ -#define NUMREGBYTES ((NUMREGS * 2) + 2) -enum regnames { R0, R1, R2, R3, R4, R5, R6, R7, - R8, R9, R10, R11, R12, R13, R14, R15, - PC }; - -#define FP R13 -#define PSW R14 -#define SP R15 - -struct regs { - int r[16]; - long pc; -} registers; - -static struct regs orig_registers; - -static unsigned char remcomBuffer[BUFMAX]; - -/* Indicate whether inferior is running. Used to decide whether or not to - send T packet when stub is entered. */ -static char is_running; - -static inline unsigned char -get_char(unsigned long addr) -{ - unsigned int msw, lsw; - unsigned char ret; - - msw = addr >> 16; - lsw = addr & 0xffff; - - asm("movf.b %0,(%2)\n" - : "=e"(ret) : "d"(msw), "r"(lsw) : "memory"); - - return ret; -} - -static inline void -set_char(unsigned long addr, unsigned int val) -{ - unsigned int msw, lsw; - - msw = addr >> 16; - lsw = addr & 0xffff; - - asm("movf.b (%1),%2\n" - : /* none */ : "d"(msw), "r"(lsw), "e"(val) : "memory" ); -} - -static inline unsigned int -get_word(unsigned long addr) -{ - unsigned int ret, msw, lsw; - - msw = addr >> 16; - lsw = addr & 0xffff; - - asm("movf.w %0,(%2)\n" - : "=e"(ret) : "d"(msw), "r"(lsw) : "memory" ); - - return ret; -} - -static inline void -set_word(unsigned long addr, unsigned int val) -{ - unsigned int msw, lsw; - - msw = addr >> 16; - lsw = addr & 0xffff; - - asm("movf.w (%1),%2\n" - : /* none */ : "d"(msw), "r"(lsw), "e"(val) : "memory" ); -} - -static void -assign_regs (struct regs *dest, const struct regs *src) -{ - int i; - char *d = (char *)dest, *s = (char *)src; - for (i = 0; i < sizeof (struct regs); i++) - *d++ = *s++; -} - -/* Write out a register for a 'T' packet. */ - -static unsigned char * -putreg (unsigned char *buf, int regnum, void *mem_p, int count) -{ - int i; - unsigned char ch; - char *mem = (char *)mem_p; - - *buf++ = hexchars[regnum >> 4]; - *buf++ = hexchars[regnum % 16]; - *buf++ = ':'; - - for (i=0;i<count;i++) - { - ch = *mem++; - *buf++ = hexchars[ch >> 4]; - *buf++ = hexchars[ch % 16]; - } - *buf++ = ';'; - return(buf); -} - -/* - * This function does all command procesing for interfacing to gdb. - */ -void -handle_exception(void) -{ - char sigval; - unsigned char *ptr; - long addr, length; - - /* reply to host that an exception has occurred */ - sigval = 5; /* SIGTRAP is default */ - if (ERR_DETECT_REG & UNDEF_INSN_FLAG) - { - ERR_DETECT_REG &= ~UNDEF_INSN_FLAG; - registers.pc -= 2; - if (get_word(registers.pc) != BREAKPOINT_OPCODE) - sigval = 4; /* SIGILL */ - } - if (ERR_DETECT_REG & BAD_ADDR_FLAG) - { - ERR_DETECT_REG &= ~BAD_ADDR_FLAG; - sigval = 11; /* SIGSEGV */ - } - if (ERR_DETECT_REG & SER0_IRQ_FLAG) - { - unsigned char ch; - - ch = getDebugChar(); - ERR_DETECT_REG &= ~SER0_IRQ_FLAG; - if (ch != 0x03) - return; - sigval = 2; /* SIGINT */ - } - - finish_from_step(); - - /* save original context so it can be restored as a result of - a kill packet. */ - if (orig_registers.pc == 0L) - assign_regs (&orig_registers, ®isters); - - if (is_running) - { - ptr = remcomBuffer; - - *ptr++ = 'T'; /* notify gdb with signo, PC, FP and SP */ - *ptr++ = hexchars[sigval >> 4]; - *ptr++ = hexchars[sigval & 0xf]; - - ptr = putreg (ptr, PC, ®isters.pc, 4); - ptr = putreg (ptr, FP, ®isters.r[FP], 2); - ptr = putreg (ptr, SP, ®isters.r[SP], 2); - - *ptr++ = 0; - - putPacket(remcomBuffer); - } - - while (1) { - char kind; - - ptr = getpacket(); - kind = *ptr++; - if (kind == 'M' || kind == 'X') - { - /* MAA..AA,LLLL: Write LLLL bytes at address AA.AA return OK */ - /* TRY TO READ '%x,%x:'. IF SUCCEED, SET PTR = 0 */ - if (hexToInt(&ptr,&addr) - && *(ptr++) == ',' - && hexToInt(&ptr,&length) - && *(ptr++) == ':') - { - if (valid_addr_range (addr, length)) - { - if (kind == 'M') - hex2mem(ptr, addr, length); - else - { - int i; - for (i = 0; i < length; i++) - if (*ptr++ == 0x7d) - set_char (addr++, *ptr++ ^ 0x20); - else - set_char (addr++, ptr[-1]); - - } - putPacket ("OK"); - } - else - putPacket ("E03"); - } - else - putPacket ("E02"); - } - else if (kind == 'm') - { - /* mAA..AA,LLLL Read LLLL bytes at address AA..AA */ - /* TRY TO READ %x,%x. IF SUCCEED, SET PTR = 0 */ - if (hexToInt(&ptr,&addr) - && *(ptr++) == ',' - && hexToInt (&ptr,&length)) - { - if (valid_addr_range (addr, length)) - putHex (0, addr, length); - else - putPacket ("E03"); - } - else - putPacket ("E02"); - } - else if (kind == 'R') - { - if (hexToInt (&ptr, &addr)) - registers.pc = addr; - putPacket ("OK"); - } - else if (kind == '!') - putPacket ("OK"); - else if (kind == '?') - putHex ('S', (unsigned long)(unsigned int)&sigval, 1); - else if (kind == 'g') - putHex (0, (unsigned long)(unsigned int)®isters, NUMREGBYTES); - else if (kind == 'P') - { - /* set the value of a single CPU register - return OK */ - unsigned long regno; - - if (hexToInt (&ptr, ®no) - && *ptr++ == '=' - && regno < NUMREGS) - { - hex2mem (ptr, (unsigned long)(unsigned int)(registers.r + regno), - regno == PC ? 4 : 2); - putPacket ("OK"); - } - else - putPacket ("E01"); - } - else if (kind == 'G') - { - /* set the value of the CPU registers - return OK */ - hex2mem(ptr, (unsigned long)(unsigned int)®isters, NUMREGBYTES); - putPacket ("OK"); - } - else if (kind == 's' || kind == 'c') - { - /* sAA..AA Step one instruction from AA..AA(optional) */ - /* cAA..AA Continue from address AA..AA(optional) */ - /* try to read optional parameter, pc unchanged if no parm */ - - is_running = 1; - - if (hexToInt(&ptr,&addr)) - registers.pc = addr; - - if (kind == 's') /* single-stepping */ - prepare_to_step(); - return; - } - else if (kind == 'k') - { - /* kill the program */ - assign_regs (®isters, &orig_registers); - is_running = 0; - putPacket (""); - } - else - /* Unknown code. Return an empty reply message. */ - putPacket (""); - } -} - -static int -hex (int ch) -{ - if ((ch >= '0') && (ch <= '9')) return (ch-'0'); - if ((ch >= 'a') && (ch <= 'f')) return (ch-'a'+10); - if ((ch >= 'A') && (ch <= 'F')) return (ch-'A'+10); - return (-1); -} - -/* scan for the sequence $<data>#<checksum> */ - -static unsigned char * -getpacket (void) -{ - unsigned char *buffer = &remcomBuffer[0]; - unsigned checksum; - int count; - char ch; - - while (1) - { - /* wait around for the start character, ignore all other characters */ - while (getDebugChar () != '$') - ; - - checksum = 0; - count = 0; - while ((ch = getDebugChar ()) == '$') - ; - - /* now, read until a # or end of buffer is found */ - while (ch != '#' && count < BUFMAX - 1) - { - checksum = checksum + ch; - buffer[count] = ch; - count = count + 1; - ch = getDebugChar (); - } - buffer[count] = 0; - - if (ch == '#') - { - unsigned xmitcsum; - ch = getDebugChar (); - xmitcsum = hex (ch) << 4; - ch = getDebugChar (); - xmitcsum += hex (ch); - - /* If one of the above 'hex' calls returns -1, xmitcsum will - have high bits set, and so the test below will fail. */ - - if ((checksum & 0xFF) != xmitcsum) - putDebugChar ('-'); /* failed checksum */ - else - { - putDebugChar ('+'); /* successful transfer */ - return &buffer[0]; - } - } - } -} - -/* send the packet in buffer. */ - -static void -putPacket (unsigned char *buffer_p) -{ - /* $<packet info>#<checksum>. */ - do { - unsigned checksum; - unsigned char *buffer = buffer_p; - - putDebugChar('$'); - checksum = 0; - - while (*buffer) { - putDebugChar(*buffer); - checksum += *buffer; - buffer++; - } - putDebugChar('#'); - putDebugChar(hexchars[(checksum >> 4) % 16]); - putDebugChar(hexchars[checksum % 16]); - } while (getDebugChar() != '+'); -} - -/* Convert the memory pointed to by mem into hex, and return it as a packet. */ - -static void -putHex (char c, unsigned long mem_arg, int count) -{ - do { - unsigned long mem = mem_arg; - int i; - unsigned checksum; - - putDebugChar('$'); - checksum = 0; - - if (c) - { - checksum = c; - putDebugChar(c); - } - - for (i = 0; i < count; i++) - { - unsigned char c = get_char (mem); - char ch = hexchars[c >> 4]; - putDebugChar(ch); - checksum += ch; - ch = hexchars[c % 16]; - putDebugChar(ch); - checksum += ch; - mem++; - } - putDebugChar('#'); - putDebugChar(hexchars[(checksum >> 4) % 16]); - putDebugChar(hexchars[checksum % 16]); - } while (getDebugChar() != '+'); -} - -/* Function: gdb_write(char *, int) - Make gdb write n bytes to stdout (not assumed to be null-terminated). */ - -void -gdb_write (char *data, int len) -{ - ERR_DETECT_REG &= ~SER0_IRQ_ENA; - putHex ('O', (unsigned long)(unsigned int)data, len); - ERR_DETECT_REG |= SER0_IRQ_ENA; -} - -int -gdb_read (char *buf, int nbytes) -{ - int i = 0; - - ERR_DETECT_REG &= ~SER0_IRQ_ENA; - for (i = 0; i < nbytes; i++) - { - *(buf + i) = getDebugChar(); - if ((*(buf + i) == '\n') || (*(buf + i) == '\r')) - { - (*(buf + i + 1)) = 0; - break; - } - } - ERR_DETECT_REG |= SER0_IRQ_ENA; - return (i); -} - -static int -valid_addr_range (unsigned long mem, int count) -{ - unsigned long last = mem + count - 1; - - if (last < 0x800L) - return 1; - - if (mem < 0x7f00L) - return 0; - - if (last > 0x7ffffL) - return 0; - - return 1; -} - -/* Convert the hex array pointed to by buf into binary to be placed in mem. - Return a pointer to the character AFTER the last byte written. */ - -static void -hex2mem (unsigned char *buf, unsigned long mem, int count) -{ - int i; - unsigned char ch; - - for (i=0;i<count;i++) - { - ch = hex(*buf++) << 4; - ch = ch + hex(*buf++); - set_char (mem++, ch); - } -} - -/**********************************************/ -/* WHILE WE FIND NICE HEX CHARS, BUILD AN INT */ -/* RETURN NUMBER OF CHARS PROCESSED */ -/**********************************************/ -static int -hexToInt (unsigned char **ptr, long *intValue) -{ - int numChars = 0; - int hexValue; - - *intValue = 0; - while (**ptr) - { - hexValue = hex(**ptr); - if (hexValue >=0) - { - *intValue = (*intValue <<4) | (unsigned) hexValue; - numChars ++; - } - else - break; - (*ptr)++; - } - return (numChars); -} - - -/* Function: opcode_size - Determine number of bytes in full opcode by examining first word. -*/ -static int -opcode_size(unsigned int opcode) -{ - if ((opcode & 0xff00) == 0) - return 2; - - if ((opcode & 0xf800) == 0) - return 4; - - if ((opcode & 0xf800) == 0x7800) - return 4; - - if ((opcode & 0xf000) == 0xc000) - return 4; - - if ((opcode & 0xf100) == 0x2000) - return 4; - - if ((opcode & 0xfff0) == 0x30e0) - return 4; - - if ((opcode & 0xf008) == 0x6008) - return 4; - - if ((opcode & 0xf808) == 0x7008) - return 4; - - opcode >>= 8; - if (opcode == 0x0c || opcode == 0x0d || opcode == 0x31) - return 4; - - return 2; -} - -static struct { - unsigned long addr; - unsigned long addr2; - unsigned int opcode; - unsigned int opcode2; -} stepinfo; - -/* Function: prepare_to_step - Called from handle_exception to prepare the user program to single-step. - Places a trap instruction after the target instruction, with special - extra handling for branch instructions. -*/ - -static void -prepare_to_step(void) -{ - unsigned long pc = registers.pc; - unsigned long next_pc, next_pc2; - unsigned int op, op2, sp; - unsigned char op_msb, op_lsb; - int r12; - char r8; - - op = get_word(pc); - op_msb = (op >> 8) & 0xff; - op_lsb = op & 0xff; - op2 = get_word(pc + 2); - next_pc = pc + opcode_size(op); - next_pc2 = 0; - - if (op_msb == 0) - { - if (op_lsb == 2) - { - /* IRET */ - sp = registers.r[SP]; - next_pc = *(unsigned *)(sp - 4); - next_pc = (next_pc << 16) | *(unsigned *)(sp - 6); - } - else if (op_lsb == 3) - { - /* RET */ - sp = registers.r[SP]; - next_pc = *(unsigned *)(sp - 2); - next_pc = (next_pc << 16) | *(unsigned *)(sp - 4); - } - else - { - op2 = op_lsb & 0xf0; - if (op2 && op2 < 0x40) - { - /* {CALLR,BR,ICALLR} Rs */ - next_pc = (pc + 2) + (int)registers.r[op_lsb & 0xf]; - } - else if (op2 < 0x80 || op2 == 0xa0 || op2 == 0xb0) - { - /* {JMP,ICALL,CALL} Rb,Rs */ - next_pc = registers.r[(op_lsb & 0x10) ? 9 : 8]; - next_pc = (next_pc << 16) | (unsigned int)registers.r[op_lsb & 0xf]; - } - } - } - else if (op_msb < 4) - { - /* {CALLF,JMPF,ICALLF} a24 */ - next_pc = ((unsigned long)op2) << 8; - next_pc |= op_lsb; - } - else if (op_msb < 8) - { - if ((op2 & 0xf000) == 0) - { - /* Bx Rd,#imm4,r12 */ - /* Bx Rd,Rs,r12 */ - r12 = op2 << 4; - r12 >>= 4; - next_pc2 = (pc + 4) + r12; - } - } - else if (op_msb == 0x0c || op_msb == 0x0d || (op_msb & 0xf1) == 0x20 || - ((op_msb >= 0x7c && op_msb <= 0x7f) && (op2 & 0x8000) == 0)) - { - /* Bxx Rd,Rs,r12 */ - /* Bxx Rd,#imm8,r12 */ - /* Bx m8,#imm3,r12 */ - /* Bx s8,#imm3,r12 */ - r12 = op2 << 4; - r12 >>= 4; - next_pc2 = (pc + 4) + r12; - } - else if ((op_msb & 0xf0) == 0x10) - { - /* {BR,CALLR} r12 */ - r12 = (op & 0xffe) << 4; - r12 >>= 4; - next_pc = (pc + 2) + r12; - } - else if ((op_msb & 0xe0) == 0xc0) - { - /* Bxx Rx,#imm16,r8 */ - /* TBxx r8 */ - r8 = op_lsb; - next_pc2 = next_pc + r8; - } - - stepinfo.addr = next_pc; - stepinfo.opcode = get_word(next_pc); - set_word(next_pc, BREAKPOINT_OPCODE); - - if (next_pc2) - { - stepinfo.addr2 = next_pc2; - stepinfo.opcode2 = get_word(next_pc2); - set_word(next_pc2, BREAKPOINT_OPCODE); - } -} - -/* Function: finish_from_step - Called from handle_exception to finish up when the user program - returns from a single-step. Replaces the instructions that had - been overwritten by breakpoint. */ - -static void -finish_from_step (void) -{ - if (stepinfo.addr) /* anything to do? */ - { - set_word(stepinfo.addr, stepinfo.opcode); - stepinfo.addr = 0; - if (stepinfo.addr2) - { - set_word(stepinfo.addr2, stepinfo.opcode2); - stepinfo.addr2 = 0; - } - } -} - - -/* - * UART support - */ -#define UART0_BASE 0x7f38 -#define UART1_BASE 0x7f48 - -#define UART_CR(base) (*(volatile unsigned char *)(base)) -#define UART_RXD(base) (*(volatile unsigned int *)((base) + 2)) -#define UART_TXD(base) (*(volatile unsigned int *)((base) + 4)) - -#define UART_CR_RUN 0x80 -#define UART_CR_ERR 0x40 -#define UART_CR_BAUD_115k 0x20 -#define UART_CR_PARITY 0x10 -#define UART_CR_TXEMPTY 0x08 -#define UART_CR_TXIEN 0x04 -#define UART_CR_RXRDY 0x02 -#define UART_CR_RXIEN 0x01 - -#define DBG_UART UART0_BASE - -static void -putDebugChar(unsigned ch) -{ - while ((UART_CR(DBG_UART) & UART_CR_TXEMPTY) == 0) ; - - UART_TXD(DBG_UART) = ch; -} - -static unsigned char -getDebugChar(void) -{ - while ((UART_CR(DBG_UART) & UART_CR_RXRDY) == 0) ; - - return UART_RXD(DBG_UART); -} - -void -uart_init(void) -{ - UART_CR(DBG_UART) |= (UART_CR_RUN | UART_CR_RXIEN); -} - |