diff --git a/hw/xbox/mcpx/apu.c b/hw/xbox/mcpx/apu/apu.c
similarity index 100%
rename from hw/xbox/mcpx/apu.c
rename to hw/xbox/mcpx/apu/apu.c
diff --git a/hw/xbox/mcpx/apu.h b/hw/xbox/mcpx/apu/apu.h
similarity index 100%
rename from hw/xbox/mcpx/apu.h
rename to hw/xbox/mcpx/apu/apu.h
diff --git a/hw/xbox/mcpx/apu_debug.h b/hw/xbox/mcpx/apu/apu_debug.h
similarity index 100%
rename from hw/xbox/mcpx/apu_debug.h
rename to hw/xbox/mcpx/apu/apu_debug.h
diff --git a/hw/xbox/mcpx/apu_int.h b/hw/xbox/mcpx/apu/apu_int.h
similarity index 100%
rename from hw/xbox/mcpx/apu_int.h
rename to hw/xbox/mcpx/apu/apu_int.h
diff --git a/hw/xbox/mcpx/apu_regs.h b/hw/xbox/mcpx/apu/apu_regs.h
similarity index 100%
rename from hw/xbox/mcpx/apu_regs.h
rename to hw/xbox/mcpx/apu/apu_regs.h
diff --git a/hw/xbox/mcpx/debug.c b/hw/xbox/mcpx/apu/debug.c
similarity index 100%
rename from hw/xbox/mcpx/debug.c
rename to hw/xbox/mcpx/apu/debug.c
diff --git a/hw/xbox/mcpx/dsp/debug.c b/hw/xbox/mcpx/apu/dsp/debug.c
similarity index 100%
rename from hw/xbox/mcpx/dsp/debug.c
rename to hw/xbox/mcpx/apu/dsp/debug.c
diff --git a/hw/xbox/mcpx/dsp/debug.h b/hw/xbox/mcpx/apu/dsp/debug.h
similarity index 100%
rename from hw/xbox/mcpx/dsp/debug.h
rename to hw/xbox/mcpx/apu/dsp/debug.h
diff --git a/hw/xbox/mcpx/dsp/dsp.c b/hw/xbox/mcpx/apu/dsp/dsp.c
similarity index 100%
rename from hw/xbox/mcpx/dsp/dsp.c
rename to hw/xbox/mcpx/apu/dsp/dsp.c
diff --git a/hw/xbox/mcpx/dsp/dsp.h b/hw/xbox/mcpx/apu/dsp/dsp.h
similarity index 100%
rename from hw/xbox/mcpx/dsp/dsp.h
rename to hw/xbox/mcpx/apu/dsp/dsp.h
diff --git a/hw/xbox/mcpx/dsp/dsp_cpu.c b/hw/xbox/mcpx/apu/dsp/dsp_cpu.c
similarity index 100%
rename from hw/xbox/mcpx/dsp/dsp_cpu.c
rename to hw/xbox/mcpx/apu/dsp/dsp_cpu.c
diff --git a/hw/xbox/mcpx/dsp/dsp_cpu.h b/hw/xbox/mcpx/apu/dsp/dsp_cpu.h
similarity index 100%
rename from hw/xbox/mcpx/dsp/dsp_cpu.h
rename to hw/xbox/mcpx/apu/dsp/dsp_cpu.h
diff --git a/hw/xbox/mcpx/dsp/dsp_cpu_regs.h b/hw/xbox/mcpx/apu/dsp/dsp_cpu_regs.h
similarity index 100%
rename from hw/xbox/mcpx/dsp/dsp_cpu_regs.h
rename to hw/xbox/mcpx/apu/dsp/dsp_cpu_regs.h
diff --git a/hw/xbox/mcpx/dsp/dsp_dis.c.inc b/hw/xbox/mcpx/apu/dsp/dsp_dis.c.inc
similarity index 100%
rename from hw/xbox/mcpx/dsp/dsp_dis.c.inc
rename to hw/xbox/mcpx/apu/dsp/dsp_dis.c.inc
diff --git a/hw/xbox/mcpx/dsp/dsp_dma.c b/hw/xbox/mcpx/apu/dsp/dsp_dma.c
similarity index 100%
rename from hw/xbox/mcpx/dsp/dsp_dma.c
rename to hw/xbox/mcpx/apu/dsp/dsp_dma.c
diff --git a/hw/xbox/mcpx/dsp/dsp_dma.h b/hw/xbox/mcpx/apu/dsp/dsp_dma.h
similarity index 100%
rename from hw/xbox/mcpx/dsp/dsp_dma.h
rename to hw/xbox/mcpx/apu/dsp/dsp_dma.h
diff --git a/hw/xbox/mcpx/dsp/dsp_dma_regs.h b/hw/xbox/mcpx/apu/dsp/dsp_dma_regs.h
similarity index 100%
rename from hw/xbox/mcpx/dsp/dsp_dma_regs.h
rename to hw/xbox/mcpx/apu/dsp/dsp_dma_regs.h
diff --git a/hw/xbox/mcpx/dsp/dsp_emu.c.inc b/hw/xbox/mcpx/apu/dsp/dsp_emu.c.inc
similarity index 100%
rename from hw/xbox/mcpx/dsp/dsp_emu.c.inc
rename to hw/xbox/mcpx/apu/dsp/dsp_emu.c.inc
diff --git a/hw/xbox/mcpx/dsp/dsp_state.h b/hw/xbox/mcpx/apu/dsp/dsp_state.h
similarity index 100%
rename from hw/xbox/mcpx/dsp/dsp_state.h
rename to hw/xbox/mcpx/apu/dsp/dsp_state.h
diff --git a/hw/xbox/mcpx/dsp/gp_ep.c b/hw/xbox/mcpx/apu/dsp/gp_ep.c
similarity index 99%
rename from hw/xbox/mcpx/dsp/gp_ep.c
rename to hw/xbox/mcpx/apu/dsp/gp_ep.c
index c2dab00f80..7cd38fdd9a 100644
--- a/hw/xbox/mcpx/dsp/gp_ep.c
+++ b/hw/xbox/mcpx/apu/dsp/gp_ep.c
@@ -19,7 +19,7 @@
* License along with this library; if not, see .
*/
-#include "hw/xbox/mcpx/apu_int.h"
+#include "hw/xbox/mcpx/apu/apu_int.h"
static const int16_t ep_silence[256][2] = { 0 };
diff --git a/hw/xbox/mcpx/dsp/gp_ep.h b/hw/xbox/mcpx/apu/dsp/gp_ep.h
similarity index 97%
rename from hw/xbox/mcpx/dsp/gp_ep.h
rename to hw/xbox/mcpx/apu/dsp/gp_ep.h
index 772aba5054..c1250373ca 100644
--- a/hw/xbox/mcpx/dsp/gp_ep.h
+++ b/hw/xbox/mcpx/apu/dsp/gp_ep.h
@@ -24,7 +24,7 @@
#include "qemu/osdep.h"
#include "hw/hw.h"
#include "hw/pci/pci.h"
-#include "hw/xbox/mcpx/apu_regs.h"
+#include "hw/xbox/mcpx/apu/apu_regs.h"
#include "dsp.h"
#include "dsp_dma.h"
diff --git a/hw/xbox/mcpx/dsp/meson.build b/hw/xbox/mcpx/apu/dsp/meson.build
similarity index 100%
rename from hw/xbox/mcpx/dsp/meson.build
rename to hw/xbox/mcpx/apu/dsp/meson.build
diff --git a/hw/xbox/mcpx/dsp/trace-events b/hw/xbox/mcpx/apu/dsp/trace-events
similarity index 100%
rename from hw/xbox/mcpx/dsp/trace-events
rename to hw/xbox/mcpx/apu/dsp/trace-events
diff --git a/hw/xbox/mcpx/apu/dsp/trace.h b/hw/xbox/mcpx/apu/dsp/trace.h
new file mode 100644
index 0000000000..5090657b3e
--- /dev/null
+++ b/hw/xbox/mcpx/apu/dsp/trace.h
@@ -0,0 +1 @@
+#include "trace/trace-hw_xbox_mcpx_apu_dsp.h"
diff --git a/hw/xbox/mcpx/fpconv.h b/hw/xbox/mcpx/apu/fpconv.h
similarity index 100%
rename from hw/xbox/mcpx/fpconv.h
rename to hw/xbox/mcpx/apu/fpconv.h
diff --git a/hw/xbox/mcpx/apu/meson.build b/hw/xbox/mcpx/apu/meson.build
new file mode 100644
index 0000000000..ba64434642
--- /dev/null
+++ b/hw/xbox/mcpx/apu/meson.build
@@ -0,0 +1,7 @@
+mcpx_ss.add(sdl, files(
+ 'apu.c',
+ 'debug.c',
+ ))
+
+subdir('vp')
+subdir('dsp')
diff --git a/hw/xbox/mcpx/trace-events b/hw/xbox/mcpx/apu/trace-events
similarity index 100%
rename from hw/xbox/mcpx/trace-events
rename to hw/xbox/mcpx/apu/trace-events
diff --git a/hw/xbox/mcpx/apu/trace.h b/hw/xbox/mcpx/apu/trace.h
new file mode 100644
index 0000000000..1f9b563149
--- /dev/null
+++ b/hw/xbox/mcpx/apu/trace.h
@@ -0,0 +1 @@
+#include "trace/trace-hw_xbox_mcpx_apu.h"
diff --git a/hw/xbox/mcpx/vp/adpcm.h b/hw/xbox/mcpx/apu/vp/adpcm.h
similarity index 100%
rename from hw/xbox/mcpx/vp/adpcm.h
rename to hw/xbox/mcpx/apu/vp/adpcm.h
diff --git a/hw/xbox/mcpx/vp/hrtf.h b/hw/xbox/mcpx/apu/vp/hrtf.h
similarity index 99%
rename from hw/xbox/mcpx/vp/hrtf.h
rename to hw/xbox/mcpx/apu/vp/hrtf.h
index 9c790b9673..0274a5c61d 100644
--- a/hw/xbox/mcpx/vp/hrtf.h
+++ b/hw/xbox/mcpx/apu/vp/hrtf.h
@@ -24,7 +24,7 @@
#include
#include
-#include "hw/xbox/mcpx/apu_regs.h"
+#include "hw/xbox/mcpx/apu/apu_regs.h"
#define HRTF_SAMPLES_PER_FRAME NUM_SAMPLES_PER_FRAME
#define HRTF_NUM_TAPS 31
diff --git a/hw/xbox/mcpx/vp/meson.build b/hw/xbox/mcpx/apu/vp/meson.build
similarity index 100%
rename from hw/xbox/mcpx/vp/meson.build
rename to hw/xbox/mcpx/apu/vp/meson.build
diff --git a/hw/xbox/mcpx/vp/svf.h b/hw/xbox/mcpx/apu/vp/svf.h
similarity index 100%
rename from hw/xbox/mcpx/vp/svf.h
rename to hw/xbox/mcpx/apu/vp/svf.h
diff --git a/hw/xbox/mcpx/vp/vp.c b/hw/xbox/mcpx/apu/vp/vp.c
similarity index 99%
rename from hw/xbox/mcpx/vp/vp.c
rename to hw/xbox/mcpx/apu/vp/vp.c
index 20e182978a..4bcb8559db 100644
--- a/hw/xbox/mcpx/vp/vp.c
+++ b/hw/xbox/mcpx/apu/vp/vp.c
@@ -19,7 +19,7 @@
* License along with this library; if not, see .
*/
-#include "hw/xbox/mcpx/apu_int.h"
+#include "hw/xbox/mcpx/apu/apu_int.h"
#include "adpcm.h"
static const struct {
diff --git a/hw/xbox/mcpx/vp/vp.h b/hw/xbox/mcpx/apu/vp/vp.h
similarity index 98%
rename from hw/xbox/mcpx/vp/vp.h
rename to hw/xbox/mcpx/apu/vp/vp.h
index 7797ade1b6..7dcd16a39c 100644
--- a/hw/xbox/mcpx/vp/vp.h
+++ b/hw/xbox/mcpx/apu/vp/vp.h
@@ -27,7 +27,7 @@
#include "qemu/thread.h"
#include "hw/hw.h"
#include "hw/pci/pci.h"
-#include "hw/xbox/mcpx/apu_regs.h"
+#include "hw/xbox/mcpx/apu/apu_regs.h"
#include "svf.h"
#include "hrtf.h"
diff --git a/hw/xbox/mcpx/dsp/trace.h b/hw/xbox/mcpx/dsp/trace.h
deleted file mode 100644
index 6ab110fe5b..0000000000
--- a/hw/xbox/mcpx/dsp/trace.h
+++ /dev/null
@@ -1 +0,0 @@
-#include "trace/trace-hw_xbox_mcpx_dsp.h"
diff --git a/hw/xbox/mcpx/meson.build b/hw/xbox/mcpx/meson.build
index 7393d30e56..35b53a8c0f 100644
--- a/hw/xbox/mcpx/meson.build
+++ b/hw/xbox/mcpx/meson.build
@@ -1,12 +1,7 @@
mcpx_ss = ss.source_set()
-mcpx_ss.add(sdl, files(
- 'apu.c',
- 'aci.c',
- 'debug.c',
- ))
+mcpx_ss.add(files('aci.c'))
-subdir('vp')
-subdir('dsp')
+subdir('apu')
specific_ss.add_all(mcpx_ss)
diff --git a/hw/xbox/mcpx/trace.h b/hw/xbox/mcpx/trace.h
deleted file mode 100644
index 410525db35..0000000000
--- a/hw/xbox/mcpx/trace.h
+++ /dev/null
@@ -1 +0,0 @@
-#include "trace/trace-hw_xbox_mcpx.h"
diff --git a/hw/xbox/xbox.c b/hw/xbox/xbox.c
index 2315643615..9966757404 100644
--- a/hw/xbox/xbox.c
+++ b/hw/xbox/xbox.c
@@ -53,7 +53,7 @@
#include "hw/i2c/i2c.h"
#include "hw/i2c/smbus_eeprom.h"
#include "hw/xbox/nv2a/nv2a.h"
-#include "hw/xbox/mcpx/apu.h"
+#include "hw/xbox/mcpx/apu/apu.h"
#include "hw/xbox/xbox.h"
#include "smbus.h"
diff --git a/meson.build b/meson.build
index c1e9612bbf..9027692e62 100644
--- a/meson.build
+++ b/meson.build
@@ -3771,8 +3771,8 @@ if have_system
'ui',
'hw/remote',
'hw/xbox/nv2a',
- 'hw/xbox/mcpx',
- 'hw/xbox/mcpx/dsp',
+ 'hw/xbox/mcpx/apu',
+ 'hw/xbox/mcpx/apu/dsp',
'hw/xbox',
]
endif
diff --git a/tests/xbox/dsp/test-dsp.c b/tests/xbox/dsp/test-dsp.c
index 456ec57088..648c4c52eb 100644
--- a/tests/xbox/dsp/test-dsp.c
+++ b/tests/xbox/dsp/test-dsp.c
@@ -18,7 +18,7 @@
*/
#include "qemu/osdep.h"
-#include "hw/xbox/mcpx/dsp/dsp.h"
+#include "hw/xbox/mcpx/apu/dsp/dsp.h"
static void scratch_rw(void *opaque, uint8_t *ptr, uint32_t addr, size_t len, bool dir)
{
diff --git a/ui/xui/common.hh b/ui/xui/common.hh
index 41ae1dddaa..8db244fca3 100644
--- a/ui/xui/common.hh
+++ b/ui/xui/common.hh
@@ -39,7 +39,7 @@ extern "C" {
#include "qapi/error.h"
#include "sysemu/sysemu.h"
#include "sysemu/runstate.h"
-#include "hw/xbox/mcpx/apu_debug.h"
+#include "hw/xbox/mcpx/apu/apu_debug.h"
#include "hw/xbox/nv2a/debug.h"
#include "hw/xbox/nv2a/nv2a.h"