view rvinterf/tmsh/omr.c @ 978:1ee80bcb0fd0

fc-tmsh: omr (old-style memory read) command implemented
author Mychaela Falconia <falcon@ivan.Harhan.ORG>
date Thu, 10 Dec 2015 04:05:55 +0000
parents
children ebdf5afa9fb5
line wrap: on
line source

/*
 * Old-style memory read command
 */

#include <sys/types.h>
#include <stdio.h>
#include <string.h>
#include <strings.h>
#include <stdlib.h>
#include "pktmux.h"
#include "limits.h"
#include "localtypes.h"
#include "tm3.h"

extern u_char rvi_msg[];
extern int rvi_msg_len;

void
cmd_omr(argc, argv)
	char **argv;
{
	u32 addr, size;
	u_char cmdpkt[11];

	addr = strtoul(argv[1], 0, 16);
	size = strtoul(argv[2], 0, 0);
	if (size < 1 || size > TM3_MEMREAD_MAX) {
		printf("error: count argument outside valid range\n");
		return;
	}
	cmdpkt[1] = MEM_READ;
	cmdpkt[2] = addr;
	cmdpkt[3] = addr >> 8;
	cmdpkt[4] = addr >> 16;
	cmdpkt[5] = addr >> 24;
	cmdpkt[6] = size;
	cmdpkt[7] = 0;
	cmdpkt[8] = 0;
	cmdpkt[9] = 0;
	send_etm_cmd(cmdpkt, 9);
}