diff --git a/builtin-run.c b/builtin-run.c index 4a6ff1a..117a9de 100644 --- a/builtin-run.c +++ b/builtin-run.c @@ -57,7 +57,6 @@ struct kvm *kvm; struct kvm_cpu **kvm_cpus; __thread struct kvm_cpu *current_kvm_cpu; -extern bool mmio_debug; static int kvm_run_wrapper; extern int active_console; extern int debug_iodelay; @@ -472,7 +471,7 @@ static int shmem_parser(const struct option *opt, const char *arg, int unset) "Enable single stepping"), \ OPT_BOOLEAN('\0', "debug-ioport", &(cfg)->ioport_debug, \ "Enable ioport debugging"), \ - OPT_BOOLEAN('\0', "debug-mmio", &mmio_debug, \ + OPT_BOOLEAN('\0', "debug-mmio", &(cfg)->mmio_debug, \ "Enable MMIO debugging"), \ OPT_INTEGER('\0', "debug-iodelay", &debug_iodelay, \ "Delay IO by millisecond"), \ diff --git a/include/kvm/kvm-config.h b/include/kvm/kvm-config.h index f45edb0..e3edf29 100644 --- a/include/kvm/kvm-config.h +++ b/include/kvm/kvm-config.h @@ -49,6 +49,7 @@ struct kvm_config { bool no_net; bool no_dhcp; bool ioport_debug; + bool mmio_debug; }; #endif diff --git a/mmio.c b/mmio.c index dd28ef3..38ce117 100644 --- a/mmio.c +++ b/mmio.c @@ -21,7 +21,6 @@ struct mmio_mapping { }; static struct rb_root mmio_tree = RB_ROOT; -bool mmio_debug = false; static struct mmio_mapping *mmio_search(struct rb_root *root, u64 addr, u64 len) { @@ -130,7 +129,7 @@ bool kvm__emulate_mmio(struct kvm *kvm, u64 phys_addr, u8 *data, u32 len, u8 is_ if (mmio) mmio->mmio_fn(phys_addr, data, len, is_write, mmio->ptr); else { - if (mmio_debug) + if (kvm->cfg.mmio_debug) fprintf(stderr, "Warning: Ignoring MMIO %s at %016llx (length %u)\n", to_direction(is_write), phys_addr, len); }