cmd: iotrace: add set region command
Signed-off-by: Ramon Fried <ramon.fried@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
948f32c856
commit
b559c4af80
@ -15,6 +15,9 @@ static void do_print_stats(void)
|
||||
iotrace_get_buffer(&start, &size, &offset, &count);
|
||||
printf("Start: %08lx\n", start);
|
||||
printf("Size: %08lx\n", size);
|
||||
iotrace_get_region(&start, &size);
|
||||
printf("Region: %08lx\n", start);
|
||||
printf("Size: %08lx\n", size);
|
||||
printf("Offset: %08lx\n", offset);
|
||||
printf("Output: %08lx\n", start + offset);
|
||||
printf("Count: %08lx\n", count);
|
||||
@ -37,6 +40,22 @@ static int do_set_buffer(int argc, char * const argv[])
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int do_set_region(int argc, char * const argv[])
|
||||
{
|
||||
ulong addr = 0, size = 0;
|
||||
|
||||
if (argc == 2) {
|
||||
addr = simple_strtoul(*argv++, NULL, 16);
|
||||
size = simple_strtoul(*argv++, NULL, 16);
|
||||
} else if (argc != 0) {
|
||||
return CMD_RET_USAGE;
|
||||
}
|
||||
|
||||
iotrace_set_region(addr, size);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int do_iotrace(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||
{
|
||||
const char *cmd = argc < 2 ? NULL : argv[1];
|
||||
@ -46,6 +65,8 @@ int do_iotrace(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||
switch (*cmd) {
|
||||
case 'b':
|
||||
return do_set_buffer(argc - 2, argv + 2);
|
||||
case 'l':
|
||||
return do_set_region(argc - 2, argv + 2);
|
||||
case 'p':
|
||||
iotrace_set_enabled(0);
|
||||
break;
|
||||
@ -67,6 +88,7 @@ U_BOOT_CMD(
|
||||
"iotrace utility commands",
|
||||
"stats - display iotrace stats\n"
|
||||
"iotrace buffer <address> <size> - set iotrace buffer\n"
|
||||
"iotrace limit <address> <size> - set iotrace region limit\n"
|
||||
"iotrace pause - pause tracing\n"
|
||||
"iotrace resume - resume tracing"
|
||||
);
|
||||
|
Loading…
Reference in New Issue
Block a user