Changeset 4ce914d4 in mainline for kernel/generic/src/console/cmd.c
- Timestamp:
- 2010-04-30T23:10:12Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 0c42638, bb252ca
- Parents:
- bcb6f27
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/console/cmd.c
rbcb6f27 r4ce914d4 837 837 bool pointer = false; 838 838 int rc; 839 840 if (((char *) argv->buffer)[0] == '*') {839 840 if (((char *) argv->buffer)[0] == '*') { 841 841 rc = symtab_addr_lookup((char *) argv->buffer + 1, &addr); 842 842 pointer = true; 843 } else if (((char *) argv->buffer)[0] >= '0' && 844 ((char *)argv->buffer)[0] <= '9') { 845 rc = EOK; 846 addr = atoi((char *)argv->buffer); 847 } else { 843 } else if (((char *) argv->buffer)[0] >= '0' && 844 ((char *) argv->buffer)[0] <= '9') { 845 uint64_t value; 846 rc = str_uint64((char *) argv->buffer, NULL, 0, true, &value); 847 if (rc == EOK) 848 addr = (uintptr_t) value; 849 } else 848 850 rc = symtab_addr_lookup((char *) argv->buffer, &addr); 849 } 850 851 851 852 if (rc == ENOENT) 852 853 printf("Symbol %s not found.\n", argv->buffer); 854 else if (rc == EINVAL) 855 printf("Invalid address.\n"); 853 856 else if (rc == EOVERFLOW) { 854 857 symtab_print_search((char *) argv->buffer); 855 printf("Duplicate symbol , be more specific.\n");858 printf("Duplicate symbol (be more specific) or address overflow.\n"); 856 859 } else if (rc == EOK) { 857 860 if (pointer) … … 859 862 printf("Writing %#" PRIx64 " -> %p\n", arg1, addr); 860 863 *(uint32_t *) addr = arg1; 861 } else {864 } else 862 865 printf("No symbol information available.\n"); 863 }864 866 865 867 return 1;
Note:
See TracChangeset
for help on using the changeset viewer.