fix: change x paddr to vaddr
This commit is contained in:
parent
4aa536e1ef
commit
2675a647b0
3 changed files with 18 additions and 19 deletions
|
@ -1,3 +1,2 @@
|
|||
SRCS-y += src/monitor/sdb/addrexp.tag.c src/monitor/sdb/addrexp.yy.c
|
||||
INC_PATH += src/monitor/sdb
|
||||
LFLAGS += -DYY_NO_UNPUT -DYY_NO_INPUT
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
#include <cpu/cpu.h>
|
||||
#include <errno.h>
|
||||
#include <isa.h>
|
||||
#include <memory/paddr.h>
|
||||
#include <memory/vaddr.h>
|
||||
#include <readline/history.h>
|
||||
#include <readline/readline.h>
|
||||
#include <stdint.h>
|
||||
|
@ -125,17 +125,13 @@ static word_t parse_uint(const char *arg, bool *success) {
|
|||
}
|
||||
}
|
||||
|
||||
static paddr_t parse_expr(const char *arg, bool *success) {
|
||||
static vaddr_t parse_expr(const char *arg, bool *success) {
|
||||
if (arg == NULL) {
|
||||
puts("Invalid expr argument.");
|
||||
*success = false;
|
||||
return 0;
|
||||
} else {
|
||||
// bool res = false;
|
||||
// FIXME: We cannot use `parse_uint` here, it accept `-1234` as input
|
||||
// paddr_t addr = parse_uint(arg, &res);
|
||||
// *success = res;
|
||||
paddr_t addr;
|
||||
vaddr_t addr;
|
||||
yy_scan_string(arg);
|
||||
*success = !yyparse(&addr);
|
||||
yylex_destroy();
|
||||
|
@ -193,15 +189,15 @@ static int cmd_x(char *args) {
|
|||
goto wrong_usage;
|
||||
// No deliminter here, just pass all the remain argument to `parse_expr()`
|
||||
arg = strtok(NULL, "");
|
||||
word_t addr = parse_expr(arg, &res);
|
||||
word_t start_addr = parse_expr(arg, &res);
|
||||
if (!res)
|
||||
goto wrong_usage;
|
||||
addr = addr & ~(WORD_BYTES - 1);
|
||||
for (paddr_t paddr = addr; paddr < addr + n; paddr += WORD_BYTES) {
|
||||
word_t value = paddr_read(addr, WORD_BYTES);
|
||||
start_addr = start_addr & ~(WORD_BYTES - 1);
|
||||
for (vaddr_t vaddr = start_addr; vaddr < start_addr + n; vaddr += WORD_BYTES) {
|
||||
word_t value = vaddr_read(vaddr, WORD_BYTES);
|
||||
printf("\e[1;34m" FMT_PADDR "\e[0m"
|
||||
" " FMT_WORD "\n",
|
||||
paddr, value);
|
||||
vaddr, value);
|
||||
}
|
||||
return 0;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue