Changeset ba276f7 in mainline
- Timestamp:
- 2005-12-11T22:39:11Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 96c939e
- Parents:
- 3550c393
- Location:
- generic/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
generic/src/console/cmd.c
r3550c393 rba276f7 93 93 }; 94 94 95 static char set_buf[MAX_CMDLINE+1]; 96 static int cmd_set4(cmd_arg_t *argv); 97 static cmd_arg_t set4_argv[] = { 98 { 99 .type = ARG_TYPE_STRING, 100 .buffer = set_buf, 101 .len = sizeof(set_buf) 102 }, 103 { 104 .type = ARG_TYPE_INT 105 } 106 }; 107 static cmd_info_t set4_info = { 108 .name = "set4", 109 .description = "set <dest_addr> <value> - 4byte version", 110 .func = cmd_set4, 111 .argc = 2, 112 .argv = set4_argv 113 }; 114 115 95 116 /** Data and methods for 'call0' command. */ 96 117 static char call0_buf[MAX_CMDLINE+1]; … … 256 277 if (!cmd_register(&call3_info)) 257 278 panic("could not register command %s\n", call3_info.name); 279 280 cmd_initialize(&set4_info); 281 if (!cmd_register(&set4_info)) 282 panic("could not register command %s\n", set4_info.name); 258 283 259 284 cmd_initialize(&halt_info); … … 472 497 return 1; 473 498 } 499 500 /** Write 4 byte value to address */ 501 int cmd_set4(cmd_arg_t *argv) 502 { 503 char *symbol; 504 __u32 *addr ; 505 __u32 arg1 = argv[1].intval; 506 bool pointer = false; 507 508 if (((char *)argv->buffer)[0] == '*') { 509 addr = (__u32 *) get_symbol_addr(argv->buffer+1); 510 pointer = true; 511 } else if (((char *)argv->buffer)[0] >= '0' && 512 ((char *)argv->buffer)[0] <= '9') 513 addr = (__u32 *)atoi((char *)argv->buffer); 514 else 515 addr = (__u32 *)get_symbol_addr(argv->buffer); 516 517 if (!addr) 518 printf("Symbol %s not found.\n", argv->buffer); 519 else if (addr == (__u32 *) -1) { 520 symtab_print_search(argv->buffer); 521 printf("Duplicate symbol, be more specific.\n"); 522 } else { 523 if (pointer) 524 addr = (__u32 *)*addr; 525 printf("Writing 0x%x -> 0x%p\n", arg1, addr); 526 *addr = arg1; 527 528 } 529 530 return 1; 531 } -
generic/src/console/kconsole.c
r3550c393 rba276f7 359 359 rdln_print_c('\b',curlen-position); 360 360 } 361 histposition++; 362 histposition = histposition % KCONSOLE_HISTORY; 361 if (curlen) { 362 histposition++; 363 histposition = histposition % KCONSOLE_HISTORY; 364 } 363 365 current[curlen] = '\0'; 364 366 return current; -
generic/src/lib/func.c
r3550c393 rba276f7 141 141 142 142 while (*text) { 143 if (base != 16 && *text >= 'A' && *text <= 'F') 143 if (base != 16 && \ 144 ((*text >= 'A' && *text <= 'F' ) 145 || (*text >='a' && *text <='f'))) 144 146 break; 145 147 if (base == 8 && *text >='8') … … 152 154 result *= base; 153 155 result += *text - 'A' + 10; 156 } else if (*text >= 'a' && *text <= 'f') { 157 result *= base; 158 result += *text - 'a' + 10; 154 159 } else 155 160 break;
Note:
See TracChangeset
for help on using the changeset viewer.