diff --git a/src/citra/citra.cpp b/src/citra/citra.cpp
index 634faf76b33d3ae795be8627f67b8abf317e149f..1d7e7f270004664c0a97c4e317f27e3725916c68 100644
--- a/src/citra/citra.cpp
+++ b/src/citra/citra.cpp
@@ -4,7 +4,7 @@
 
 #include <thread>
 
-#include "common/common.h"
+#include "common/logging/log.h"
 #include "common/logging/text_formatter.h"
 #include "common/logging/backend.h"
 #include "common/logging/filter.h"
diff --git a/src/citra/config.cpp b/src/citra/config.cpp
index 43175d6cbe1904e43df0602d1ac8423200f6afe6..ab564559deaff631f71f7e172508b484adfa9295 100644
--- a/src/citra/config.cpp
+++ b/src/citra/config.cpp
@@ -5,7 +5,10 @@
 #include <GLFW/glfw3.h>
 
 #include "citra/default_ini.h"
+
 #include "common/file_util.h"
+#include "common/logging/log.h"
+
 #include "core/settings.h"
 #include "core/core.h"
 
diff --git a/src/citra/emu_window/emu_window_glfw.cpp b/src/citra/emu_window/emu_window_glfw.cpp
index f879ee7ca731186a09f2ad96addcd94e2dfa3a7b..341b48d2a8866e450f8596e327c658ffc3f0fdbd 100644
--- a/src/citra/emu_window/emu_window_glfw.cpp
+++ b/src/citra/emu_window/emu_window_glfw.cpp
@@ -4,7 +4,7 @@
 
 #include <GLFW/glfw3.h>
 
-#include "common/common.h"
+#include "common/logging/log.h"
 
 #include "video_core/video_core.h"
 
diff --git a/src/citra_qt/bootmanager.cpp b/src/citra_qt/bootmanager.cpp
index a7f9494110105ac69a936aed9f55b9a47f1f3ae5..d3df289f8b0e6646ee13694d988611228ad44fca 100644
--- a/src/citra_qt/bootmanager.cpp
+++ b/src/citra_qt/bootmanager.cpp
@@ -8,7 +8,6 @@
 #include <QWindow>
 #endif
 
-#include "common/common.h"
 #include "bootmanager.h"
 #include "main.h"
 
diff --git a/src/citra_qt/bootmanager.h b/src/citra_qt/bootmanager.h
index 715faf2d7a8922250c2af2e19798207146b50d22..d5d74c94946cbaba3517b649c645fe2050f1ce17 100644
--- a/src/citra_qt/bootmanager.h
+++ b/src/citra_qt/bootmanager.h
@@ -7,7 +7,6 @@
 #include <QThread>
 #include <QGLWidget>
 
-#include "common/common.h"
 #include "common/emu_window.h"
 #include "common/thread.h"
 
diff --git a/src/citra_qt/debugger/disassembler.cpp b/src/citra_qt/debugger/disassembler.cpp
index 08c6b49bd158c5dd9d2f0fe213c27be6fb00075e..780607e822fb7a13676d26f756b3028330d3208c 100644
--- a/src/citra_qt/debugger/disassembler.cpp
+++ b/src/citra_qt/debugger/disassembler.cpp
@@ -7,7 +7,6 @@
 #include "../bootmanager.h"
 #include "../hotkeys.h"
 
-#include "common/common.h"
 #include "core/mem_map.h"
 
 #include "core/core.h"
diff --git a/src/citra_qt/debugger/disassembler.h b/src/citra_qt/debugger/disassembler.h
index 45b0a7e081be2529af2a2784b3d0871e88127a09..340fb993668456d89ec4b431c3ae46dacc6e71b4 100644
--- a/src/citra_qt/debugger/disassembler.h
+++ b/src/citra_qt/debugger/disassembler.h
@@ -9,8 +9,8 @@
 
 #include "ui_disassembler.h"
 
-#include "common/common.h"
 #include "common/break_points.h"
+#include "common/common_types.h"
 
 class QAction;
 class EmuThread;
diff --git a/src/citra_qt/debugger/graphics_breakpoints.cpp b/src/citra_qt/debugger/graphics_breakpoints.cpp
index 92348be347bc5432af9a737f154861f1184e3529..1da64f6166ce778161eea3529c62f79fc2a16a33 100644
--- a/src/citra_qt/debugger/graphics_breakpoints.cpp
+++ b/src/citra_qt/debugger/graphics_breakpoints.cpp
@@ -8,6 +8,8 @@
 #include <QVBoxLayout>
 #include <QLabel>
 
+#include "common/assert.h"
+
 #include "graphics_breakpoints.h"
 #include "graphics_breakpoints_p.h"
 
diff --git a/src/citra_qt/debugger/ramview.cpp b/src/citra_qt/debugger/ramview.cpp
index 88570f2cdc2e87d736e50909449a14f9f4c3fe31..7149a04856b050261a3ae7d298664b4b5aa2f19b 100644
--- a/src/citra_qt/debugger/ramview.cpp
+++ b/src/citra_qt/debugger/ramview.cpp
@@ -4,8 +4,9 @@
 
 #include "ramview.h"
 
-#include "common/common.h"
 #include "core/mem_map.h"
+
+
 GRamView::GRamView(QWidget* parent) : QHexEdit(parent)
 {
 }
diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp
index b78594fb6a5c4d9c6d5b8f7b2073d199977f32a2..d15338f0d3dbcf5a4cb8bf3e6c83a20835bdd178 100644
--- a/src/citra_qt/main.cpp
+++ b/src/citra_qt/main.cpp
@@ -10,7 +10,6 @@
 #include "qhexedit.h"
 #include "main.h"
 
-#include "common/common.h"
 #include "common/logging/text_formatter.h"
 #include "common/logging/log.h"
 #include "common/logging/backend.h"
diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt
index daa2d59de285bc51ae624c6e0b5c728901fa5fb1..9a9f1a46b972868b64167e59ef528478c55effc6 100644
--- a/src/common/CMakeLists.txt
+++ b/src/common/CMakeLists.txt
@@ -27,7 +27,6 @@ set(HEADERS
             bit_field.h
             break_points.h
             chunk_file.h
-            common.h
             common_funcs.h
             common_paths.h
             common_types.h
diff --git a/src/common/bit_field.h b/src/common/bit_field.h
index 8eab054b8b5817d50a877ac6c51b71f6bda300ee..1f3ecf84410ee9efebceeac92c04c53bfdbbd4b2 100644
--- a/src/common/bit_field.h
+++ b/src/common/bit_field.h
@@ -35,7 +35,7 @@
 #include <limits>
 #include <type_traits>
 
-#include "common/common.h"
+#include "common/common_funcs.h"
 
 /*
  * Abstract bitfield class
diff --git a/src/common/break_points.cpp b/src/common/break_points.cpp
index 15055bd4ed3143f9712c508d54c042a4a6198ce3..023a485a41600d7767010354d04b7aca5c9dcf14 100644
--- a/src/common/break_points.cpp
+++ b/src/common/break_points.cpp
@@ -2,7 +2,6 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
-#include "common/common.h"
 #include "common/debug_interface.h"
 #include "common/break_points.h"
 #include "common/logging/log.h"
diff --git a/src/common/break_points.h b/src/common/break_points.h
index 4b26cf90da14ee30ff590a878c63f44f98950e52..f0a55e7b1414115f93cf970a058e537ee13575b5 100644
--- a/src/common/break_points.h
+++ b/src/common/break_points.h
@@ -7,7 +7,7 @@
 #include <vector>
 #include <string>
 
-#include "common/common.h"
+#include "common/common_types.h"
 
 class DebugInterface;
 
diff --git a/src/common/chunk_file.h b/src/common/chunk_file.h
index 3f97d56bfdfdb19d241d12ba1ae90c76005e93fa..dcd80525ef3888f28ffd293fc202c076535fd439 100644
--- a/src/common/chunk_file.h
+++ b/src/common/chunk_file.h
@@ -34,8 +34,9 @@
 #include <set>
 #include <type_traits>
 
-#include "common/common.h"
+#include "common/common_types.h"
 #include "common/file_util.h"
+#include "common/logging/log.h"
 
 template <class T>
 struct LinkedListItem : public T
diff --git a/src/common/common.h b/src/common/common.h
deleted file mode 100644
index a9d3a6e6a0f34351c50690c863e6124735c6b814..0000000000000000000000000000000000000000
--- a/src/common/common.h
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2013 Dolphin Emulator Project / 2014 Citra Emulator Project
-// Licensed under GPLv2 or any later version
-// Refer to the license.txt file included.
-
-#pragma once
-
-// DO NOT EVER INCLUDE <windows.h> directly _or indirectly_ from this file
-// since it slows down the build a lot.
-
-#include <cstdlib>
-#include <cstdio>
-#include <cstring>
-
-#include "common/assert.h"
-#include "common/logging/log.h"
-#include "common/common_types.h"
-#include "common/common_funcs.h"
-#include "common/common_paths.h"
-#include "common/platform.h"
-
-#include "swap.h"
diff --git a/src/common/common_paths.h b/src/common/common_paths.h
index 440b06060124ca107c38e43331a39767c1b6bdcc..2903f2cf2f69c461a4640573592e8f80a6d91a89 100644
--- a/src/common/common_paths.h
+++ b/src/common/common_paths.h
@@ -4,9 +4,6 @@
 
 #pragma once
 
-// Make sure we pick up USER_DIR if set in config.h
-#include "common/common.h"
-
 // Directory separators, do we need this?
 #define DIR_SEP "/"
 #define DIR_SEP_CHR '/'
diff --git a/src/common/concurrent_ring_buffer.h b/src/common/concurrent_ring_buffer.h
index fc18e6c860de5f04e7de8459cae534494cc8ef94..c5889513a9b0512b16de15e950244e40466aff4c 100644
--- a/src/common/concurrent_ring_buffer.h
+++ b/src/common/concurrent_ring_buffer.h
@@ -10,7 +10,7 @@
 #include <mutex>
 #include <thread>
 
-#include "common/common.h" // for NonCopyable
+#include "common/common_types.h" // for NonCopyable
 
 namespace Common {
 
diff --git a/src/common/emu_window.h b/src/common/emu_window.h
index e0fc12a483adf84ed80e0018cf4613f91c8845d3..8eca6b5d5d97382dc14e9f94cdda1331804ed41f 100644
--- a/src/common/emu_window.h
+++ b/src/common/emu_window.h
@@ -4,11 +4,11 @@
 
 #pragma once
 
-#include "common/common.h"
-#include "common/scm_rev.h"
-#include "common/string_util.h"
+#include "common/common_types.h"
 #include "common/key_map.h"
 #include "common/math_util.h"
+#include "common/scm_rev.h"
+#include "common/string_util.h"
 
 /**
  * Abstraction class used to provide an interface between emulation code and the frontend
diff --git a/src/common/file_util.cpp b/src/common/file_util.cpp
index 946c4261abda685366ee0d96c97a18ffd87564fa..7cdd1484f01a6f8f0a2a44a764961ffdfa0e773d 100644
--- a/src/common/file_util.cpp
+++ b/src/common/file_util.cpp
@@ -2,9 +2,11 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
-
-#include "common/common.h"
+#include "common/assert.h"
+#include "common/common_funcs.h"
+#include "common/common_paths.h"
 #include "common/file_util.h"
+#include "common/logging/log.h"
 
 #ifdef _WIN32
     #include <windows.h>
diff --git a/src/common/file_util.h b/src/common/file_util.h
index 86aab2e3dc73a38920ecaf959632fcd54aec6357..b65829291e56803302789945b486e41e76dccb5c 100644
--- a/src/common/file_util.h
+++ b/src/common/file_util.h
@@ -11,7 +11,7 @@
 #include <string>
 #include <vector>
 
-#include "common/common.h"
+#include "common/common_types.h"
 #include "common/string_util.h"
 
 // User directory indices for GetUserPath
diff --git a/src/common/hash.cpp b/src/common/hash.cpp
index 3e62beff41dfd6d700e12537c1bc8097df84e636..b0b3613f604dd38c7a0f1d84e17da11ef1d92ce9 100644
--- a/src/common/hash.cpp
+++ b/src/common/hash.cpp
@@ -4,6 +4,7 @@
 
 #include <algorithm>
 
+#include "common/common_funcs.h" // For rotl
 #include "common/hash.h"
 #include "common/platform.h"
 
diff --git a/src/common/hash.h b/src/common/hash.h
index 3ac42bc4429b52c26560b9ef1a34e5eae261c5fb..0afaf0e37d43fc55a88171208fb9142c403c674a 100644
--- a/src/common/hash.h
+++ b/src/common/hash.h
@@ -4,7 +4,7 @@
 
 #pragma once
 
-#include "common/common.h"
+#include "common/common_types.h"
 
 u32 HashFletcher(const u8* data_u8, size_t length);  // FAST. Length & 1 == 0.
 u32 HashAdler32(const u8* data, size_t len);         // Fairly accurate, slightly slower
diff --git a/src/common/linear_disk_cache.h b/src/common/linear_disk_cache.h
index 74ce74aba7c18169e2f68ea0f289cbf60da2bd6e..48529cf42558f43daef663dc995dd87e67c0a3e0 100644
--- a/src/common/linear_disk_cache.h
+++ b/src/common/linear_disk_cache.h
@@ -4,7 +4,7 @@
 
 #pragma once
 
-#include "common/common.h"
+#include "common/common_types.h"
 #include <fstream>
 
 // defined in Version.cpp
diff --git a/src/common/logging/text_formatter.cpp b/src/common/logging/text_formatter.cpp
index 36c91c4f6572dae6330a69f2bfb3a4c8a89f23fc..45be6d0a1b62f26c243a34868171f7295b99bc40 100644
--- a/src/common/logging/text_formatter.cpp
+++ b/src/common/logging/text_formatter.cpp
@@ -14,6 +14,7 @@
 #include "common/logging/log.h"
 #include "common/logging/text_formatter.h"
 
+#include "common/common_funcs.h"
 #include "common/string_util.h"
 
 namespace Log {
diff --git a/src/common/math_util.cpp b/src/common/math_util.cpp
index a83592dd26a40291942996d074190881394d6413..bcb70cae5960bc7533a2bd5fbc03985e049a29c4 100644
--- a/src/common/math_util.cpp
+++ b/src/common/math_util.cpp
@@ -2,12 +2,12 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include <cstring>
+#include <numeric> // Necessary on OS X, but not Linux
 
-#include "common/common.h"
+#include "common/common_types.h"
 #include "common/math_util.h"
 
-#include <numeric> // Necessary on OS X, but not Linux
-
 namespace MathUtil
 {
 
diff --git a/src/common/math_util.h b/src/common/math_util.h
index 43b0e0dc3cfc5db88ab7e218749bc7cea36af2b0..52f579cf7300e61d647594d771f3e9a7df84ae9a 100644
--- a/src/common/math_util.h
+++ b/src/common/math_util.h
@@ -4,7 +4,7 @@
 
 #pragma once
 
-#include "common/common.h"
+#include "common/common_types.h"
 
 #include <algorithm>
 #include <type_traits>
diff --git a/src/common/mem_arena.cpp b/src/common/mem_arena.cpp
index 76c70701d91bff393962e1e79398d0b824558047..f233d4a3a54ffa43c196cfd173439f8ec2b21eeb 100644
--- a/src/common/mem_arena.cpp
+++ b/src/common/mem_arena.cpp
@@ -17,12 +17,16 @@
 
 #include <string>
 
-#include "common/memory_util.h"
+#include "common/logging/log.h"
 #include "common/mem_arena.h"
+#include "common/memory_util.h"
 #include "common/string_util.h"
 
 #ifndef _WIN32
 #include <fcntl.h>
+#include <string.h>
+#include <unistd.h>
+
 #ifdef ANDROID
 #include <sys/ioctl.h>
 #include <linux/ashmem.h>
diff --git a/src/common/mem_arena.h b/src/common/mem_arena.h
index 3379d2529b416a1accae568018784bd8e9cf2c6b..d514fe58cf33b2e4e4f18cc34d6c7701eb4ec3f5 100644
--- a/src/common/mem_arena.h
+++ b/src/common/mem_arena.h
@@ -21,7 +21,7 @@
 #include <windows.h>
 #endif
 
-#include "common/common.h"
+#include "common/common_types.h"
 
 // This class lets you create a block of anonymous RAM, and then arbitrarily map views into it.
 // Multiple views can mirror the same section of the block, which makes it very convient for emulating
diff --git a/src/common/memory_util.cpp b/src/common/memory_util.cpp
index 7e69d31cb62682a9e32b09092a23e698c71d0dbc..2087a1184ccefdafbffe287c0be48a544fd272dd 100644
--- a/src/common/memory_util.cpp
+++ b/src/common/memory_util.cpp
@@ -3,7 +3,8 @@
 // Refer to the license.txt file included.
 
 
-#include "common/common.h"
+#include "common/common_funcs.h"
+#include "common/logging/log.h"
 #include "common/memory_util.h"
 #include "common/string_util.h"
 
diff --git a/src/common/misc.cpp b/src/common/misc.cpp
index e33055d10c43588d9a9fb916fa78f5a88cf979b1..53cacf37cf97a67ea8f4dc269348651ae5bf2607 100644
--- a/src/common/misc.cpp
+++ b/src/common/misc.cpp
@@ -2,10 +2,12 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
-#include "common/common.h"
+#include "common/common_funcs.h"
 
 #ifdef _WIN32
 #include <windows.h>
+#else
+#include <string.h>
 #endif
 
 // Neither Android nor OS X support TLS
diff --git a/src/common/string_util.cpp b/src/common/string_util.cpp
index 3264dd51a5306c25895f9753757f8299607d2364..6563611fdc12c17ae82abcd8f8f62c3092162ea3 100644
--- a/src/common/string_util.cpp
+++ b/src/common/string_util.cpp
@@ -4,7 +4,9 @@
 
 #include <boost/range/algorithm.hpp>
 
-#include "common/common.h"
+#include "common/common_funcs.h"
+#include "common/common_paths.h"
+#include "common/logging/log.h"
 #include "common/string_util.h"
 
 #ifdef _MSC_VER
diff --git a/src/common/string_util.h b/src/common/string_util.h
index 74974263fbbfd153b5dda558d0e2e3a32051dfd2..a60a846963f9eb26e8b41985f2c3729abf814a52 100644
--- a/src/common/string_util.h
+++ b/src/common/string_util.h
@@ -10,7 +10,7 @@
 #include <sstream>
 #include <vector>
 
-#include "common/common.h"
+#include "common/common_types.h"
 
 namespace Common {
 
diff --git a/src/common/symbols.h b/src/common/symbols.h
index f76cb6b1ef785e23e0c9a89df45043aa6d37a91a..6b62b011eabf9baeeb4af22f05ac7ecc91028bdd 100644
--- a/src/common/symbols.h
+++ b/src/common/symbols.h
@@ -5,8 +5,10 @@
 #pragma once
 
 #include <map>
+#include <string>
+#include <utility>
 
-#include "common/common.h"
+#include "common/common_types.h"
 
 struct TSymbol
 {
diff --git a/src/common/thread.h b/src/common/thread.h
index 5fdb6baebe77ac65eb8a09323310f2d3478d1a6b..7bc419497b92490baa2bf343ce3891399ccce54b 100644
--- a/src/common/thread.h
+++ b/src/common/thread.h
@@ -4,7 +4,6 @@
 
 #pragma once
 
-// Don't include common.h here as it will break LogManager
 #include "common/common_types.h"
 #include <cstdio>
 #include <cstring>
diff --git a/src/common/thread_queue_list.h b/src/common/thread_queue_list.h
index 4f27fc899262499d4ebd112782a6622b3a784320..12455d7c4b1a8d6507d1037f786634de00cbaea4 100644
--- a/src/common/thread_queue_list.h
+++ b/src/common/thread_queue_list.h
@@ -9,8 +9,6 @@
 
 #include <boost/range/algorithm_ext/erase.hpp>
 
-#include "common/common.h"
-
 namespace Common {
 
 template<class T, unsigned int N>
diff --git a/src/common/thunk.h b/src/common/thunk.h
index 4fb7c98e1757306a9f4c38c904257282911d13d0..53348005608adf92f18c36d17de275c6d6984df6 100644
--- a/src/common/thunk.h
+++ b/src/common/thunk.h
@@ -6,7 +6,7 @@
 
 #include <map>
 
-#include "common/common.h"
+#include "common/common_types.h"
 
 // This simple class creates a wrapper around a C/C++ function that saves all fp state
 // before entering it, and restores it upon exit. This is required to be able to selectively
diff --git a/src/common/timer.cpp b/src/common/timer.cpp
index a6682ea1928130515a93585b663b57f379e9c228..b99835ac7c48782ca9ea8d46cbb9d9cb7c7391d6 100644
--- a/src/common/timer.cpp
+++ b/src/common/timer.cpp
@@ -12,9 +12,9 @@
 #include <sys/time.h>
 #endif
 
-#include "common/common.h"
-#include "common/timer.h"
+#include "common/common_types.h"
 #include "common/string_util.h"
+#include "common/timer.h"
 
 namespace Common
 {
diff --git a/src/common/timer.h b/src/common/timer.h
index 4b44c33a09ab8b504929b3740ee6f30a3fa1b58e..b5f0f25852c8cba6259aadf0835a4e21efc7bc4f 100644
--- a/src/common/timer.h
+++ b/src/common/timer.h
@@ -4,7 +4,7 @@
 
 #pragma once
 
-#include "common/common.h"
+#include "common/common_types.h"
 #include <string>
 
 namespace Common
diff --git a/src/core/arm/arm_interface.h b/src/core/arm/arm_interface.h
index 3106637749bbdee1937865f5302d2a80e2b22e6c..85ed2c698db7471a966bb8d20c5f0e23d278a2e4 100644
--- a/src/core/arm/arm_interface.h
+++ b/src/core/arm/arm_interface.h
@@ -4,7 +4,6 @@
 
 #pragma once
 
-#include "common/common.h"
 #include "common/common_types.h"
 #include "core/arm/skyeye_common/arm_regformat.h"
 
diff --git a/src/core/arm/dyncom/arm_dyncom.cpp b/src/core/arm/dyncom/arm_dyncom.cpp
index 128413262230f03e287b798fc41188a881047101..42a63e46fee43fd1e5b6e99718032bfe36acb577 100644
--- a/src/core/arm/dyncom/arm_dyncom.cpp
+++ b/src/core/arm/dyncom/arm_dyncom.cpp
@@ -2,6 +2,8 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include <cstring>
+
 #include "common/make_unique.h"
 
 #include "core/arm/skyeye_common/armemu.h"
diff --git a/src/core/arm/skyeye_common/vfp/vfp.cpp b/src/core/arm/skyeye_common/vfp/vfp.cpp
index d0fa157a28cd42b56eec476c71159aafeeb6ac7a..b88d47750807f8390b1aae99a05639490689b04f 100644
--- a/src/core/arm/skyeye_common/vfp/vfp.cpp
+++ b/src/core/arm/skyeye_common/vfp/vfp.cpp
@@ -20,7 +20,6 @@
 
 /* Note: this file handles interface with arm core and vfp registers */
 
-#include "common/common.h"
 #include "common/logging/log.h"
 
 #include "core/arm/skyeye_common/armdefs.h"
diff --git a/src/core/core.cpp b/src/core/core.cpp
index 81e642318c46f42baf613448e293fb85f7027276..1c9680d414f1f9560a9ffffe22bf1ceefc279596 100644
--- a/src/core/core.cpp
+++ b/src/core/core.cpp
@@ -3,6 +3,7 @@
 // Refer to the license.txt file included.
 
 #include "common/common_types.h"
+#include "common/logging/log.h"
 
 #include "core/core.h"
 #include "core/core_timing.h"
diff --git a/src/core/core_timing.h b/src/core/core_timing.h
index d62ff3604c872dbc0ae90d64cf6ad9a9194a48ed..01519608de13356c6fb8129cd0b986a7ce4486da 100644
--- a/src/core/core_timing.h
+++ b/src/core/core_timing.h
@@ -21,7 +21,7 @@
 
 #include <functional>
 
-#include "common/common.h"
+#include "common/common_types.h"
 
 extern int g_clock_rate_arm11;
 
diff --git a/src/core/file_sys/archive_extsavedata.cpp b/src/core/file_sys/archive_extsavedata.cpp
index 3076fa26303805794a45320c483bbd6cca88d34f..38d498d0e126c435af6aa3235bdd5c1adf2b4c18 100644
--- a/src/core/file_sys/archive_extsavedata.cpp
+++ b/src/core/file_sys/archive_extsavedata.cpp
@@ -6,6 +6,7 @@
 
 #include "common/common_types.h"
 #include "common/file_util.h"
+#include "common/logging/log.h"
 #include "common/make_unique.h"
 
 #include "core/file_sys/archive_extsavedata.h"
diff --git a/src/core/file_sys/archive_romfs.cpp b/src/core/file_sys/archive_romfs.cpp
index bf54a386654db76fa2c2e0408e0b223bbbbbc6bc..d4a12ed103b566af7fbc3701c3d45a0a66030df8 100644
--- a/src/core/file_sys/archive_romfs.cpp
+++ b/src/core/file_sys/archive_romfs.cpp
@@ -6,6 +6,7 @@
 
 #include "common/common_types.h"
 #include "common/file_util.h"
+#include "common/logging/log.h"
 #include "common/make_unique.h"
 
 #include "core/file_sys/archive_romfs.h"
diff --git a/src/core/file_sys/archive_savedata.cpp b/src/core/file_sys/archive_savedata.cpp
index 8496e06f37e50b2a33cca444995027b3e373acee..12624fa31d7f8e7da5205335c6844a3c7a404352 100644
--- a/src/core/file_sys/archive_savedata.cpp
+++ b/src/core/file_sys/archive_savedata.cpp
@@ -6,6 +6,7 @@
 
 #include "common/common_types.h"
 #include "common/file_util.h"
+#include "common/logging/log.h"
 #include "common/make_unique.h"
 
 #include "core/file_sys/archive_savedata.h"
diff --git a/src/core/file_sys/archive_savedatacheck.cpp b/src/core/file_sys/archive_savedatacheck.cpp
index 47d8a9d2507304c6278c7b8035969e6567fad3fa..e7e4fbf1d9a47800ac0f91f0fc1de95cb56ef596 100644
--- a/src/core/file_sys/archive_savedatacheck.cpp
+++ b/src/core/file_sys/archive_savedatacheck.cpp
@@ -3,6 +3,7 @@
 // Refer to the license.txt file included.
 
 #include "common/file_util.h"
+#include "common/logging/log.h"
 #include "common/make_unique.h"
 
 #include "core/file_sys/archive_savedatacheck.h"
diff --git a/src/core/file_sys/archive_sdmc.cpp b/src/core/file_sys/archive_sdmc.cpp
index 92b20c7f6d1e6b373fbfeaaeaad76ed97d45ead4..c1234a1862c07bd05f965a659ce39891de4e83b9 100644
--- a/src/core/file_sys/archive_sdmc.cpp
+++ b/src/core/file_sys/archive_sdmc.cpp
@@ -6,6 +6,7 @@
 
 #include "common/common_types.h"
 #include "common/file_util.h"
+#include "common/logging/log.h"
 #include "common/make_unique.h"
 
 #include "core/file_sys/archive_sdmc.h"
diff --git a/src/core/file_sys/disk_archive.cpp b/src/core/file_sys/disk_archive.cpp
index f53fd57db33da9cee56ec52957e49cd035c9d332..9980cced10807a5e480dc24fa60b33843dc3a64a 100644
--- a/src/core/file_sys/disk_archive.cpp
+++ b/src/core/file_sys/disk_archive.cpp
@@ -6,6 +6,7 @@
 
 #include "common/common_types.h"
 #include "common/file_util.h"
+#include "common/logging/log.h"
 #include "common/make_unique.h"
 
 #include "core/file_sys/disk_archive.h"
diff --git a/src/core/file_sys/file_backend.h b/src/core/file_sys/file_backend.h
index 0b0f8a42a6b0cb737a522d7d4a0fb25401902f7f..0fcff184541d85d25f0755f873eca71d2f8baebc 100644
--- a/src/core/file_sys/file_backend.h
+++ b/src/core/file_sys/file_backend.h
@@ -4,7 +4,6 @@
 
 #pragma once
 
-#include "common/common.h"
 #include "common/common_types.h"
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/core/file_sys/ivfc_archive.cpp b/src/core/file_sys/ivfc_archive.cpp
index 35aca54fac524be7b1b3197586a14dceec7b577b..2d2509d16d142b133b82524d8c351aeec9ffe7bd 100644
--- a/src/core/file_sys/ivfc_archive.cpp
+++ b/src/core/file_sys/ivfc_archive.cpp
@@ -6,6 +6,7 @@
 
 #include "common/common_types.h"
 #include "common/file_util.h"
+#include "common/logging/log.h"
 #include "common/make_unique.h"
 
 #include "core/file_sys/ivfc_archive.h"
diff --git a/src/core/hle/kernel/address_arbiter.cpp b/src/core/hle/kernel/address_arbiter.cpp
index 19135266cae7391642ad4727f482053e200db367..9d7f6b280baccd9a5ddf54f7c9d799fc85df0718 100644
--- a/src/core/hle/kernel/address_arbiter.cpp
+++ b/src/core/hle/kernel/address_arbiter.cpp
@@ -3,6 +3,7 @@
 // Refer to the license.txt file included.
 
 #include "common/common_types.h"
+#include "common/logging/log.h"
 
 #include "core/mem_map.h"
 
diff --git a/src/core/hle/kernel/event.cpp b/src/core/hle/kernel/event.cpp
index 420906ec08464d4f808fca2d2108e855a48bf361..f338f3266c86ec18a8e0cf65bce648ee49e5d34f 100644
--- a/src/core/hle/kernel/event.cpp
+++ b/src/core/hle/kernel/event.cpp
@@ -6,7 +6,7 @@
 #include <algorithm>
 #include <vector>
 
-#include "common/common.h"
+#include "common/assert.h"
 
 #include "core/hle/kernel/kernel.h"
 #include "core/hle/kernel/event.h"
diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp
index fca582bbee402bebb3753f11e53c8f50c4539441..533fe65fd126acb9740d63ac5d59acf9c2a59ce5 100644
--- a/src/core/hle/kernel/kernel.cpp
+++ b/src/core/hle/kernel/kernel.cpp
@@ -4,7 +4,8 @@
 
 #include <algorithm>
 
-#include "common/common.h"
+#include "common/assert.h"
+#include "common/logging/log.h"
 
 #include "core/arm/arm_interface.h"
 #include "core/core.h"
diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h
index 80a09cadc6505a1196fb5948e1593f1d54083995..a7bc6b71a6285e62ad34f4d74da37c1a273c7e02 100644
--- a/src/core/hle/kernel/kernel.h
+++ b/src/core/hle/kernel/kernel.h
@@ -10,7 +10,8 @@
 #include <string>
 #include <vector>
 
-#include "common/common.h"
+#include "common/common_types.h"
+
 #include "core/hle/hle.h"
 #include "core/hle/result.h"
 
diff --git a/src/core/hle/kernel/mutex.cpp b/src/core/hle/kernel/mutex.cpp
index ebc9e79d79c6d29a3ca854d233c9c40c125e92e5..f530217fd0e8beea6769ff416ff64450a6f674eb 100644
--- a/src/core/hle/kernel/mutex.cpp
+++ b/src/core/hle/kernel/mutex.cpp
@@ -7,7 +7,7 @@
 
 #include <boost/range/algorithm_ext/erase.hpp>
 
-#include "common/common.h"
+#include "common/assert.h"
 
 #include "core/hle/kernel/kernel.h"
 #include "core/hle/kernel/mutex.h"
diff --git a/src/core/hle/kernel/semaphore.cpp b/src/core/hle/kernel/semaphore.cpp
index 6aecc24aa680ce3a15e0bc5f4a5d1ccb5b5f1b7b..5d6543ef4217dde0efc0938c38fa83dfaabb349d 100644
--- a/src/core/hle/kernel/semaphore.cpp
+++ b/src/core/hle/kernel/semaphore.cpp
@@ -2,7 +2,7 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
-#include "common/common.h"
+#include "common/assert.h"
 
 #include "core/hle/kernel/kernel.h"
 #include "core/hle/kernel/semaphore.h"
diff --git a/src/core/hle/kernel/shared_memory.cpp b/src/core/hle/kernel/shared_memory.cpp
index 9b2511b530781eebca0a84f622feeb570a848802..cb5c1669604aec13531982cad81450731077d784 100644
--- a/src/core/hle/kernel/shared_memory.cpp
+++ b/src/core/hle/kernel/shared_memory.cpp
@@ -2,7 +2,7 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
-#include "common/common.h"
+#include "common/logging/log.h"
 
 #include "core/mem_map.h"
 #include "core/hle/kernel/shared_memory.h"
diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp
index d678f5f6fedd5b13f08d3769bfc83115e80ddb49..9577b889a09944fa37371f93db040782b9e48f9e 100644
--- a/src/core/hle/kernel/thread.cpp
+++ b/src/core/hle/kernel/thread.cpp
@@ -6,7 +6,9 @@
 #include <list>
 #include <vector>
 
-#include "common/common.h"
+#include "common/assert.h"
+#include "common/common_types.h"
+#include "common/logging/log.h"
 #include "common/math_util.h"
 #include "common/thread_queue_list.h"
 
diff --git a/src/core/hle/kernel/timer.cpp b/src/core/hle/kernel/timer.cpp
index 36979248de4c0fa793848b3e0fd6ab71e63445b7..e69fece65ee0d182538fdcad7fcd213ed2f31f05 100644
--- a/src/core/hle/kernel/timer.cpp
+++ b/src/core/hle/kernel/timer.cpp
@@ -2,7 +2,8 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
-#include "common/common.h"
+#include "common/assert.h"
+#include "common/logging/log.h"
 
 #include "core/core_timing.h"
 #include "core/hle/kernel/kernel.h"
diff --git a/src/core/hle/result.h b/src/core/hle/result.h
index 3648a168b300b148f4b02e6802d1b51065f7dbc2..ce633d841597b5299d7557c4dd5697b23e05ed51 100644
--- a/src/core/hle/result.h
+++ b/src/core/hle/result.h
@@ -8,6 +8,7 @@
 #include <type_traits>
 #include <utility>
 
+#include "common/assert.h"
 #include "common/bit_field.h"
 #include "common/common_funcs.h"
 #include "common/common_types.h"
diff --git a/src/core/hle/service/am_sys.cpp b/src/core/hle/service/am_sys.cpp
index b244190a2a9a8b69caa4bdc61bd9220583503ff5..f9e3fe4b7774f11fb954318a886cf63b8723ec94 100644
--- a/src/core/hle/service/am_sys.cpp
+++ b/src/core/hle/service/am_sys.cpp
@@ -2,6 +2,8 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include "common/logging/log.h"
+
 #include "core/hle/hle.h"
 #include "core/hle/service/am_sys.h"
 
diff --git a/src/core/hle/service/apt/apt.cpp b/src/core/hle/service/apt/apt.cpp
index 98ae80b3a892dc8d9833c61871fb487b519fcd37..560c9dcf6c5fa3858ee3555eb3aa789437884ce1 100644
--- a/src/core/hle/service/apt/apt.cpp
+++ b/src/core/hle/service/apt/apt.cpp
@@ -2,7 +2,9 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include "common/common_paths.h"
 #include "common/file_util.h"
+#include "common/logging/log.h"
 
 #include "core/hle/service/service.h"
 #include "core/hle/service/apt/apt.h"
diff --git a/src/core/hle/service/apt/apt_s.cpp b/src/core/hle/service/apt/apt_s.cpp
index 3fd34865142aade033fe7f28b5e610badccd9258..396d1f04a428f1ded9981ceeb3a88130b3dff755 100644
--- a/src/core/hle/service/apt/apt_s.cpp
+++ b/src/core/hle/service/apt/apt_s.cpp
@@ -3,9 +3,6 @@
 // Refer to the license.txt file included.
 
 
-#include "common/common.h"
-#include "common/file_util.h"
-
 #include "core/hle/hle.h"
 #include "core/hle/service/apt/apt.h"
 #include "core/hle/service/apt/apt_s.h"
diff --git a/src/core/hle/service/apt/apt_u.cpp b/src/core/hle/service/apt/apt_u.cpp
index 5ab23801eccea1c5f0537c734ebbd14619ffeab6..d006b59308417968b8234c17934d61f303dab404 100644
--- a/src/core/hle/service/apt/apt_u.cpp
+++ b/src/core/hle/service/apt/apt_u.cpp
@@ -3,7 +3,6 @@
 // Refer to the license.txt file included.
 
 
-#include "common/common.h"
 #include "common/file_util.h"
 
 #include "core/hle/service/apt/apt.h"
diff --git a/src/core/hle/service/cfg/cfg.cpp b/src/core/hle/service/cfg/cfg.cpp
index 207f660e69ad54984c704ba182fc2779c9f5e961..2d26c9330ed60319e8de4f8f832affe2c3248624 100644
--- a/src/core/hle/service/cfg/cfg.cpp
+++ b/src/core/hle/service/cfg/cfg.cpp
@@ -4,6 +4,7 @@
 
 #include <algorithm>
 
+#include "common/logging/log.h"
 #include "common/string_util.h"
 
 #include "core/file_sys/file_backend.h"
diff --git a/src/core/hle/service/cfg/cfg_u.cpp b/src/core/hle/service/cfg/cfg_u.cpp
index c8c1c5b17ed98f72e70ea47940f129e6bca14f63..221de991813fa16757a7d2629de959535de88563 100644
--- a/src/core/hle/service/cfg/cfg_u.cpp
+++ b/src/core/hle/service/cfg/cfg_u.cpp
@@ -3,7 +3,9 @@
 // Refer to the license.txt file included.
 
 #include "common/file_util.h"
+#include "common/logging/log.h"
 #include "common/string_util.h"
+
 #include "core/settings.h"
 #include "core/file_sys/archive_systemsavedata.h"
 #include "core/hle/hle.h"
diff --git a/src/core/hle/service/dsp_dsp.cpp b/src/core/hle/service/dsp_dsp.cpp
index 2e759a3e34e079218049679be65c4b283482e92f..20dc4d648fa14b81e1926ef2a5d170580943b453 100644
--- a/src/core/hle/service/dsp_dsp.cpp
+++ b/src/core/hle/service/dsp_dsp.cpp
@@ -2,6 +2,8 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include "common/logging/log.h"
+
 #include "core/hle/hle.h"
 #include "core/hle/kernel/event.h"
 #include "core/hle/service/dsp_dsp.h"
diff --git a/src/core/hle/service/err_f.cpp b/src/core/hle/service/err_f.cpp
index 58c5acd1e90d8cb6dd3a183c1d9be0407eb4795e..e8c06c1cf683e28fb61da9b208dcfee199220cf5 100644
--- a/src/core/hle/service/err_f.cpp
+++ b/src/core/hle/service/err_f.cpp
@@ -2,6 +2,8 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include "common/logging/log.h"
+
 #include "core/hle/hle.h"
 #include "core/hle/service/err_f.h"
 
diff --git a/src/core/hle/service/fs/archive.cpp b/src/core/hle/service/fs/archive.cpp
index a6ed089296d27d92b6c8ef09560be56b01c02330..6d4a9c7c9b0d79a14aa36a19225eaa826f675839 100644
--- a/src/core/hle/service/fs/archive.cpp
+++ b/src/core/hle/service/fs/archive.cpp
@@ -9,6 +9,7 @@
 
 #include "common/common_types.h"
 #include "common/file_util.h"
+#include "common/logging/log.h"
 #include "common/make_unique.h"
 #include "common/math_util.h"
 
diff --git a/src/core/hle/service/fs/fs_user.cpp b/src/core/hle/service/fs/fs_user.cpp
index 5bc94b1b11bd0b85e28c0faee1edb7a619a7cb00..0d2a426b096e07d2f99c378f7ac48e84fc7ec140 100644
--- a/src/core/hle/service/fs/fs_user.cpp
+++ b/src/core/hle/service/fs/fs_user.cpp
@@ -2,10 +2,13 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
-#include "common/common.h"
+#include "common/assert.h"
+#include "common/common_types.h"
 #include "common/file_util.h"
+#include "common/logging/log.h"
 #include "common/scope_exit.h"
 #include "common/string_util.h"
+
 #include "core/hle/result.h"
 #include "core/hle/service/fs/archive.h"
 #include "core/hle/service/fs/fs_user.h"
diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp
index 0f30f743a7dbc54ed372ea2fbe741b4f327ea32b..dd85848d067993cd0af11cd08c173a1d95b1aa40 100644
--- a/src/core/hle/service/hid/hid.cpp
+++ b/src/core/hle/service/hid/hid.cpp
@@ -2,6 +2,8 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include "common/logging/log.h"
+
 #include "core/hle/service/service.h"
 #include "core/hle/service/hid/hid.h"
 #include "core/hle/service/hid/hid_spvr.h"
diff --git a/src/core/hle/service/ldr_ro.cpp b/src/core/hle/service/ldr_ro.cpp
index c0c4a23445d76cb9ee23eae23b0da921def632d0..155b97f6960166e6cb298ee703c413362e83e9d5 100644
--- a/src/core/hle/service/ldr_ro.cpp
+++ b/src/core/hle/service/ldr_ro.cpp
@@ -2,6 +2,8 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include "common/logging/log.h"
+
 #include "core/hle/hle.h"
 #include "core/hle/service/ldr_ro.h"
 
diff --git a/src/core/hle/service/nim_u.cpp b/src/core/hle/service/nim_u.cpp
index a87d17ef04760da561f889ad092662533f04735e..5f13bd98e86911729b4af6a90eb0eb4857351bfc 100644
--- a/src/core/hle/service/nim_u.cpp
+++ b/src/core/hle/service/nim_u.cpp
@@ -2,6 +2,8 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include "common/logging/log.h"
+
 #include "core/hle/hle.h"
 #include "core/hle/service/nim_u.h"
 
diff --git a/src/core/hle/service/ns_s.cpp b/src/core/hle/service/ns_s.cpp
index 5cf3e20395117fe500178eb499ddafa1ca593cce..6b3ef6ece746fea2a33f4d9b9df751ddd3042886 100644
--- a/src/core/hle/service/ns_s.cpp
+++ b/src/core/hle/service/ns_s.cpp
@@ -3,8 +3,6 @@
 // Refer to the license.txt file included.
 
 
-#include "common/common.h"
-
 #include "core/hle/hle.h"
 #include "core/hle/service/ns_s.h"
 
diff --git a/src/core/hle/service/nwm_uds.cpp b/src/core/hle/service/nwm_uds.cpp
index 4b06efc3a1f7edf60d36b457415fe3a6be9ff5d0..25b01860e5fb4b3963eb8e1d0d951218164b08da 100644
--- a/src/core/hle/service/nwm_uds.cpp
+++ b/src/core/hle/service/nwm_uds.cpp
@@ -2,6 +2,8 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include "common/logging/log.h"
+
 #include "core/hle/hle.h"
 #include "core/hle/kernel/event.h"
 #include "core/hle/service/nwm_uds.h"
diff --git a/src/core/hle/service/ptm/ptm_u.cpp b/src/core/hle/service/ptm/ptm_u.cpp
index 0af7c8bf6e59cea9f1e8714a69e0bfc49c7dbaa0..9d6a5b0d7ef890b346d3b3a9cbb32f64d0780978 100644
--- a/src/core/hle/service/ptm/ptm_u.cpp
+++ b/src/core/hle/service/ptm/ptm_u.cpp
@@ -2,7 +2,7 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
-#include "common/make_unique.h"
+#include "common/logging/log.h"
 
 #include "core/hle/hle.h"
 #include "core/hle/service/ptm/ptm.h"
diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp
index d50327cb90bc7034cebb99b9c2e7cbdc3642de17..64185c62e1721b0935f4380b8078e1acc4cf5e33 100644
--- a/src/core/hle/service/service.cpp
+++ b/src/core/hle/service/service.cpp
@@ -2,7 +2,7 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
-#include "common/common.h"
+#include "common/logging/log.h"
 #include "common/string_util.h"
 
 #include "core/hle/service/service.h"
diff --git a/src/core/hle/service/service.h b/src/core/hle/service/service.h
index 21ada67b5f6f72d3c67d446de18b4772e4d7ea67..77bfb9ff1354305be0c4f997e8e1e0b91f475d7c 100644
--- a/src/core/hle/service/service.h
+++ b/src/core/hle/service/service.h
@@ -9,7 +9,7 @@
 
 #include <boost/container/flat_map.hpp>
 
-#include "common/common.h"
+#include "common/common_types.h"
 
 #include "core/hle/kernel/kernel.h"
 #include "core/hle/kernel/session.h"
diff --git a/src/core/hle/service/soc_u.cpp b/src/core/hle/service/soc_u.cpp
index 231ead1850de67b5f558343c8efce27f92ee1b28..39b8d65fdc9055697c54398435492905638dfbd2 100644
--- a/src/core/hle/service/soc_u.cpp
+++ b/src/core/hle/service/soc_u.cpp
@@ -2,6 +2,7 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include "common/logging/log.h"
 #include "common/platform.h"
 
 #if EMU_PLATFORM == PLATFORM_WINDOWS
diff --git a/src/core/hle/service/srv.cpp b/src/core/hle/service/srv.cpp
index cc59a03ce2f27ef5c9aca8eaa43277005bf3a846..6c49fa6cf057481705c542965aa9cce370d40337 100644
--- a/src/core/hle/service/srv.cpp
+++ b/src/core/hle/service/srv.cpp
@@ -2,6 +2,8 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include "common/logging/log.h"
+
 #include "core/hle/hle.h"
 #include "core/hle/service/srv.h"
 #include "core/hle/kernel/event.h"
diff --git a/src/core/hle/service/y2r_u.cpp b/src/core/hle/service/y2r_u.cpp
index 33ecf64a26d3c394336639ae0cddc4522fb565ba..085192a07b9e9a0b57a8232013877954b715148d 100644
--- a/src/core/hle/service/y2r_u.cpp
+++ b/src/core/hle/service/y2r_u.cpp
@@ -2,6 +2,8 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include "common/logging/log.h"
+
 #include "core/hle/hle.h"
 #include "core/hle/kernel/event.h"
 #include "core/hle/service/y2r_u.h"
diff --git a/src/core/hle/svc.cpp b/src/core/hle/svc.cpp
index 2da488d83fa5bbb7e55057e7e3a543cdc46e1587..1372aa09653a7d7e59cf92487a31b24901bd8d42 100644
--- a/src/core/hle/svc.cpp
+++ b/src/core/hle/svc.cpp
@@ -4,6 +4,7 @@
 
 #include <map>
 
+#include "common/logging/log.h"
 #include "common/profiler.h"
 #include "common/string_util.h"
 #include "common/symbols.h"
diff --git a/src/core/hw/gpu.h b/src/core/hw/gpu.h
index c8f88449434a4a7a1d0df68c7fd422fc1f0ec020..699bcd2a56f7a7890aeab11819105eed2e4c1614 100644
--- a/src/core/hw/gpu.h
+++ b/src/core/hw/gpu.h
@@ -6,8 +6,10 @@
 
 #include <cstddef>
 
-#include "common/common_types.h"
+#include "common/assert.h"
 #include "common/bit_field.h"
+#include "common/common_funcs.h"
+#include "common/common_types.h"
 
 namespace GPU {
 
diff --git a/src/core/hw/hw.cpp b/src/core/hw/hw.cpp
index 2369581397aef10b55fc83be1622d5cfb5595ffd..f4906cc7ea93abed3227b8b316271f12d215b2e2 100644
--- a/src/core/hw/hw.cpp
+++ b/src/core/hw/hw.cpp
@@ -3,6 +3,7 @@
 // Refer to the license.txt file included.
 
 #include "common/common_types.h"
+#include "common/logging/log.h"
 
 #include "core/hw/hw.h"
 #include "core/hw/gpu.h"
diff --git a/src/core/hw/lcd.cpp b/src/core/hw/lcd.cpp
index 8a09c3bc0383ae22fee57ab5dc23bf0f16e7f2e5..09134c95b26b833efdea4b6c9de0ca7e8db91223 100644
--- a/src/core/hw/lcd.cpp
+++ b/src/core/hw/lcd.cpp
@@ -2,7 +2,10 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include <cstring>
+
 #include "common/common_types.h"
+#include "common/logging/log.h"
 
 #include "core/arm/arm_interface.h"
 #include "core/hle/hle.h"
diff --git a/src/core/hw/lcd.h b/src/core/hw/lcd.h
index 43893a625b134311429ce1d9cf472565ac2b124f..fb14c3b210ebe472ef611a88a0d28ed1ae0e03d9 100644
--- a/src/core/hw/lcd.h
+++ b/src/core/hw/lcd.h
@@ -6,8 +6,9 @@
 
 #include <cstddef>
 
-#include "common/common_types.h"
 #include "common/bit_field.h"
+#include "common/common_funcs.h"
+#include "common/common_types.h"
 
 #define LCD_REG_INDEX(field_name) (offsetof(LCD::Regs, field_name) / sizeof(u32))
 
diff --git a/src/core/loader/3dsx.cpp b/src/core/loader/3dsx.cpp
index 958dd03e8e8f4cb1799a3fcecd9a4b453dd99ce6..5d806c5d00f8faee294f410e72f5cc3b69e3fb00 100644
--- a/src/core/loader/3dsx.cpp
+++ b/src/core/loader/3dsx.cpp
@@ -5,6 +5,8 @@
 #include <algorithm>
 #include <vector>
 
+#include "common/logging/log.h"
+
 #include "core/file_sys/archive_romfs.h"
 #include "core/loader/elf.h"
 #include "core/loader/ncch.h"
diff --git a/src/core/loader/elf.cpp b/src/core/loader/elf.cpp
index 773eaf77193cc50cceca5a22367d252a1f1732e8..467e91924ec780be5aa7bac12a87247ff83db99d 100644
--- a/src/core/loader/elf.cpp
+++ b/src/core/loader/elf.cpp
@@ -5,8 +5,9 @@
 #include <string>
 #include <memory>
 
-#include "common/common.h"
+#include "common/common_types.h"
 #include "common/file_util.h"
+#include "common/logging/log.h"
 #include "common/symbols.h"
 
 #include "core/mem_map.h"
diff --git a/src/core/loader/loader.cpp b/src/core/loader/loader.cpp
index aca09b3745eac23fc4fd1bc223fa2d3f51e9b816..de0ab540a82617bfc9226aa44f4a5fd29d723a71 100644
--- a/src/core/loader/loader.cpp
+++ b/src/core/loader/loader.cpp
@@ -4,6 +4,7 @@
 
 #include <string>
 
+#include "common/logging/log.h"
 #include "common/make_unique.h"
 
 #include "core/file_sys/archive_romfs.h"
diff --git a/src/core/loader/loader.h b/src/core/loader/loader.h
index 3510c6b2891c32abf72d079177b0cb337f398016..2b87239cf24daa9c588bf8c4ac6605e357226d0b 100644
--- a/src/core/loader/loader.h
+++ b/src/core/loader/loader.h
@@ -6,7 +6,7 @@
 
 #include <vector>
 
-#include "common/common.h"
+#include "common/common_types.h"
 #include "common/file_util.h"
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/core/loader/ncch.cpp b/src/core/loader/ncch.cpp
index 4efed78bfd650eff376f796e666cb3e26df27bdf..9bce2b79dcacb8cb8f368447b625f14c7afd8132 100644
--- a/src/core/loader/ncch.cpp
+++ b/src/core/loader/ncch.cpp
@@ -4,6 +4,8 @@
 
 #include <memory>
 
+#include "common/logging/log.h"
+
 #include "core/loader/ncch.h"
 #include "core/hle/kernel/kernel.h"
 #include "core/mem_map.h"
diff --git a/src/core/loader/ncch.h b/src/core/loader/ncch.h
index 3dd151dbde84548ef1a19531db8b920c9234220f..44c72a4e298208f7190587605e3bc55439a3ee48 100644
--- a/src/core/loader/ncch.h
+++ b/src/core/loader/ncch.h
@@ -4,7 +4,9 @@
 
 #pragma once
 
-#include "common/common.h"
+#include <memory>
+
+#include "common/common_types.h"
 
 #include "core/loader/loader.h"
 
diff --git a/src/core/mem_map.cpp b/src/core/mem_map.cpp
index 22e359b3e54cfdc0e79c33234c264265f2e48c27..ae88cfb1179d167e4d337a160f56d718cced2e0d 100644
--- a/src/core/mem_map.cpp
+++ b/src/core/mem_map.cpp
@@ -2,7 +2,9 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
-#include "common/common.h"
+#include "common/common_funcs.h"
+#include "common/common_types.h"
+#include "common/logging/log.h"
 #include "common/mem_arena.h"
 
 #include "core/mem_map.h"
diff --git a/src/core/mem_map_funcs.cpp b/src/core/mem_map_funcs.cpp
index 8759ebdfb31d84acc1fcde972c6ccf3145235b3b..9a19c9bf88e891839d430fa8eacf8a0b9201a1be 100644
--- a/src/core/mem_map_funcs.cpp
+++ b/src/core/mem_map_funcs.cpp
@@ -4,7 +4,9 @@
 
 #include <map>
 
-#include "common/common.h"
+#include "common/common_types.h"
+#include "common/logging/log.h"
+#include "common/swap.h"
 
 #include "core/mem_map.h"
 #include "core/hw/hw.h"
diff --git a/src/video_core/color.h b/src/video_core/color.h
index 43d635e2c4a90347388e02b77848b8a5fae7a70d..4d2026eb015cd69f48180bef8ef9fa73e3048db8 100644
--- a/src/video_core/color.h
+++ b/src/video_core/color.h
@@ -5,6 +5,8 @@
 #pragma once
 
 #include "common/common_types.h"
+#include "common/swap.h"
+
 #include "video_core/math.h"
 
 namespace Color {
diff --git a/src/video_core/pica.h b/src/video_core/pica.h
index fe20cd77d95a005bdf28892fb6294904d2048980..20e5e2de043944726f6fee1fa966634e0403981a 100644
--- a/src/video_core/pica.h
+++ b/src/video_core/pica.h
@@ -10,8 +10,11 @@
 #include <map>
 #include <vector>
 
+#include "common/assert.h"
 #include "common/bit_field.h"
+#include "common/common_funcs.h"
 #include "common/common_types.h"
+#include "common/logging/log.h"
 
 #include "core/mem_map.h"
 
diff --git a/src/video_core/renderer_base.h b/src/video_core/renderer_base.h
index b77f29c115d33cb7dd95d251792cd3871cf94f4a..b62409538436f5a48b91d0d786c23751cd80fe56 100644
--- a/src/video_core/renderer_base.h
+++ b/src/video_core/renderer_base.h
@@ -4,7 +4,7 @@
 
 #pragma once
 
-#include "common/common.h"
+#include "common/common_types.h"
 
 class RendererBase : NonCopyable {
 public:
diff --git a/src/video_core/renderer_opengl/renderer_opengl.cpp b/src/video_core/renderer_opengl/renderer_opengl.cpp
index 5e864b75e313dd95e1008e0dbf8fdd69724529fd..6b242a6ed113ff3e5bea2d206ca938ac8e16c5e7 100644
--- a/src/video_core/renderer_opengl/renderer_opengl.cpp
+++ b/src/video_core/renderer_opengl/renderer_opengl.cpp
@@ -9,6 +9,7 @@
 #include "core/settings.h"
 
 #include "common/emu_window.h"
+#include "common/logging/log.h"
 #include "common/profiler_reporting.h"
 
 #include "video_core/video_core.h"
diff --git a/src/video_core/video_core.cpp b/src/video_core/video_core.cpp
index b9d4ede3ab0a29261e3ef5661a87a8216d73f817..42e3bdd5bc40a21a71734702d084044bfdaef255 100644
--- a/src/video_core/video_core.cpp
+++ b/src/video_core/video_core.cpp
@@ -2,7 +2,7 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
-#include "common/common.h"
+#include "common/logging/log.h"
 #include "common/emu_window.h"
 
 #include "core/core.h"
diff --git a/src/video_core/video_core.h b/src/video_core/video_core.h
index 1b51d39bff39608a60820f7815195cd032d0f3b9..f885bec2123a3d5b1224aceb765ea79102f4edc4 100644
--- a/src/video_core/video_core.h
+++ b/src/video_core/video_core.h
@@ -4,7 +4,6 @@
 
 #pragma once
 
-#include "common/common.h"
 #include "common/emu_window.h"
 
 #include "renderer_base.h"