diff --git a/arch_init.c b/arch_init.c
index 212c90a..4d3271b 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 f270ac0..b942ffd 100644
--- a/audio/audio.c
+++ b/audio/audio.c
@@ -23,7 +23,7 @@
  */
 #include "hw/hw.h"
 #include "audio/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 b897e26..9cd3c83 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/audio.h"
 
 typedef struct {
diff --git a/balloon.c b/balloon.c
index a8d2c46..06a6010 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 09ba2af..6712188 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 b48a7fc..69695ba 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 "qobject/qerror.h"
 #include "sysemu.h"
 #include "qmp-commands.h"
diff --git a/blockdev.c b/blockdev.c
index 67125e5..e83963f 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 "qobject/qerror.h"
 #include "qemu-option.h"
 #include "qemu-config.h"
diff --git a/blockjob.c b/blockjob.c
index 16d5053..83febba 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 866cb28..c4ca93a 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 57906f1..3c4744e 100644
--- a/disas.c
+++ b/disas.c
@@ -363,7 +363,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;
 static CPUArchState *monitor_disas_env;
diff --git a/dump.c b/dump.c
index 8f5a36f..77781c2 100644
--- a/dump.c
+++ b/dump.c
@@ -16,7 +16,7 @@
 #include "cpu.h"
 #include "exec/cpu-all.h"
 #include "exec/targphys.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 ea410ef..ce665e5 100644
--- a/hmp.c
+++ b/hmp.c
@@ -19,7 +19,7 @@
 #include "qemu-option.h"
 #include "qemu-timer.h"
 #include "qmp-commands.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 f4aca49..773eb6d 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 f896cb4..dbd6148 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 53daf78..46fe358 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 6c068ad..0376aa3 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -27,7 +27,7 @@
 #include <hw/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 a54456d..8932637 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 1bfddb0..a7652dc 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.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 2800f3e..5d8ca2e 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 c88d2c5..07c1b56 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -28,7 +28,7 @@
 #include "fdc.h"
 #include "ide.h"
 #include "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-hotplug.c b/hw/pci-hotplug.c
index 62c7f9d..0ece4c2 100644
--- a/hw/pci-hotplug.c
+++ b/hw/pci-hotplug.c
@@ -27,7 +27,7 @@
 #include "pci.h"
 #include "net/net.h"
 #include "pc.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "scsi.h"
 #include "virtio-blk.h"
 #include "qemu-config.h"
diff --git a/hw/pci-stub.c b/hw/pci-stub.c
index 134c448..4cea395 100644
--- a/hw/pci-stub.c
+++ b/hw/pci-stub.c
@@ -19,7 +19,7 @@
  */
 
 #include "sysemu.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "pci.h"
 #include "qmp-commands.h"
 
diff --git a/hw/pci.c b/hw/pci.c
index 40d29c9..7fe848d 100644
--- a/hw/pci.c
+++ b/hw/pci.c
@@ -25,7 +25,7 @@
 #include "pci.h"
 #include "pci_bridge.h"
 #include "pci_internals.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "net/net.h"
 #include "sysemu.h"
 #include "loader.h"
diff --git a/hw/pcie_aer.c b/hw/pcie_aer.c
index c516cdc..3ca071e 100644
--- a/hw/pcie_aer.c
+++ b/hw/pcie_aer.c
@@ -20,7 +20,7 @@
 
 #include "sysemu.h"
 #include "qapi/qmp-types.h"
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "pci_bridge.h"
 #include "pcie.h"
 #include "msix.h"
diff --git a/hw/qdev-monitor.c b/hw/qdev-monitor.c
index 6e5eb45..3def428 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/qxl.c b/hw/qxl.c
index 1d16863..67c40cb 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 a9e7ae6..ff9b68e 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 9d879d4..c62e1b1 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/slavio_intctl.c b/hw/slavio_intctl.c
index 7fdc3be..c2ca113 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 848806d..0d0f496 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 8dfa5ec..4d04c38 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 7b16eac..ecedd85 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/exec-memory.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 b649360..dbf4d80 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 1ea0791..99be794 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 02fb051..c1c7bea 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.c b/hw/usb/hcd-ehci.c
index 8bdb806..1944c2d 100644
--- a/hw/usb/hcd-ehci.c
+++ b/hw/usb/hcd-ehci.c
@@ -31,7 +31,7 @@
 #include "qemu-timer.h"
 #include "hw/usb.h"
 #include "hw/pci.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 ec26266..86093c6 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 44f1a64..1d2ff26 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 2283565..04dfd5b 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 <dirent.h>
diff --git a/hw/virtio-serial-bus.c b/hw/virtio-serial-bus.c
index d20bd8b..318bdbd 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 ddd6a9a..daa8936 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 a667a66..71dee00 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 "qobject/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 338052d..791cca3 100644
--- a/monitor.h
+++ b/include/monitor/monitor.h
@@ -5,7 +5,7 @@
 #include "qobject/qerror.h"
 #include "qobject/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 7b5aacd..77f7314 100644
--- a/include/ui/console.h
+++ b/include/ui/console.h
@@ -3,7 +3,7 @@
 
 #include "qobject/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 7c97685..7d293e8 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 53ee0e7..fb968ae 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 81a58c2..d2cfa99 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 680113f..6a58bab 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 27b6cc6..11ea751 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 f7bc51b..590452b 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 cb35db6..3b2e311 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 3b25297..2af734b 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 ffaab2c..7f2b4ac 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 cfed9c5..4a0c0e5 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 5948e54..86cc0a1 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 da4c05a..7870d9f 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 13fb9ae..0856b6a 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/qobject/qerror.c b/qobject/qerror.c
index 4462cfb..f41f437 100644
--- a/qobject/qerror.c
+++ b/qobject/qerror.c
@@ -10,7 +10,7 @@
  * See the COPYING.LIB file in the top-level directory.
  */
 
-#include "monitor.h"
+#include "monitor/monitor.h"
 #include "qobject/qjson.h"
 #include "qobject/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 5e69585..01bdd8e 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 bb1e998..201d844 100644
--- a/slirp/misc.c
+++ b/slirp/misc.c
@@ -7,7 +7,7 @@
 
 #include <slirp.h>
 
-#include "monitor.h"
+#include "monitor/monitor.h"
 
 #ifdef DEBUG
 int slirp_debug = DBG_CALL|DBG_MISC|DBG_ERROR;
@@ -241,7 +241,7 @@ strdup(str)
 }
 #endif
 
-#include "monitor.h"
+#include "monitor/monitor.h"
 
 void lprint(const char *format, ...)
 {
diff --git a/target-i386/helper.c b/target-i386/helper.c
index 2ee7c6d..08500b2 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 83a93fd..c5c58ef 100644
--- a/ui/spice-core.c
+++ b/ui/spice-core.c
@@ -35,7 +35,7 @@
 #include "qobject/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 1355cba..443ffa8 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 f86db6e..47d788f 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 9597912..c3dcaff 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"
