misc: Fix up some no_unwind globals
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 <lib/misc.h>
#include <lib/real.h>
-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 84767cfc..e79b4cf0 100644
--- a/common/menu.c
+++ b/common/menu.c
@@ -539,9 +539,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;
@@ -578,6 +578,8 @@ noreturn void _menu(bool timeout_enabled) {
#endif
}
+ term_fallback();
+
if (bad_config == false) {
volume_iterate_parts(boot_volume,
if (!init_config_disk(_PART)) {
