diff --git a/arch_init.c b/arch_init.c
index e15ceda..93d1e52 100644
--- a/arch_init.c
+++ b/arch_init.c
@@ -29,7 +29,7 @@
 #include <sys/mman.h>
 #endif
 #include "config.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "sysemu.h"
 #include "bitops.h"
 #include "bitmap.h"
diff --git a/audio/audio.c b/audio/audio.c
index 1c77389..a0cc727 100644
--- a/audio/audio.c
+++ b/audio/audio.c
@@ -23,7 +23,7 @@
  */
 #include "hw/hw.h"
 #include "audio.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "qemu-timer.h"
 #include "sysemu.h"
 
diff --git a/audio/wavcapture.c b/audio/wavcapture.c
index 4f785f5..9d94623 100644
--- a/audio/wavcapture.c
+++ b/audio/wavcapture.c
@@ -1,5 +1,5 @@
 #include "hw/hw.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "audio.h"
 
 typedef struct {
diff --git a/balloon.c b/balloon.c
index c24458b..d1de435 100644
--- a/balloon.c
+++ b/balloon.c
@@ -24,7 +24,7 @@
  * THE SOFTWARE.
  */
 
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "exec/cpu-common.h"
 #include "kvm.h"
 #include "balloon.h"
diff --git a/balloon.h b/balloon.h
index b803a00..bd9d395 100644
--- a/balloon.h
+++ b/balloon.h
@@ -14,7 +14,7 @@
 #ifndef _QEMU_BALLOON_H
 #define _QEMU_BALLOON_H
 
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "qapi-types.h"
 
 typedef void (QEMUBalloonEvent)(void *opaque, ram_addr_t target);
diff --git a/block.c b/block.c
index 5eab9e2..0e7f18c 100644
--- a/block.c
+++ b/block.c
@@ -24,7 +24,7 @@
 #include "config-host.h"
 #include "qemu-common.h"
 #include "trace.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "block/block_int.h"
 #include "block/blockjob.h"
 #include "module.h"
diff --git a/blockdev-nbd.c b/blockdev-nbd.c
index 81aa1d3..596b474 100644
--- a/blockdev-nbd.c
+++ b/blockdev-nbd.c
@@ -11,7 +11,7 @@
 
 #include "blockdev.h"
 #include "hw/block-common.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "qapi/qmp/qerror.h"
 #include "sysemu.h"
 #include "qmp-commands.h"
diff --git a/blockdev.c b/blockdev.c
index ff6b333..a2308fa 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -10,7 +10,7 @@
 #include "blockdev.h"
 #include "hw/block-common.h"
 #include "block/blockjob.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "qapi/qmp/qerror.h"
 #include "qemu-option.h"
 #include "qemu-config.h"
diff --git a/blockjob.c b/blockjob.c
index 004480d..4bc60c7 100644
--- a/blockjob.c
+++ b/blockjob.c
@@ -26,7 +26,7 @@
 #include "config-host.h"
 #include "qemu-common.h"
 #include "trace.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "block/block.h"
 #include "block/blockjob.h"
 #include "block/block_int.h"
diff --git a/cpus.c b/cpus.c
index 8926873..3a66401 100644
--- a/cpus.c
+++ b/cpus.c
@@ -25,7 +25,7 @@
 /* Needed early for CONFIG_BSD etc. */
 #include "config-host.h"
 
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "sysemu.h"
 #include "exec/gdbstub.h"
 #include "dma.h"
diff --git a/disas.c b/disas.c
index 8157b96..a46faee 100644
--- a/disas.c
+++ b/disas.c
@@ -374,7 +374,7 @@ const char *lookup_symbol(target_ulong orig_addr)
 
 #if !defined(CONFIG_USER_ONLY)
 
-#include "monitor.h"
+#include "monitor/monitor.h"
 
 static int monitor_disas_is_physical;
 
diff --git a/dump.c b/dump.c
index e70e0f3..871ee17 100644
--- a/dump.c
+++ b/dump.c
@@ -16,7 +16,7 @@
 #include "cpu.h"
 #include "exec/cpu-all.h"
 #include "exec/hwaddr.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "kvm.h"
 #include "dump.h"
 #include "sysemu.h"
diff --git a/gdbstub.c b/gdbstub.c
index 70ad79a..9395c82 100644
--- a/gdbstub.c
+++ b/gdbstub.c
@@ -29,7 +29,7 @@
 
 #include "qemu.h"
 #else
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "qemu-char.h"
 #include "sysemu.h"
 #include "exec/gdbstub.h"
diff --git a/hmp.c b/hmp.c
index f235134..a76a8f0 100644
--- a/hmp.c
+++ b/hmp.c
@@ -20,7 +20,7 @@
 #include "qemu-timer.h"
 #include "qmp-commands.h"
 #include "qemu_socket.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "ui/console.h"
 
 static void hmp_handle_error(Monitor *mon, Error **errp)
diff --git a/hw/acpi.c b/hw/acpi.c
index ae29a59..fe9b76a 100644
--- a/hw/acpi.c
+++ b/hw/acpi.c
@@ -22,7 +22,7 @@
 #include "hw.h"
 #include "pc.h"
 #include "acpi.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 
 struct acpi_table_header {
     uint16_t _length;         /* our length, not actual part of the hdr */
diff --git a/hw/ccid-card-emulated.c b/hw/ccid-card-emulated.c
index f4a6da4..845a764 100644
--- a/hw/ccid-card-emulated.c
+++ b/hw/ccid-card-emulated.c
@@ -33,7 +33,7 @@
 
 #include "qemu-thread.h"
 #include "qemu-char.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "hw/ccid.h"
 
 #define DPRINTF(card, lvl, fmt, ...) \
diff --git a/hw/ccid-card-passthru.c b/hw/ccid-card-passthru.c
index bd6c777..f5b4794 100644
--- a/hw/ccid-card-passthru.c
+++ b/hw/ccid-card-passthru.c
@@ -10,7 +10,7 @@
 
 #include "qemu-char.h"
 #include "qemu_socket.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "hw/ccid.h"
 #include "libcacard/vscard_common.h"
 
diff --git a/hw/device-hotplug.c b/hw/device-hotplug.c
index 336ffc2..809a598 100644
--- a/hw/device-hotplug.c
+++ b/hw/device-hotplug.c
@@ -27,7 +27,7 @@
 #include "blockdev.h"
 #include "qemu-config.h"
 #include "sysemu.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 
 DriveInfo *add_init_drive(const char *optstr)
 {
diff --git a/hw/i8259.c b/hw/i8259.c
index af0ba4d..5e935e7 100644
--- a/hw/i8259.c
+++ b/hw/i8259.c
@@ -24,7 +24,7 @@
 #include "hw.h"
 #include "pc.h"
 #include "isa.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "qemu-timer.h"
 #include "i8259_internal.h"
 
diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index f32a847..d38c6e4 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -27,7 +27,7 @@
 #include <hw/pci/pci.h>
 #include <hw/sysbus.h>
 
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "dma.h"
 #include "exec/cpu-common.h"
 #include "internal.h"
diff --git a/hw/isa-bus.c b/hw/isa-bus.c
index 8f40974..a2be67d 100644
--- a/hw/isa-bus.c
+++ b/hw/isa-bus.c
@@ -17,7 +17,7 @@
  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  */
 #include "hw.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "sysbus.h"
 #include "sysemu.h"
 #include "isa.h"
diff --git a/hw/kvm/pci-assign.c b/hw/kvm/pci-assign.c
index 2629775..ff0dc0d 100644
--- a/hw/kvm/pci-assign.c
+++ b/hw/kvm/pci-assign.c
@@ -31,7 +31,7 @@
 #include "qemu-error.h"
 #include "ui/console.h"
 #include "hw/loader.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "range.h"
 #include "sysemu.h"
 #include "hw/pci/pci.h"
diff --git a/hw/lm32_pic.c b/hw/lm32_pic.c
index 32f65db..42d5602 100644
--- a/hw/lm32_pic.c
+++ b/hw/lm32_pic.c
@@ -21,7 +21,7 @@
 
 #include "hw.h"
 #include "pc.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "sysbus.h"
 #include "trace.h"
 #include "lm32_pic.h"
diff --git a/hw/loader.c b/hw/loader.c
index 03f0318..f5ef575 100644
--- a/hw/loader.c
+++ b/hw/loader.c
@@ -44,7 +44,7 @@
 
 #include "hw.h"
 #include "disas/disas.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "sysemu.h"
 #include "uboot_image.h"
 #include "loader.h"
diff --git a/hw/pc.c b/hw/pc.c
index 2452fd4..7aaff0f 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -28,7 +28,7 @@
 #include "fdc.h"
 #include "ide.h"
 #include "pci/pci.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "fw_cfg.h"
 #include "hpet_emul.h"
 #include "smbios.h"
diff --git a/hw/pci/pci-hotplug.c b/hw/pci/pci-hotplug.c
index 5ba7558..e5e8a7a 100644
--- a/hw/pci/pci-hotplug.c
+++ b/hw/pci/pci-hotplug.c
@@ -27,7 +27,7 @@
 #include "hw/pci/pci.h"
 #include "net/net.h"
 #include "hw/pc.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "hw/scsi.h"
 #include "hw/virtio-blk.h"
 #include "qemu-config.h"
diff --git a/hw/pci/pci-stub.c b/hw/pci/pci-stub.c
index b5c43a9..5891dc9 100644
--- a/hw/pci/pci-stub.c
+++ b/hw/pci/pci-stub.c
@@ -19,7 +19,7 @@
  */
 
 #include "sysemu.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "hw/pci/pci.h"
 #include "qmp-commands.h"
 
diff --git a/hw/pci/pci.c b/hw/pci/pci.c
index fa0f08e..e062f66 100644
--- a/hw/pci/pci.c
+++ b/hw/pci/pci.c
@@ -25,7 +25,7 @@
 #include "hw/pci/pci.h"
 #include "hw/pci/pci_bridge.h"
 #include "hw/pci/pci_bus.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "net/net.h"
 #include "sysemu.h"
 #include "hw/loader.h"
diff --git a/hw/pci/pcie_aer.c b/hw/pci/pcie_aer.c
index b6f4f85..f7f3633 100644
--- a/hw/pci/pcie_aer.c
+++ b/hw/pci/pcie_aer.c
@@ -20,7 +20,7 @@
 
 #include "sysemu.h"
 #include "qapi/qmp/types.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "hw/pci/pci_bridge.h"
 #include "hw/pci/pcie.h"
 #include "hw/pci/msix.h"
diff --git a/hw/qdev-monitor.c b/hw/qdev-monitor.c
index 5aaf74b..207282c 100644
--- a/hw/qdev-monitor.c
+++ b/hw/qdev-monitor.c
@@ -18,7 +18,7 @@
  */
 
 #include "qdev.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "qmp-commands.h"
 #include "arch_init.h"
 #include "qemu-config.h"
diff --git a/hw/qdev-monitor.h b/hw/qdev-monitor.h
index 220ceba..fae1b1e 100644
--- a/hw/qdev-monitor.h
+++ b/hw/qdev-monitor.h
@@ -2,7 +2,7 @@
 #define QEMU_QDEV_MONITOR_H
 
 #include "qdev-core.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 
 /*** monitor commands ***/
 
diff --git a/hw/qxl.c b/hw/qxl.c
index 96887c4..ad02148 100644
--- a/hw/qxl.c
+++ b/hw/qxl.c
@@ -23,7 +23,7 @@
 #include "qemu-common.h"
 #include "qemu-timer.h"
 #include "qemu-queue.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "sysemu.h"
 #include "trace.h"
 
diff --git a/hw/s390-virtio-bus.c b/hw/s390-virtio-bus.c
index f7e1939..769015c 100644
--- a/hw/s390-virtio-bus.c
+++ b/hw/s390-virtio-bus.c
@@ -21,7 +21,7 @@
 #include "block/block.h"
 #include "sysemu.h"
 #include "boards.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "loader.h"
 #include "elf.h"
 #include "hw/virtio.h"
diff --git a/hw/s390-virtio.c b/hw/s390-virtio.c
index 0a15625..7dfe87a 100644
--- a/hw/s390-virtio.c
+++ b/hw/s390-virtio.c
@@ -23,7 +23,7 @@
 #include "sysemu.h"
 #include "net/net.h"
 #include "boards.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "loader.h"
 #include "elf.h"
 #include "hw/virtio.h"
diff --git a/hw/s390x/event-facility.c b/hw/s390x/event-facility.c
index bc9cea9..748118d 100644
--- a/hw/s390x/event-facility.c
+++ b/hw/s390x/event-facility.c
@@ -15,7 +15,7 @@
  *
  */
 
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "sysemu.h"
 
 #include "sclp.h"
diff --git a/hw/slavio_intctl.c b/hw/slavio_intctl.c
index 6aafa8b..a44ce95 100644
--- a/hw/slavio_intctl.c
+++ b/hw/slavio_intctl.c
@@ -23,7 +23,7 @@
  */
 
 #include "sun4m.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "sysbus.h"
 #include "trace.h"
 
diff --git a/hw/spapr_vio.c b/hw/spapr_vio.c
index 1f19fed..fdf8db9 100644
--- a/hw/spapr_vio.c
+++ b/hw/spapr_vio.c
@@ -22,7 +22,7 @@
 #include "hw.h"
 #include "sysemu.h"
 #include "boards.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "loader.h"
 #include "elf.h"
 #include "hw/sysbus.h"
diff --git a/hw/sun4c_intctl.c b/hw/sun4c_intctl.c
index 702e9f5..b78d54f 100644
--- a/hw/sun4c_intctl.c
+++ b/hw/sun4c_intctl.c
@@ -24,7 +24,7 @@
 
 #include "hw.h"
 #include "sun4m.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "sysbus.h"
 
 //#define DEBUG_IRQ_COUNT
diff --git a/hw/sysbus.c b/hw/sysbus.c
index 7ab2504..49a4177 100644
--- a/hw/sysbus.c
+++ b/hw/sysbus.c
@@ -18,7 +18,7 @@
  */
 
 #include "sysbus.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "exec/address-spaces.h"
 
 static void sysbus_dev_print(Monitor *mon, DeviceState *dev, int indent);
diff --git a/hw/usb/bus.c b/hw/usb/bus.c
index 8264c24..74728c9 100644
--- a/hw/usb/bus.c
+++ b/hw/usb/bus.c
@@ -2,7 +2,7 @@
 #include "hw/usb.h"
 #include "hw/qdev.h"
 #include "sysemu.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "trace.h"
 
 static void usb_bus_dev_print(Monitor *mon, DeviceState *qdev, int indent);
diff --git a/hw/usb/dev-smartcard-reader.c b/hw/usb/dev-smartcard-reader.c
index de955b7..3862c9b 100644
--- a/hw/usb/dev-smartcard-reader.c
+++ b/hw/usb/dev-smartcard-reader.c
@@ -38,7 +38,7 @@
 #include "qemu-error.h"
 #include "hw/usb.h"
 #include "hw/usb/desc.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 
 #include "hw/ccid.h"
 
diff --git a/hw/usb/dev-storage.c b/hw/usb/dev-storage.c
index de56fea..0d7597b 100644
--- a/hw/usb/dev-storage.c
+++ b/hw/usb/dev-storage.c
@@ -14,7 +14,7 @@
 #include "hw/usb/desc.h"
 #include "hw/scsi.h"
 #include "ui/console.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "sysemu.h"
 #include "blockdev.h"
 
diff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h
index 837c63b..740f730 100644
--- a/hw/usb/hcd-ehci.h
+++ b/hw/usb/hcd-ehci.h
@@ -20,7 +20,7 @@
 #include "hw/hw.h"
 #include "qemu-timer.h"
 #include "hw/usb.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "trace.h"
 #include "dma.h"
 #include "sysemu.h"
diff --git a/hw/usb/host-bsd.c b/hw/usb/host-bsd.c
index dae0009..340c21a 100644
--- a/hw/usb/host-bsd.c
+++ b/hw/usb/host-bsd.c
@@ -25,7 +25,7 @@
  */
 
 #include "qemu-common.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "hw/usb.h"
 
 /* usb.h declares these */
diff --git a/hw/usb/host-linux.c b/hw/usb/host-linux.c
index bdafb6b..5a56e99 100644
--- a/hw/usb/host-linux.c
+++ b/hw/usb/host-linux.c
@@ -32,7 +32,7 @@
 
 #include "qemu-common.h"
 #include "qemu-timer.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "sysemu.h"
 #include "trace.h"
 
diff --git a/hw/usb/host-stub.c b/hw/usb/host-stub.c
index e8da322..58423a0 100644
--- a/hw/usb/host-stub.c
+++ b/hw/usb/host-stub.c
@@ -33,7 +33,7 @@
 #include "qemu-common.h"
 #include "ui/console.h"
 #include "hw/usb.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 
 void usb_host_info(Monitor *mon)
 {
diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c
index 9e7f645..3621076 100644
--- a/hw/usb/redirect.c
+++ b/hw/usb/redirect.c
@@ -27,7 +27,7 @@
 
 #include "qemu-common.h"
 #include "qemu-timer.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "sysemu.h"
 #include "iov.h"
 
diff --git a/hw/virtio-serial-bus.c b/hw/virtio-serial-bus.c
index 155da58..5559518 100644
--- a/hw/virtio-serial-bus.c
+++ b/hw/virtio-serial-bus.c
@@ -19,7 +19,7 @@
  */
 
 #include "iov.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "qemu-queue.h"
 #include "sysbus.h"
 #include "trace.h"
diff --git a/hw/watchdog.c b/hw/watchdog.c
index f878bec..623b299 100644
--- a/hw/watchdog.c
+++ b/hw/watchdog.c
@@ -24,7 +24,7 @@
 #include "qemu-config.h"
 #include "qemu-queue.h"
 #include "qapi/qmp/types.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "sysemu.h"
 #include "hw/watchdog.h"
 
diff --git a/include/block/block_int.h b/include/block/block_int.h
index d06de26..14c57af 100644
--- a/include/block/block_int.h
+++ b/include/block/block_int.h
@@ -31,7 +31,7 @@
 #include "qemu-timer.h"
 #include "qapi-types.h"
 #include "qapi/qmp/qerror.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 
 #define BLOCK_FLAG_ENCRYPT          1
 #define BLOCK_FLAG_COMPAT6          4
diff --git a/monitor.h b/include/monitor/monitor.h
similarity index 99%
rename from monitor.h
rename to include/monitor/monitor.h
index 9e96e83..87fb49c 100644
--- a/monitor.h
+++ b/include/monitor/monitor.h
@@ -5,7 +5,7 @@
 #include "qapi/qmp/qerror.h"
 #include "qapi/qmp/qdict.h"
 #include "block/block.h"
-#include "readline.h"
+#include "monitor/readline.h"
 
 extern Monitor *cur_mon;
 extern Monitor *default_mon;
diff --git a/readline.h b/include/monitor/readline.h
similarity index 100%
rename from readline.h
rename to include/monitor/readline.h
diff --git a/include/ui/console.h b/include/ui/console.h
index eff5cc9..3db6635 100644
--- a/include/ui/console.h
+++ b/include/ui/console.h
@@ -4,7 +4,7 @@
 #include "ui/qemu-pixman.h"
 #include "qapi/qmp/qdict.h"
 #include "notify.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "trace.h"
 #include "qapi-types.h"
 #include "qapi/error.h"
diff --git a/include/ui/qemu-spice.h b/include/ui/qemu-spice.h
index 5857b8a..3e08be0 100644
--- a/include/ui/qemu-spice.h
+++ b/include/ui/qemu-spice.h
@@ -24,7 +24,7 @@
 
 #include "qemu-option.h"
 #include "qemu-config.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 
 extern int using_spice;
 
@@ -47,7 +47,7 @@ void do_info_spice(Monitor *mon, QObject **ret_data);
 CharDriverState *qemu_chr_open_spice(QemuOpts *opts);
 
 #else  /* CONFIG_SPICE */
-#include "monitor.h"
+#include "monitor/monitor.h"
 
 #define using_spice 0
 static inline int qemu_spice_set_passwd(const char *passwd,
diff --git a/migration-fd.c b/migration-fd.c
index e862288..73a1dfc 100644
--- a/migration-fd.c
+++ b/migration-fd.c
@@ -16,7 +16,7 @@
 #include "qemu-common.h"
 #include "qemu_socket.h"
 #include "migration.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "buffered_file.h"
 #include "block/block.h"
 #include "qemu_socket.h"
diff --git a/migration.c b/migration.c
index 1fce152..27a272e 100644
--- a/migration.c
+++ b/migration.c
@@ -15,7 +15,7 @@
 
 #include "qemu-common.h"
 #include "migration.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "buffered_file.h"
 #include "sysemu.h"
 #include "block/block.h"
diff --git a/monitor.c b/monitor.c
index a3e0109..94c6bb6 100644
--- a/monitor.c
+++ b/monitor.c
@@ -36,8 +36,8 @@
 #include "qemu-char.h"
 #include "ui/qemu-spice.h"
 #include "sysemu.h"
-#include "monitor.h"
-#include "readline.h"
+#include "monitor/monitor.h"
+#include "monitor/readline.h"
 #include "ui/console.h"
 #include "blockdev.h"
 #include "audio/audio.h"
diff --git a/net/hub.c b/net/hub.c
index 8508ecf..81a73b5 100644
--- a/net/hub.c
+++ b/net/hub.c
@@ -12,7 +12,7 @@
  *
  */
 
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "net/net.h"
 #include "clients.h"
 #include "hub.h"
diff --git a/net/net.c b/net/net.c
index ead7e96..e4d85a9 100644
--- a/net/net.c
+++ b/net/net.c
@@ -29,7 +29,7 @@
 #include "net/slirp.h"
 #include "util.h"
 
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "qemu-common.h"
 #include "qemu_socket.h"
 #include "qemu-config.h"
diff --git a/net/slirp.c b/net/slirp.c
index 5a11ac5..c37a5ef 100644
--- a/net/slirp.c
+++ b/net/slirp.c
@@ -32,7 +32,7 @@
 #include "net/net.h"
 #include "clients.h"
 #include "hub.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "qemu_socket.h"
 #include "slirp/libslirp.h"
 #include "qemu-char.h"
diff --git a/net/socket.c b/net/socket.c
index 8430f1a..bc2b951 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -25,7 +25,7 @@
 
 #include "net/net.h"
 #include "clients.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "qemu-common.h"
 #include "qemu-error.h"
 #include "qemu-option.h"
diff --git a/net/tap.c b/net/tap.c
index f8cabc4..9a677e9 100644
--- a/net/tap.c
+++ b/net/tap.c
@@ -35,7 +35,7 @@
 
 #include "net/net.h"
 #include "clients.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "sysemu.h"
 #include "qemu-common.h"
 #include "qemu-error.h"
diff --git a/osdep.c b/osdep.c
index 3a63d26..807e90c 100644
--- a/osdep.c
+++ b/osdep.c
@@ -48,7 +48,7 @@ extern int madvise(caddr_t, size_t, int);
 #include "qemu-common.h"
 #include "trace.h"
 #include "qemu_socket.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 
 static bool fips_enabled = false;
 
diff --git a/qemu-char.c b/qemu-char.c
index bc53d09..16021c5 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -22,7 +22,7 @@
  * THE SOFTWARE.
  */
 #include "qemu-common.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "ui/console.h"
 #include "sysemu.h"
 #include "qemu-timer.h"
diff --git a/qemu-error.c b/qemu-error.c
index 7cd5ffe..08a36f4 100644
--- a/qemu-error.c
+++ b/qemu-error.c
@@ -11,7 +11,7 @@
  */
 
 #include <stdio.h>
-#include "monitor.h"
+#include "monitor/monitor.h"
 
 /*
  * Print to current monitor if we have one, else to stderr.
diff --git a/qemu-sockets.c b/qemu-sockets.c
index c52a40a..cea0a4b 100644
--- a/qemu-sockets.c
+++ b/qemu-sockets.c
@@ -22,7 +22,7 @@
 #include <errno.h>
 #include <unistd.h>
 
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "qemu_socket.h"
 #include "qemu-common.h" /* for qemu_isdigit */
 #include "main-loop.h"
diff --git a/qemu-timer.c b/qemu-timer.c
index 5a99403..8e0dccc 100644
--- a/qemu-timer.c
+++ b/qemu-timer.c
@@ -23,7 +23,7 @@
  */
 
 #include "sysemu.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "ui/console.h"
 
 #include "hw/hw.h"
diff --git a/qemu-tool.c b/qemu-tool.c
index b46631e..40453fd 100644
--- a/qemu-tool.c
+++ b/qemu-tool.c
@@ -14,7 +14,7 @@
  */
 
 #include "qemu-common.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "qemu-timer.h"
 #include "qemu-log.h"
 #include "migration.h"
diff --git a/qemu-user.c b/qemu-user.c
index 08ccb0f..f8b450c 100644
--- a/qemu-user.c
+++ b/qemu-user.c
@@ -19,7 +19,7 @@
  */
 
 #include "qemu-common.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 
 Monitor *cur_mon;
 
diff --git a/qerror.c b/qerror.c
index 8c78104..3aee1cf 100644
--- a/qerror.c
+++ b/qerror.c
@@ -10,7 +10,7 @@
  * See the COPYING.LIB file in the top-level directory.
  */
 
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "qapi/qmp/qjson.h"
 #include "qapi/qmp/qerror.h"
 #include "qemu-common.h"
diff --git a/readline.c b/readline.c
index 540cd8a..5fc9643 100644
--- a/readline.c
+++ b/readline.c
@@ -21,8 +21,8 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
-#include "readline.h"
-#include "monitor.h"
+#include "monitor/readline.h"
+#include "monitor/monitor.h"
 
 #define IS_NORM 0
 #define IS_ESC  1
diff --git a/savevm.c b/savevm.c
index cb33501..bf341bb 100644
--- a/savevm.c
+++ b/savevm.c
@@ -73,7 +73,7 @@
 #include "hw/hw.h"
 #include "hw/qdev.h"
 #include "net/net.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "sysemu.h"
 #include "qemu-timer.h"
 #include "audio/audio.h"
diff --git a/slirp/misc.c b/slirp/misc.c
index 664532a..d4df972 100644
--- a/slirp/misc.c
+++ b/slirp/misc.c
@@ -8,7 +8,7 @@
 #include <slirp.h>
 #include <libslirp.h>
 
-#include "monitor.h"
+#include "monitor/monitor.h"
 
 #ifdef DEBUG
 int slirp_debug = DBG_CALL|DBG_MISC|DBG_ERROR;
@@ -242,7 +242,7 @@ strdup(str)
 }
 #endif
 
-#include "monitor.h"
+#include "monitor/monitor.h"
 
 void lprint(const char *format, ...)
 {
diff --git a/stubs/fdset-add-fd.c b/stubs/fdset-add-fd.c
index 09fe2a8..ee16437 100644
--- a/stubs/fdset-add-fd.c
+++ b/stubs/fdset-add-fd.c
@@ -1,5 +1,5 @@
 #include "qemu-common.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 
 int monitor_fdset_dup_fd_add(int64_t fdset_id, int dup_fd)
 {
diff --git a/stubs/fdset-find-fd.c b/stubs/fdset-find-fd.c
index f82baa0..4f18344 100644
--- a/stubs/fdset-find-fd.c
+++ b/stubs/fdset-find-fd.c
@@ -1,5 +1,5 @@
 #include "qemu-common.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 
 int monitor_fdset_dup_fd_find(int dup_fd)
 {
diff --git a/stubs/fdset-get-fd.c b/stubs/fdset-get-fd.c
index 4106cf9..7112c15 100644
--- a/stubs/fdset-get-fd.c
+++ b/stubs/fdset-get-fd.c
@@ -1,5 +1,5 @@
 #include "qemu-common.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 
 int monitor_fdset_get_fd(int64_t fdset_id, int flags)
 {
diff --git a/stubs/fdset-remove-fd.c b/stubs/fdset-remove-fd.c
index 861b312..b3886d9 100644
--- a/stubs/fdset-remove-fd.c
+++ b/stubs/fdset-remove-fd.c
@@ -1,5 +1,5 @@
 #include "qemu-common.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 
 int monitor_fdset_dup_fd_remove(int dupfd)
 {
diff --git a/stubs/get-fd.c b/stubs/get-fd.c
index 3561ab6..9f2c65c 100644
--- a/stubs/get-fd.c
+++ b/stubs/get-fd.c
@@ -1,5 +1,5 @@
 #include "qemu-common.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 
 int monitor_get_fd(Monitor *mon, const char *name, Error **errp)
 {
diff --git a/target-i386/helper.c b/target-i386/helper.c
index 00341c5..bd47b8e 100644
--- a/target-i386/helper.c
+++ b/target-i386/helper.c
@@ -21,7 +21,7 @@
 #include "kvm.h"
 #ifndef CONFIG_USER_ONLY
 #include "sysemu.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #endif
 
 //#define DEBUG_MMU
diff --git a/ui/input.c b/ui/input.c
index 65950af..05f6c0c 100644
--- a/ui/input.c
+++ b/ui/input.c
@@ -23,7 +23,7 @@
  */
 
 #include "sysemu.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "ui/console.h"
 #include "qapi/error.h"
 #include "qmp-commands.h"
diff --git a/ui/spice-core.c b/ui/spice-core.c
index 0550805..3796775 100644
--- a/ui/spice-core.c
+++ b/ui/spice-core.c
@@ -35,7 +35,7 @@
 #include "qapi/qmp/qjson.h"
 #include "notify.h"
 #include "migration.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "hw/hw.h"
 #include "ui/spice-display.h"
 
diff --git a/ui/spice-display.c b/ui/spice-display.c
index 681fe32..56ebf80 100644
--- a/ui/spice-display.c
+++ b/ui/spice-display.c
@@ -19,7 +19,7 @@
 #include "ui/qemu-spice.h"
 #include "qemu-timer.h"
 #include "qemu-queue.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "ui/console.h"
 #include "sysemu.h"
 #include "trace.h"
diff --git a/ui/vnc.h b/ui/vnc.h
index 7ec1833..e5c043f 100644
--- a/ui/vnc.h
+++ b/ui/vnc.h
@@ -31,7 +31,7 @@
 #include "qemu-queue.h"
 #include "qemu-thread.h"
 #include "ui/console.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "audio/audio.h"
 #include "bitmap.h"
 #include <zlib.h>
diff --git a/vl.c b/vl.c
index 015f0a4..9adaf28 100644
--- a/vl.c
+++ b/vl.c
@@ -129,7 +129,7 @@ int main(int argc, char **argv)
 #include "bt-host.h"
 #include "net/net.h"
 #include "net/slirp.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "ui/console.h"
 #include "sysemu.h"
 #include "exec/gdbstub.h"
