9os

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit d81f2c5d4d4aa4cc7c06c1f85195f4e3894528c4
parent 09ed202d28e122de52022a96b0ac5917344143ba
Author: Dimitris Papastamos <dimitris.papastamos@arm.com>
Date:   Tue,  6 Nov 2018 13:04:45 +0000

[debuglang] Fix style and a bit of refactoring

Change-Id: I8ffb37e677e897360fd4106b097010a65e26d157
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>

Diffstat:
Mscripts/gendebuglang.sh | 7+------
Msrc/debuglang/debuglang.c | 151+++++++++++++++++++++++++++++++------------------------------------------------
2 files changed, 60 insertions(+), 98 deletions(-)

diff --git a/scripts/gendebuglang.sh b/scripts/gendebuglang.sh @@ -2,12 +2,7 @@ echo " #define BUFFER_SIZE 256 -#define MAX_PARTS 50 - -#define DEBUG(...) do{fprintf(stderr,\"DEBUG:\"); fprintf(stderr,__VA_ARGS__);}while(0) -#define INFO(...) do{fprintf(stderr,\"INFO:\"); fprintf(stderr,__VA_ARGS__);}while(0) -#define WARN(...) do{fprintf(stderr,\"WARN:\"); fprintf(stderr,__VA_ARGS__);}while(0) -#define ERROR(...) do{fprintf(stderr,\"ERROR:\"); fprintf(stderr,__VA_ARGS__);}while(0) +#define NR_ARGC_MAX 16 struct named_reg { char* name; diff --git a/src/debuglang/debuglang.c b/src/debuglang/debuglang.c @@ -109,7 +109,7 @@ print_tf(struct trapframe *tfp) * 10, unless the string begins with "0x" or "0b" */ unsigned long long -base_read(char* str, int base, int *err) +base_read(char *str, int base) { unsigned long long val; char *endptr; @@ -117,191 +117,158 @@ base_read(char* str, int base, int *err) endptr = NULL; errno = 0; val = strtoull(str, &endptr, base); - if (str == endptr || errno != 0){ - ERROR("strtoull error with '%s' in base %d\n", str, base); - if(err != NULL) - *err = 1; - } + if (str == endptr || errno != 0) + error("strtoull error with '%s' in base %d\n", str, base); return val; } /* Get reg struct for named reg */ -unsigned long long* -get_named_reg(char* name, struct trapframe *tfp) +unsigned long long * +get_named_reg(char *name, struct trapframe *tfp) { size_t i; char *regptr; - regptr=NULL; - for(i=0;i<NUM_NAMED_REGS;i++){ - if(strcmp(name,named_regs[i].name)==0){ - regptr = (char*) tfp; + regptr = NULL; + for (i = 0; i < NUM_NAMED_REGS; i++) { + if (strcmp(name, named_regs[i].name) == 0) { + regptr = (char *) tfp; regptr += named_regs[i].offset; } } - return (unsigned long long*) regptr; + return (unsigned long long *) regptr; } /* Get rmc_command struct for named rmc command */ static const struct rmc_command * -get_rmc_cmd(char* name) +get_rmc_cmd(char *name) { size_t i; - for(i=0;i<NUM_RMC_COMMANDS;i++){ - if(strcmp(name,rmc_commands[i].name)==0){ + for (i = 0; i <NUM_RMC_COMMANDS; i++) + if (strcmp(name, rmc_commands[i].name) == 0) return &rmc_commands[i]; - } - } return NULL; } /* Get command struct for named command */ static const struct command * -get_command(char* name) +get_command(char *name) { const struct command *com; - for (com = commands; com->name; com++) { - if(strcmp(name, com->name)==0) { + for (com = commands; com->name; com++) + if (strcmp(name, com->name) == 0) return com; - } - } - return NULL; } int -do_set(char **argv,int argc, struct trapframe *tfp) +do_set(char **argv, int argc, struct trapframe *tfp) { - unsigned long long *reg=NULL; - unsigned long long setval=0; + unsigned long long *reg = NULL; + unsigned long long setval = 0; unsigned int base; - int err; - err = 0; - - reg = get_named_reg(argv[1],tfp); - if( reg == NULL){ - ERROR("Register '%s' not found\n",argv[1]); - return 1; - } + reg = get_named_reg(argv[1], tfp); + if (reg == NULL) + error("Register '%s' not found\n", argv[1]); base = 0; - - switch(argc){ + switch (argc) { case 4: - base = base_read(argv[3], 10, &err); - if(err) - return 1; + base = base_read(argv[3], 10); /* fallthrough */ case 3: - setval = base_read(argv[2], base, &err); - if(err) - return 1; + setval = base_read(argv[2], base); break; default: - ERROR("Invalid number of parameters for set\n"); - return 1; + error("Invalid number of parameters for set\n"); } - INFO("set:0x%llx\n",setval); - *reg=setval; + dbg("set: 0x%llx\n",setval); + *reg = setval; return 0; } int do_get(char **argv, int argc, struct trapframe *tfp) { - unsigned long long* reg=NULL; - char* format_string; + unsigned long long *reg = NULL; + char *fmt; - reg = get_named_reg(argv[1],tfp); - if(reg == NULL){ - ERROR("Register '%s' not found\n",argv[1]); - return 1; - } + reg = get_named_reg(argv[1], tfp); + if (reg == NULL) + error("Register '%s' not found\n", argv[1]); - switch(argc){ + switch (argc) { case 3: - switch(atoi(argv[2])){ + switch (atoi(argv[2])) { case 10: - format_string="%llu\n"; + fmt="%llu\n"; break; case 16: - format_string="%llx\n"; + fmt="%llx\n"; break; default: - ERROR("Unsupported base for read:%s\nsupported: 10,16\n", - argv[2]); - return 1; + error("Unsupported base for read:%s\nsupported: 10,16\n", + argv[2]); } break; case 2: - format_string="%llu\n"; + fmt="%llu\n"; break; default: - ERROR("Invalid number of arguments for read\n"); - return 1; + error("Invalid number of arguments for read\n"); } - printf(format_string,*reg); + printf(fmt, *reg); return 0; } int -do_dump(char **argv,int argc, struct trapframe *tfp) +do_dump(char **argv, int argc, struct trapframe *tfp) { print_tf(tfp); return 0; } int -do_trap(char **argv,int argc, struct trapframe *tfp) +do_trap(char **argv, int argc, struct trapframe *tfp) { trap(tfp); return 0; } int -do_rmc(char **argv,int argc, struct trapframe *tfp) +do_rmc(char **argv, int argc, struct trapframe *tfp) { unsigned char class; unsigned char func; unsigned int base; const struct rmc_command *rmc_cmd; - int err; - - err = 0; base = 0; - switch(argc){ + switch (argc) { case 4: - base = base_read(argv[3], 10, &err); - if(err) - return 1; + base = base_read(argv[3], 10); /* fallthrough */ case 3: - class = base_read(argv[1], base, &err); - func = base_read(argv[2], base, &err); - if(err) - return 1; + class = base_read(argv[1], base); + func = base_read(argv[2], base); break; case 2: rmc_cmd = get_rmc_cmd(argv[1]); - if (rmc_cmd == NULL){ - ERROR("rmc '%s' not found\n",argv[1]); - return 1; - } + if (rmc_cmd == NULL) + error("rmc '%s' not found\n", argv[1]); class = rmc_cmd->class; func = rmc_cmd->func; break; default: - ERROR("Invalid number of parameters for rmc\n"); - return 1; + error("Invalid number of parameters for rmc\n"); } - INFO("class:%d,func:%d\n",class,func); - tfp->esr=(unsigned long long) RMC<<26; + dbg("class: %d,func:%d\n", class, func); + tfp->esr = (unsigned long long) RMC << 26; tfp->esr |= class; - tfp->esr |= (func<<8); + tfp->esr |= (func << 8); trap(tfp); return 0; } @@ -317,9 +284,9 @@ do_help(char **argv, int argc, struct trapframe *tfp) } static void -parse_cmd(char * cmd, struct trapframe *tfp) +parse_cmd(char *cmd, struct trapframe *tfp) { - char *argv[MAX_PARTS], *p; + char *argv[NR_ARGC_MAX], *p; unsigned argc; const struct command *com; @@ -328,7 +295,7 @@ parse_cmd(char * cmd, struct trapframe *tfp) argc = 0; for (p = strtok(cmd, " \t\r"); p; p = strtok(NULL, " \t\r")) { - if (argc == MAX_PARTS) + if (argc == NR_ARGC_MAX) error("too much parameters"); argv[argc++] = p; } @@ -340,7 +307,7 @@ parse_cmd(char * cmd, struct trapframe *tfp) error("command '%s' not found", argv[0]); /* Call eval function for specific command */ - com->eval(argv,argc, tfp); + com->eval(argv, argc, tfp); } static int