# HG changeset patch # User Mychaela Falconia # Date 1488703291 0 # Node ID c81d0e9ac3b4e9991658d9818aa52648bfa73dad # Parent 0e7a85356130ab41c21e626bdf4a639b9bace7ea fc-tmsh: omw command and response handling added diff -r 0e7a85356130 -r c81d0e9ac3b4 rvinterf/tmsh/Makefile --- a/rvinterf/tmsh/Makefile Mon Feb 27 08:34:31 2017 +0000 +++ b/rvinterf/tmsh/Makefile Sun Mar 05 08:41:31 2017 +0000 @@ -2,7 +2,7 @@ CFLAGS= -O2 -I../include PROG= fc-tmsh OBJS= abb.o audiocmd.o etmbasic.o ffs2.o ffs2resp.o init.o l1cmd.o l1resp.o \ - main.o misc.o omr.o oneshot.o pktsort.o rftablechk.o rftablerd.o \ + main.o misc.o omr.o omw.o oneshot.o pktsort.o rftablechk.o rftablerd.o \ rftablewr.o saverftab.o tmcore.o usercmd.o LIBS= ../libasync/libasync.a INSTBIN=/opt/freecalypso/bin diff -r 0e7a85356130 -r c81d0e9ac3b4 rvinterf/tmsh/etmbasic.c --- a/rvinterf/tmsh/etmbasic.c Mon Feb 27 08:34:31 2017 +0000 +++ b/rvinterf/tmsh/etmbasic.c Sun Mar 05 08:41:31 2017 +0000 @@ -68,6 +68,9 @@ goto runt; handle_omr_response(); return; + case MEM_WRITE: + l1tm_response_nodata("omw"); + return; /* L1TM */ case TM_INIT: l1tm_response_nodata("tminit"); diff -r 0e7a85356130 -r c81d0e9ac3b4 rvinterf/tmsh/omw.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rvinterf/tmsh/omw.c Sun Mar 05 08:41:31 2017 +0000 @@ -0,0 +1,37 @@ +/* + * Old-style memory write command + */ + +#include +#include +#include +#include +#include +#include "pktmux.h" +#include "limits.h" +#include "localtypes.h" +#include "tm3.h" +#include "exitcodes.h" + +cmd_omw(argc, argv) + char **argv; +{ + u32 addr, v; + u_char cmdpkt[MAX_PKT_TO_TARGET]; + int di; + char **ap; + + addr = strtoul(argv[1], 0, 16); + cmdpkt[1] = MEM_WRITE; + cmdpkt[2] = addr; + cmdpkt[3] = addr >> 8; + cmdpkt[4] = addr >> 16; + cmdpkt[5] = addr >> 24; + di = 6; + for (ap = argv + 2; *ap; ap++) { + v = strtoul(*ap, 0, 16); + cmdpkt[di++] = v; + } + send_etm_cmd(cmdpkt, di - 1); + return(0); +} diff -r 0e7a85356130 -r c81d0e9ac3b4 rvinterf/tmsh/usercmd.c --- a/rvinterf/tmsh/usercmd.c Mon Feb 27 08:34:31 2017 +0000 +++ b/rvinterf/tmsh/usercmd.c Sun Mar 05 08:41:31 2017 +0000 @@ -22,6 +22,7 @@ extern int cmd_mpr(); extern int cmd_mpw(); extern int cmd_omr(); +extern int cmd_omw(); extern int cmd_ping(); extern int cmd_r8(); extern int cmd_r16(); @@ -77,6 +78,7 @@ {"mpr", 1, 1, cmd_mpr}, {"mpw", 2, 2, cmd_mpw}, {"omr", 2, 2, cmd_omr}, + {"omw", 2, 129, cmd_omw}, {"ping", 0, 2, cmd_ping}, {"quit", 0, 0, cmd_exit}, {"r8", 1, 2, cmd_r8},