diff options
Diffstat (limited to 'payloads/coreinfo')
-rw-r--r-- | payloads/coreinfo/coreboot_module.c | 3 | ||||
-rw-r--r-- | payloads/coreinfo/ramdump_module.c | 20 |
2 files changed, 12 insertions, 11 deletions
diff --git a/payloads/coreinfo/coreboot_module.c b/payloads/coreinfo/coreboot_module.c index 16a63c544d..c8694f460a 100644 --- a/payloads/coreinfo/coreboot_module.c +++ b/payloads/coreinfo/coreboot_module.c @@ -203,6 +203,9 @@ static int parse_header(void *addr, int len) struct cb_record *rec = (struct cb_record *)ptr; switch (rec->tag) { + case CB_TAG_FORWARD: + return parse_header((void *)(unsigned long)((struct cb_forward *)rec)->forward, 1); + break; case CB_TAG_MEMORY: parse_memory(ptr); break; diff --git a/payloads/coreinfo/ramdump_module.c b/payloads/coreinfo/ramdump_module.c index 04a9f0955d..a0479eb135 100644 --- a/payloads/coreinfo/ramdump_module.c +++ b/payloads/coreinfo/ramdump_module.c @@ -34,7 +34,7 @@ static void dump_ram(WINDOW *win, uint32_t addr, int row, int col) int i, x = 0, y = 0, count = 0; volatile uint8_t *ptr = (void *)(addr); - mvwprintw(win, 0, col + 54, "RAM address: %10d", addr); + mvwprintw(win, 0, col + 54, "RAM address: %10x", addr); /* Dump 256 bytes of RAM. */ for (i = 1; i < 257; i++) { @@ -68,23 +68,21 @@ static int ramdump_module_handle(int key) { switch (key) { case KEY_DOWN: - if (cursor == cursor_max) - return 0; cursor++; break; case KEY_UP: - if (cursor == 0) - return 0; cursor--; break; - case KEY_NPAGE: - if (cursor == cursor_max) - return 0; - cursor += 4096; /* Jump in 1MB steps. */ + case KEY_RIGHT: + cursor += 256; + break; + case KEY_LEFT: + cursor -= 256; break; case KEY_PPAGE: - if (cursor == 0) - return 0; + cursor += 4096; /* Jump in 1MB steps. */ + break; + case KEY_NPAGE: cursor -= 4096; /* Jump in 1MB steps. */ break; } |