diff --git a/common/lib/term.s2.c b/common/lib/term.s2.c index eacad011..ea594975 100644 --- a/common/lib/term.s2.c +++ b/common/lib/term.s2.c @@ -5,7 +5,7 @@ #include #include -no_unwind int current_video_mode = -1; +int current_video_mode = -1; int term_backend = _NOT_READY; size_t term_rows, term_cols; bool term_runtime = false; diff --git a/common/menu.c b/common/menu.c index a567f4cc..3db44132 100644 --- a/common/menu.c +++ b/common/menu.c @@ -536,9 +536,9 @@ static size_t print_tree(const char *shift, size_t level, size_t base_index, siz static struct memmap_entry *rewound_memmap = NULL; static size_t rewound_memmap_entries = 0; -static uint8_t *rewound_data; +static no_unwind uint8_t *rewound_data; #if defined (BIOS) -static uint8_t *rewound_s2_data; +static no_unwind uint8_t *rewound_s2_data; #endif extern symbol data_begin; @@ -575,6 +575,8 @@ noreturn void _menu(bool timeout_enabled) { #endif } + term_fallback(); + if (bad_config == false) { volume_iterate_parts(boot_volume, if (!init_config_disk(_PART)) {