There is an assert in translator_access that I hit while running on a version
of QEMU integrated into a Virtual Platform.
Since this function can return null anyway I tried the following experiment:
--- a/accel/tcg/translator.c
+++ b/accel/tcg/translator.c
@@ -172,7 +172,9 @@ static void *translator_access(CPUArchState *env,
DisasContextBase *db,
tb_page_addr_t phys_page =
get_page_addr_code_hostp(env, base, &db->host_addr[1]);
/* We cannot handle MMIO as second page. */
- assert(phys_page != -1);
+ if(phys_page == -1) {
+ return NULL;
+ }
tb_set_page_addr1(tb, phys_page);
#ifdef CONFIG_USER_ONLY
page_protect(end);
which avoided the issue and the test ran to completion. What is this assert
trying to catch?