diff options
-rw-r--r-- | hw/m68k/mcf5206.c | 4 | ||||
-rw-r--r-- | hw/m68k/mcf5208.c | 3 | ||||
-rw-r--r-- | target/m68k/m68k-semi.c | 5 |
3 files changed, 8 insertions, 4 deletions
diff --git a/hw/m68k/mcf5206.c b/hw/m68k/mcf5206.c index 92a194dbc4..6d93d761a5 100644 --- a/hw/m68k/mcf5206.c +++ b/hw/m68k/mcf5206.c @@ -10,6 +10,7 @@ #include "qemu/error-report.h" #include "qemu/log.h" #include "cpu.h" +#include "hw/boards.h" #include "hw/irq.h" #include "hw/m68k/mcf.h" #include "qemu/timer.h" @@ -312,8 +313,9 @@ static uint64_t m5206_mbar_read(m5206_mbar_state *s, /* FIXME: currently hardcoded to 128Mb. */ { uint32_t mask = ~0; - while (mask > ram_size) + while (mask > current_machine->ram_size) { mask >>= 1; + } return mask & 0x0ffe0000; } case 0x5c: return 1; /* DRAM bank 1 empty. */ diff --git a/hw/m68k/mcf5208.c b/hw/m68k/mcf5208.c index 7c8ca5ddf6..2205145ecc 100644 --- a/hw/m68k/mcf5208.c +++ b/hw/m68k/mcf5208.c @@ -157,8 +157,9 @@ static uint64_t m5208_sys_read(void *opaque, hwaddr addr, { int n; for (n = 0; n < 32; n++) { - if (ram_size < (2u << n)) + if (current_machine->ram_size < (2u << n)) { break; + } } return (n - 1) | 0x40000000; } diff --git a/target/m68k/m68k-semi.c b/target/m68k/m68k-semi.c index 8e5fbfc8fa..27600e0cc0 100644 --- a/target/m68k/m68k-semi.c +++ b/target/m68k/m68k-semi.c @@ -26,6 +26,7 @@ #else #include "exec/gdbstub.h" #include "exec/softmmu-semi.h" +#include "hw/boards.h" #endif #include "qemu/log.h" @@ -455,8 +456,8 @@ void do_m68k_semihosting(CPUM68KState *env, int nr) * FIXME: This is wrong for boards where RAM does not start at * address zero. */ - env->dregs[1] = ram_size; - env->aregs[7] = ram_size; + env->dregs[1] = current_machine->ram_size; + env->aregs[7] = current_machine->ram_size; #endif return; default: |