Bläddra i källkod

Kernel: Reduce header dependencies of MemoryManager and Region

Andreas Kling 5 år sedan
förälder
incheckning
1d611e4a11

+ 1 - 0
Kernel/ACPI/DMIDecoder.h

@@ -26,6 +26,7 @@
 
 
 #pragma once
 #pragma once
 
 
+#include <AK/SinglyLinkedList.h>
 #include <AK/Types.h>
 #include <AK/Types.h>
 #include <AK/Vector.h>
 #include <AK/Vector.h>
 #include <Kernel/VM/Region.h>
 #include <Kernel/VM/Region.h>

+ 1 - 0
Kernel/Net/Routing.cpp

@@ -24,6 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
  */
 
 
+#include <AK/HashMap.h>
 #include <Kernel/Net/LoopbackAdapter.h>
 #include <Kernel/Net/LoopbackAdapter.h>
 #include <Kernel/Net/Routing.h>
 #include <Kernel/Net/Routing.h>
 #include <Kernel/Thread.h>
 #include <Kernel/Thread.h>

+ 1 - 0
Kernel/Process.cpp

@@ -64,6 +64,7 @@
 #include <Kernel/TTY/MasterPTY.h>
 #include <Kernel/TTY/MasterPTY.h>
 #include <Kernel/Thread.h>
 #include <Kernel/Thread.h>
 #include <Kernel/VM/InodeVMObject.h>
 #include <Kernel/VM/InodeVMObject.h>
+#include <Kernel/VM/PageDirectory.h>
 #include <Kernel/VM/PurgeableVMObject.h>
 #include <Kernel/VM/PurgeableVMObject.h>
 #include <LibBareMetal/IO.h>
 #include <LibBareMetal/IO.h>
 #include <LibBareMetal/Output/Console.h>
 #include <LibBareMetal/Output/Console.h>

+ 1 - 0
Kernel/Thread.cpp

@@ -34,6 +34,7 @@
 #include <Kernel/Scheduler.h>
 #include <Kernel/Scheduler.h>
 #include <Kernel/Thread.h>
 #include <Kernel/Thread.h>
 #include <Kernel/VM/MemoryManager.h>
 #include <Kernel/VM/MemoryManager.h>
+#include <Kernel/VM/PageDirectory.h>
 #include <LibC/signal_numbers.h>
 #include <LibC/signal_numbers.h>
 #include <LibELF/ELFLoader.h>
 #include <LibELF/ELFLoader.h>
 
 

+ 2 - 0
Kernel/VM/MemoryManager.cpp

@@ -33,6 +33,8 @@
 #include <Kernel/VM/AnonymousVMObject.h>
 #include <Kernel/VM/AnonymousVMObject.h>
 #include <Kernel/VM/InodeVMObject.h>
 #include <Kernel/VM/InodeVMObject.h>
 #include <Kernel/VM/MemoryManager.h>
 #include <Kernel/VM/MemoryManager.h>
+#include <Kernel/VM/PageDirectory.h>
+#include <Kernel/VM/PhysicalRegion.h>
 #include <Kernel/VM/PurgeableVMObject.h>
 #include <Kernel/VM/PurgeableVMObject.h>
 #include <LibBareMetal/StdLib.h>
 #include <LibBareMetal/StdLib.h>
 
 

+ 2 - 5
Kernel/VM/MemoryManager.h

@@ -31,21 +31,18 @@
 #include <AK/ByteBuffer.h>
 #include <AK/ByteBuffer.h>
 #include <AK/HashTable.h>
 #include <AK/HashTable.h>
 #include <AK/NonnullRefPtrVector.h>
 #include <AK/NonnullRefPtrVector.h>
-#include <AK/RefCounted.h>
-#include <AK/RefPtr.h>
 #include <AK/String.h>
 #include <AK/String.h>
 #include <AK/Types.h>
 #include <AK/Types.h>
-#include <AK/Vector.h>
-#include <AK/Weakable.h>
 #include <Kernel/Arch/i386/CPU.h>
 #include <Kernel/Arch/i386/CPU.h>
 #include <Kernel/FileSystem/InodeIdentifier.h>
 #include <Kernel/FileSystem/InodeIdentifier.h>
 #include <Kernel/VM/PhysicalPage.h>
 #include <Kernel/VM/PhysicalPage.h>
-#include <Kernel/VM/PhysicalRegion.h>
 #include <Kernel/VM/Region.h>
 #include <Kernel/VM/Region.h>
 #include <Kernel/VM/VMObject.h>
 #include <Kernel/VM/VMObject.h>
 
 
 namespace Kernel {
 namespace Kernel {
 
 
+class PhysicalRegion;
+
 #define PAGE_ROUND_UP(x) ((((u32)(x)) + PAGE_SIZE - 1) & (~(PAGE_SIZE - 1)))
 #define PAGE_ROUND_UP(x) ((((u32)(x)) + PAGE_SIZE - 1) & (~(PAGE_SIZE - 1)))
 
 
 template<typename T>
 template<typename T>

+ 1 - 0
Kernel/VM/Region.cpp

@@ -30,6 +30,7 @@
 #include <Kernel/VM/AnonymousVMObject.h>
 #include <Kernel/VM/AnonymousVMObject.h>
 #include <Kernel/VM/InodeVMObject.h>
 #include <Kernel/VM/InodeVMObject.h>
 #include <Kernel/VM/MemoryManager.h>
 #include <Kernel/VM/MemoryManager.h>
+#include <Kernel/VM/PageDirectory.h>
 #include <Kernel/VM/Region.h>
 #include <Kernel/VM/Region.h>
 
 
 //#define MM_DEBUG
 //#define MM_DEBUG

+ 0 - 2
Kernel/VM/Region.h

@@ -26,11 +26,9 @@
 
 
 #pragma once
 #pragma once
 
 
-#include <AK/Bitmap.h>
 #include <AK/InlineLinkedList.h>
 #include <AK/InlineLinkedList.h>
 #include <AK/String.h>
 #include <AK/String.h>
 #include <Kernel/Heap/SlabAllocator.h>
 #include <Kernel/Heap/SlabAllocator.h>
-#include <Kernel/VM/PageDirectory.h>
 #include <Kernel/VM/RangeAllocator.h>
 #include <Kernel/VM/RangeAllocator.h>
 
 
 namespace Kernel {
 namespace Kernel {