summaryrefslogtreecommitdiff
path: root/payloads/coreinfo
diff options
context:
space:
mode:
Diffstat (limited to 'payloads/coreinfo')
-rw-r--r--payloads/coreinfo/coreboot_module.c3
-rw-r--r--payloads/coreinfo/ramdump_module.c20
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;
}