From a356e4815098e5398e103aa69865bd6c88f7ad36 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sun, 16 Feb 2020 01:27:42 +0100 Subject: [PATCH] Kernel: Move all code into the Kernel namespace --- AK/LogStream.cpp | 4 +-- Kernel/ACPI/ACPIDynamicParser.cpp | 6 +++- Kernel/ACPI/ACPIDynamicParser.h | 4 +++ Kernel/ACPI/ACPIParser.cpp | 6 +++- Kernel/ACPI/ACPIParser.h | 4 +++ Kernel/ACPI/ACPIStaticParser.cpp | 4 +++ Kernel/ACPI/ACPIStaticParser.h | 6 +++- Kernel/ACPI/DMIDecoder.cpp | 4 +++ Kernel/ACPI/DMIDecoder.h | 4 +++ Kernel/ACPI/Definitions.h | 4 +++ Kernel/Arch/i386/APIC.cpp | 4 +++ Kernel/Arch/i386/APIC.h | 4 +++ Kernel/Arch/i386/CPU.cpp | 40 ++++++++++++---------- Kernel/Arch/i386/CPU.h | 4 +++ Kernel/Arch/i386/PIC.cpp | 4 +++ Kernel/Arch/i386/PIC.h | 16 +++++---- Kernel/Arch/i386/PIT.cpp | 4 +++ Kernel/Arch/i386/PIT.h | 4 +++ Kernel/Devices/BXVGADevice.cpp | 4 +++ Kernel/Devices/BXVGADevice.h | 4 +++ Kernel/Devices/BlockDevice.cpp | 4 +++ Kernel/Devices/BlockDevice.h | 4 +++ Kernel/Devices/CharacterDevice.cpp | 4 +++ Kernel/Devices/CharacterDevice.h | 4 +++ Kernel/Devices/DebugLogDevice.cpp | 4 +++ Kernel/Devices/DebugLogDevice.h | 4 +++ Kernel/Devices/Device.cpp | 4 +++ Kernel/Devices/Device.h | 4 +++ Kernel/Devices/DiskPartition.cpp | 4 +++ Kernel/Devices/DiskPartition.h | 4 +++ Kernel/Devices/EBRPartitionTable.cpp | 4 +++ Kernel/Devices/EBRPartitionTable.h | 4 +++ Kernel/Devices/FloppyDiskDevice.cpp | 4 +++ Kernel/Devices/FloppyDiskDevice.h | 4 +++ Kernel/Devices/FullDevice.cpp | 4 +++ Kernel/Devices/FullDevice.h | 4 +++ Kernel/Devices/GPTPartitionTable.cpp | 4 +++ Kernel/Devices/GPTPartitionTable.h | 4 +++ Kernel/Devices/KeyboardDevice.cpp | 4 +++ Kernel/Devices/KeyboardDevice.h | 4 +++ Kernel/Devices/MBRPartitionTable.cpp | 4 +++ Kernel/Devices/MBRPartitionTable.h | 4 +++ Kernel/Devices/MBVGADevice.cpp | 4 +++ Kernel/Devices/MBVGADevice.h | 4 +++ Kernel/Devices/NullDevice.cpp | 4 +++ Kernel/Devices/NullDevice.h | 4 +++ Kernel/Devices/PATAChannel.cpp | 4 +++ Kernel/Devices/PATAChannel.h | 4 +++ Kernel/Devices/PATADiskDevice.cpp | 4 +++ Kernel/Devices/PATADiskDevice.h | 4 +++ Kernel/Devices/PS2MouseDevice.cpp | 4 +++ Kernel/Devices/PS2MouseDevice.h | 4 +++ Kernel/Devices/RandomDevice.cpp | 4 +++ Kernel/Devices/RandomDevice.h | 4 +++ Kernel/Devices/SB16.cpp | 4 +++ Kernel/Devices/SB16.h | 5 ++- Kernel/Devices/SerialDevice.cpp | 4 +++ Kernel/Devices/SerialDevice.h | 4 +++ Kernel/Devices/VMWareBackdoor.cpp | 4 +++ Kernel/Devices/VMWareBackdoor.h | 4 +++ Kernel/Devices/ZeroDevice.cpp | 4 +++ Kernel/Devices/ZeroDevice.h | 4 +++ Kernel/DoubleBuffer.cpp | 4 +++ Kernel/DoubleBuffer.h | 4 +++ Kernel/FileSystem/Custody.cpp | 4 +++ Kernel/FileSystem/Custody.h | 4 +++ Kernel/FileSystem/DevPtsFS.cpp | 4 +++ Kernel/FileSystem/DevPtsFS.h | 5 +++ Kernel/FileSystem/DiskBackedFileSystem.cpp | 4 +++ Kernel/FileSystem/DiskBackedFileSystem.h | 4 +++ Kernel/FileSystem/Ext2FileSystem.cpp | 6 +++- Kernel/FileSystem/Ext2FileSystem.h | 13 ++++--- Kernel/FileSystem/FIFO.cpp | 4 +++ Kernel/FileSystem/FIFO.h | 4 +++ Kernel/FileSystem/File.cpp | 4 +++ Kernel/FileSystem/File.h | 4 +++ Kernel/FileSystem/FileDescription.cpp | 5 ++- Kernel/FileSystem/FileDescription.h | 11 +++--- Kernel/FileSystem/FileSystem.cpp | 4 +++ Kernel/FileSystem/FileSystem.h | 8 +++-- Kernel/FileSystem/Inode.cpp | 4 +++ Kernel/FileSystem/Inode.h | 6 +++- Kernel/FileSystem/InodeFile.cpp | 4 +++ Kernel/FileSystem/InodeFile.h | 4 +++ Kernel/FileSystem/InodeIdentifier.h | 5 ++- Kernel/FileSystem/InodeMetadata.h | 24 +++++++------ Kernel/FileSystem/InodeWatcher.cpp | 4 +++ Kernel/FileSystem/InodeWatcher.h | 4 +++ Kernel/FileSystem/ProcFS.cpp | 6 +++- Kernel/FileSystem/ProcFS.h | 4 +++ Kernel/FileSystem/TmpFS.cpp | 4 +++ Kernel/FileSystem/TmpFS.h | 4 +++ Kernel/FileSystem/VirtualFileSystem.cpp | 5 +++ Kernel/FileSystem/VirtualFileSystem.h | 3 ++ Kernel/Heap/SlabAllocator.cpp | 4 +++ Kernel/Heap/SlabAllocator.h | 4 +++ Kernel/Heap/kmalloc.cpp | 22 ++++++------ Kernel/IRQHandler.cpp | 4 +++ Kernel/IRQHandler.h | 4 +++ Kernel/KBuffer.h | 4 +++ Kernel/KBufferBuilder.cpp | 4 +++ Kernel/KBufferBuilder.h | 4 +++ Kernel/KResult.h | 4 +++ Kernel/KSyms.cpp | 4 +++ Kernel/KSyms.h | 4 +++ Kernel/Lock.cpp | 5 +++ Kernel/Lock.h | 5 ++- Kernel/Module.h | 4 +++ Kernel/Net/ARP.h | 4 +++ Kernel/Net/E1000NetworkAdapter.cpp | 4 +++ Kernel/Net/E1000NetworkAdapter.h | 4 +++ Kernel/Net/IPv4.h | 4 +++ Kernel/Net/IPv4Socket.cpp | 4 +++ Kernel/Net/IPv4Socket.h | 4 +++ Kernel/Net/LocalSocket.cpp | 4 +++ Kernel/Net/LocalSocket.h | 4 +++ Kernel/Net/LoopbackAdapter.cpp | 4 +++ Kernel/Net/LoopbackAdapter.h | 4 +++ Kernel/Net/NetworkAdapter.cpp | 4 +++ Kernel/Net/NetworkAdapter.h | 4 +++ Kernel/Net/NetworkTask.cpp | 4 +++ Kernel/Net/NetworkTask.h | 4 +++ Kernel/Net/RTL8139NetworkAdapter.cpp | 4 +++ Kernel/Net/RTL8139NetworkAdapter.h | 4 +++ Kernel/Net/Routing.cpp | 5 ++- Kernel/Net/Routing.h | 4 +++ Kernel/Net/Socket.cpp | 4 +++ Kernel/Net/Socket.h | 4 +++ Kernel/Net/TCP.h | 4 +++ Kernel/Net/TCPSocket.cpp | 4 +++ Kernel/Net/TCPSocket.h | 4 +++ Kernel/Net/UDP.h | 4 +++ Kernel/Net/UDPSocket.cpp | 4 +++ Kernel/Net/UDPSocket.h | 4 +++ Kernel/PCI/Access.cpp | 5 +++ Kernel/PCI/Access.h | 4 +++ Kernel/PCI/Definitions.h | 5 +++ Kernel/PCI/IOAccess.cpp | 4 +++ Kernel/PCI/IOAccess.h | 10 ++++-- Kernel/PCI/Initializer.cpp | 4 +++ Kernel/PCI/Initializer.h | 4 +++ Kernel/PCI/MMIOAccess.cpp | 4 +++ Kernel/PCI/MMIOAccess.h | 7 +++- Kernel/PerformanceEventBuffer.cpp | 4 +++ Kernel/PerformanceEventBuffer.h | 13 +++++-- Kernel/Process.cpp | 4 +++ Kernel/Process.h | 5 +++ Kernel/ProcessTracer.cpp | 4 +++ Kernel/ProcessTracer.h | 4 +++ Kernel/Profiling.cpp | 5 +++ Kernel/Profiling.h | 4 +++ Kernel/Random.cpp | 6 +++- Kernel/Random.h | 3 ++ Kernel/Scheduler.cpp | 5 +++ Kernel/Scheduler.h | 6 +++- Kernel/SharedBuffer.cpp | 4 +++ Kernel/SharedBuffer.h | 6 +++- Kernel/Syscall.cpp | 4 +++ Kernel/Syscall.h | 6 ++++ Kernel/TTY/MasterPTY.cpp | 4 +++ Kernel/TTY/MasterPTY.h | 4 +++ Kernel/TTY/PTYMultiplexer.cpp | 4 +++ Kernel/TTY/PTYMultiplexer.h | 4 +++ Kernel/TTY/SlavePTY.cpp | 4 +++ Kernel/TTY/SlavePTY.h | 4 +++ Kernel/TTY/TTY.cpp | 4 +++ Kernel/TTY/TTY.h | 4 +++ Kernel/TTY/VirtualConsole.cpp | 4 +++ Kernel/TTY/VirtualConsole.h | 4 +++ Kernel/Thread.cpp | 5 +++ Kernel/Thread.h | 9 ++++- Kernel/TimerQueue.cpp | 4 +++ Kernel/TimerQueue.h | 4 +++ Kernel/VM/AnonymousVMObject.cpp | 4 +++ Kernel/VM/AnonymousVMObject.h | 4 +++ Kernel/VM/InodeVMObject.cpp | 4 +++ Kernel/VM/InodeVMObject.h | 5 +++ Kernel/VM/MemoryManager.cpp | 11 ++++-- Kernel/VM/MemoryManager.h | 12 +++++-- Kernel/VM/PageDirectory.cpp | 4 +++ Kernel/VM/PageDirectory.h | 4 +++ Kernel/VM/PhysicalPage.cpp | 4 +++ Kernel/VM/PhysicalPage.h | 4 +++ Kernel/VM/PhysicalRegion.cpp | 4 +++ Kernel/VM/PhysicalRegion.h | 6 +++- Kernel/VM/PurgeableVMObject.cpp | 4 +++ Kernel/VM/PurgeableVMObject.h | 4 +++ Kernel/VM/RangeAllocator.cpp | 4 +++ Kernel/VM/RangeAllocator.h | 7 +++- Kernel/VM/Region.cpp | 4 +++ Kernel/VM/Region.h | 4 +++ Kernel/VM/VMObject.cpp | 4 +++ Kernel/VM/VMObject.h | 4 +++ Kernel/WaitQueue.cpp | 4 +++ Kernel/WaitQueue.h | 4 +++ Kernel/init.cpp | 20 ++++++----- Libraries/LibBareMetal/Output/Console.cpp | 6 ++-- Libraries/LibBareMetal/Output/Console.h | 10 +++--- Libraries/LibBareMetal/StdLib.cpp | 14 ++++---- Libraries/LibELF/ELFLoader.cpp | 2 +- Libraries/LibELF/ELFLoader.h | 4 ++- 201 files changed, 907 insertions(+), 111 deletions(-) diff --git a/AK/LogStream.cpp b/AK/LogStream.cpp index c6702fea6c..7d07f17117 100644 --- a/AK/LogStream.cpp +++ b/AK/LogStream.cpp @@ -101,8 +101,8 @@ DebugLogStream dbg() stream << "\033[33;1m" << process_name_buffer << '(' << getpid() << ")\033[0m: "; #endif #if defined(__serenity__) && defined(KERNEL) && !defined(BOOTSTRAPPER) - if (current) - stream << "\033[34;1m[" << *current << "]\033[0m: "; + if (Kernel::current) + stream << "\033[34;1m[" << *Kernel::current << "]\033[0m: "; else stream << "\033[36;1m[Kernel]\033[0m: "; #endif diff --git a/Kernel/ACPI/ACPIDynamicParser.cpp b/Kernel/ACPI/ACPIDynamicParser.cpp index 52084e7e94..d69d521c73 100644 --- a/Kernel/ACPI/ACPIDynamicParser.cpp +++ b/Kernel/ACPI/ACPIDynamicParser.cpp @@ -27,6 +27,8 @@ #include #include +namespace Kernel { + void ACPIDynamicParser::initialize(ACPI_RAW::RSDPDescriptor20& rsdp) { if (!ACPIStaticParser::is_initialized()) { @@ -90,4 +92,6 @@ void ACPIDynamicParser::build_namespace() { // FIXME: Implement AML Interpretation to build the ACPI namespace ASSERT_NOT_REACHED(); -} \ No newline at end of file +} + +} diff --git a/Kernel/ACPI/ACPIDynamicParser.h b/Kernel/ACPI/ACPIDynamicParser.h index 025bf7aa19..d5a5344e55 100644 --- a/Kernel/ACPI/ACPIDynamicParser.h +++ b/Kernel/ACPI/ACPIDynamicParser.h @@ -33,6 +33,8 @@ #include #include +namespace Kernel { + class ACPIDynamicParser final : public IRQHandler , ACPIStaticParser { public: @@ -56,3 +58,5 @@ private: OwnPtr m_acpi_namespace; }; + +} diff --git a/Kernel/ACPI/ACPIParser.cpp b/Kernel/ACPI/ACPIParser.cpp index ca30db46c2..ab8a3bddf4 100644 --- a/Kernel/ACPI/ACPIParser.cpp +++ b/Kernel/ACPI/ACPIParser.cpp @@ -26,6 +26,8 @@ #include +namespace Kernel { + static ACPIParser* s_acpi_parser; ACPIParser& ACPIParser::the() @@ -97,4 +99,6 @@ void ACPIParser::disable_aml_interpretation() bool ACPIParser::is_operable() { return false; -} \ No newline at end of file +} + +} diff --git a/Kernel/ACPI/ACPIParser.h b/Kernel/ACPI/ACPIParser.h index 1105616b23..065c11bfc0 100644 --- a/Kernel/ACPI/ACPIParser.h +++ b/Kernel/ACPI/ACPIParser.h @@ -33,6 +33,8 @@ #include #include +namespace Kernel { + class ACPIParser { public: static ACPIParser& the(); @@ -54,3 +56,5 @@ protected: explicit ACPIParser(bool usable); bool m_operable; }; + +} diff --git a/Kernel/ACPI/ACPIStaticParser.cpp b/Kernel/ACPI/ACPIStaticParser.cpp index de88f69a5c..08ee053c58 100644 --- a/Kernel/ACPI/ACPIStaticParser.cpp +++ b/Kernel/ACPI/ACPIStaticParser.cpp @@ -31,6 +31,8 @@ //#define ACPI_DEBUG +namespace Kernel { + void ACPIStaticParser::initialize(ACPI_RAW::RSDPDescriptor20& rsdp) { if (!ACPIParser::is_initialized()) { @@ -413,3 +415,5 @@ ACPI_RAW::SDTHeader* ACPI::FixedACPIData::get_dsdt() return (ACPI_RAW::SDTHeader*)m_dsdt_ptr; } } + +} diff --git a/Kernel/ACPI/ACPIStaticParser.h b/Kernel/ACPI/ACPIStaticParser.h index 6079c2bf7f..1277e05a9e 100644 --- a/Kernel/ACPI/ACPIStaticParser.h +++ b/Kernel/ACPI/ACPIStaticParser.h @@ -29,6 +29,8 @@ #include #include +namespace Kernel { + class ACPIStaticParser : ACPIParser { public: static void initialize(ACPI_RAW::RSDPDescriptor20& rsdp); @@ -65,4 +67,6 @@ private: Vector m_aml_tables_ptrs; bool m_xsdt_supported; -}; \ No newline at end of file +}; + +} diff --git a/Kernel/ACPI/DMIDecoder.cpp b/Kernel/ACPI/DMIDecoder.cpp index a73f694116..efc83170ca 100644 --- a/Kernel/ACPI/DMIDecoder.cpp +++ b/Kernel/ACPI/DMIDecoder.cpp @@ -28,6 +28,8 @@ #include #include +namespace Kernel { + static DMIDecoder* s_dmi_decoder; //#define SMBIOS_DEBUG @@ -274,3 +276,5 @@ char* DMIDecoder::get_smbios_string(SMBIOS::TableHeader&, u8) ASSERT_NOT_REACHED(); return nullptr; } + +} diff --git a/Kernel/ACPI/DMIDecoder.h b/Kernel/ACPI/DMIDecoder.h index 413c48b894..081bbad2e1 100644 --- a/Kernel/ACPI/DMIDecoder.h +++ b/Kernel/ACPI/DMIDecoder.h @@ -32,6 +32,8 @@ #include #include +namespace Kernel { + namespace SMBIOS { struct [[gnu::packed]] LegacyEntryPoint32bit { @@ -1418,3 +1420,5 @@ private: SinglyLinkedList m_smbios_tables; }; + +} diff --git a/Kernel/ACPI/Definitions.h b/Kernel/ACPI/Definitions.h index 9fadb6e3d4..ed1c3a3626 100644 --- a/Kernel/ACPI/Definitions.h +++ b/Kernel/ACPI/Definitions.h @@ -30,6 +30,8 @@ #include #include +namespace Kernel { + namespace ACPI_RAW { struct [[gnu::packed]] RSDPDescriptor @@ -309,3 +311,5 @@ private: class MADT : public SDT { }; } + +} diff --git a/Kernel/Arch/i386/APIC.cpp b/Kernel/Arch/i386/APIC.cpp index 1990f1272e..414763c6e9 100644 --- a/Kernel/Arch/i386/APIC.cpp +++ b/Kernel/Arch/i386/APIC.cpp @@ -47,6 +47,8 @@ #define APIC_REG_LVT_LINT1 0x360 #define APIC_REG_LVT_ERR 0x370 +namespace Kernel { + extern "C" void apic_spurious_interrupt_entry(); asm( @@ -214,3 +216,5 @@ void enable(u32 cpu) } } + +} diff --git a/Kernel/Arch/i386/APIC.h b/Kernel/Arch/i386/APIC.h index 626d6080a3..271c6445bf 100644 --- a/Kernel/Arch/i386/APIC.h +++ b/Kernel/Arch/i386/APIC.h @@ -28,9 +28,13 @@ #include +namespace Kernel { + namespace APIC { bool init(); void enable(u32 cpu); } + +} diff --git a/Kernel/Arch/i386/CPU.cpp b/Kernel/Arch/i386/CPU.cpp index 8f8daf18d3..525d009ba5 100644 --- a/Kernel/Arch/i386/CPU.cpp +++ b/Kernel/Arch/i386/CPU.cpp @@ -37,6 +37,8 @@ //#define PAGE_FAULT_DEBUG +namespace Kernel { + struct [[gnu::packed]] DescriptorTablePointer { u16 limit; @@ -553,24 +555,6 @@ void handle_irq(RegisterState regs) PIC::eoi(irq); } -#ifdef DEBUG -void __assertion_failed(const char* msg, const char* file, unsigned line, const char* func) -{ - asm volatile("cli"); - kprintf("ASSERTION FAILED: %s\n%s:%u in %s\n", msg, file, line, func); - - // Switch back to the current process's page tables if there are any. - // Otherwise stack walking will be a disaster. - if (current) - MM.enter_process_paging_scope(current->process()); - - dump_backtrace(); - asm volatile("hlt"); - for (;;) - ; -} -#endif - void sse_init() { asm volatile( @@ -725,3 +709,23 @@ void write_cr3(u32 cr3) asm volatile("movl %%eax, %%cr3" ::"a"(cr3) : "memory"); } + +} + +#ifdef DEBUG +void __assertion_failed(const char* msg, const char* file, unsigned line, const char* func) +{ + asm volatile("cli"); + kprintf("ASSERTION FAILED: %s\n%s:%u in %s\n", msg, file, line, func); + + // Switch back to the current process's page tables if there are any. + // Otherwise stack walking will be a disaster. + if (Kernel::current) + MM.enter_process_paging_scope(Kernel::current->process()); + + Kernel::dump_backtrace(); + asm volatile("hlt"); + for (;;) + ; +} +#endif diff --git a/Kernel/Arch/i386/CPU.h b/Kernel/Arch/i386/CPU.h index 9f81397945..25937ffef2 100644 --- a/Kernel/Arch/i386/CPU.h +++ b/Kernel/Arch/i386/CPU.h @@ -34,6 +34,8 @@ #define PAGE_SIZE 4096 #define PAGE_MASK ((uintptr_t)0xfffff000u) +namespace Kernel { + class MemoryManager; class PageDirectory; class PageTableEntry; @@ -589,3 +591,5 @@ public: private: u32 m_flags; }; + +} diff --git a/Kernel/Arch/i386/PIC.cpp b/Kernel/Arch/i386/PIC.cpp index abffcbc484..6d4d7a713a 100644 --- a/Kernel/Arch/i386/PIC.cpp +++ b/Kernel/Arch/i386/PIC.cpp @@ -30,6 +30,8 @@ #include #include +namespace Kernel { + // The slave 8259 is connected to the master's IRQ2 line. // This is really only to enhance clarity. #define SLAVE_INDEX 2 @@ -137,3 +139,5 @@ u16 get_irr() } } + +} diff --git a/Kernel/Arch/i386/PIC.h b/Kernel/Arch/i386/PIC.h index ecac1c3101..b6f013972c 100644 --- a/Kernel/Arch/i386/PIC.h +++ b/Kernel/Arch/i386/PIC.h @@ -28,14 +28,16 @@ #include +namespace Kernel { + namespace PIC { -void enable(u8 number); -void disable(u8 number); -void eoi(u8 number); -void initialize(); -u16 get_isr(); -u16 get_irr(); + void enable(u8 number); + void disable(u8 number); + void eoi(u8 number); + void initialize(); + u16 get_isr(); + u16 get_irr(); } @@ -50,3 +52,5 @@ public: private: u8 m_irq { 0 }; }; + +} diff --git a/Kernel/Arch/i386/PIT.cpp b/Kernel/Arch/i386/PIT.cpp index 162abef7eb..fac215a126 100644 --- a/Kernel/Arch/i386/PIT.cpp +++ b/Kernel/Arch/i386/PIT.cpp @@ -30,6 +30,8 @@ #include #include +namespace Kernel { + #define IRQ_TIMER 0 extern "C" void timer_interrupt_entry(); @@ -105,3 +107,5 @@ void initialize() } } + +} diff --git a/Kernel/Arch/i386/PIT.h b/Kernel/Arch/i386/PIT.h index 5460cdd482..b2fed1b3ac 100644 --- a/Kernel/Arch/i386/PIT.h +++ b/Kernel/Arch/i386/PIT.h @@ -28,6 +28,8 @@ #include +namespace Kernel { + #define TICKS_PER_SECOND 1000 /* Timer related ports */ #define TIMER0_CTL 0x40 @@ -56,3 +58,5 @@ u32 ticks_this_second(); u32 seconds_since_boot(); } + +} diff --git a/Kernel/Devices/BXVGADevice.cpp b/Kernel/Devices/BXVGADevice.cpp index 1503c0d57b..c24ad66244 100644 --- a/Kernel/Devices/BXVGADevice.cpp +++ b/Kernel/Devices/BXVGADevice.cpp @@ -33,6 +33,8 @@ #include #include +namespace Kernel { + #define MAX_RESOLUTION_WIDTH 4096 #define MAX_RESOLUTION_HEIGHT 2160 @@ -182,3 +184,5 @@ int BXVGADevice::ioctl(FileDescription&, unsigned request, unsigned arg) return -EINVAL; }; } + +} diff --git a/Kernel/Devices/BXVGADevice.h b/Kernel/Devices/BXVGADevice.h index a8a768f338..8500aa1434 100644 --- a/Kernel/Devices/BXVGADevice.h +++ b/Kernel/Devices/BXVGADevice.h @@ -31,6 +31,8 @@ #include #include +namespace Kernel { + class BXVGADevice final : public BlockDevice { AK_MAKE_ETERNAL public: @@ -62,3 +64,5 @@ private: int m_framebuffer_height { 0 }; int m_y_offset { 0 }; }; + +} diff --git a/Kernel/Devices/BlockDevice.cpp b/Kernel/Devices/BlockDevice.cpp index 2ad857240b..2120db0edc 100644 --- a/Kernel/Devices/BlockDevice.cpp +++ b/Kernel/Devices/BlockDevice.cpp @@ -26,6 +26,8 @@ #include +namespace Kernel { + BlockDevice::~BlockDevice() { } @@ -59,3 +61,5 @@ bool BlockDevice::write_raw(u32 offset, unsigned length, const u8* in) ASSERT(end_block <= 0xffffffff); return write_blocks(first_block, end_block - first_block, in); } + +} diff --git a/Kernel/Devices/BlockDevice.h b/Kernel/Devices/BlockDevice.h index 6b639cbc63..042a2cfce1 100644 --- a/Kernel/Devices/BlockDevice.h +++ b/Kernel/Devices/BlockDevice.h @@ -28,6 +28,8 @@ #include +namespace Kernel { + class BlockDevice : public Device { public: virtual ~BlockDevice() override; @@ -55,3 +57,5 @@ private: size_t m_block_size { 0 }; }; + +} diff --git a/Kernel/Devices/CharacterDevice.cpp b/Kernel/Devices/CharacterDevice.cpp index 2a9583fa55..4cdd4d23ed 100644 --- a/Kernel/Devices/CharacterDevice.cpp +++ b/Kernel/Devices/CharacterDevice.cpp @@ -26,6 +26,10 @@ #include +namespace Kernel { + CharacterDevice::~CharacterDevice() { } + +} diff --git a/Kernel/Devices/CharacterDevice.h b/Kernel/Devices/CharacterDevice.h index 6d52eed55e..1668c49c8e 100644 --- a/Kernel/Devices/CharacterDevice.h +++ b/Kernel/Devices/CharacterDevice.h @@ -28,6 +28,8 @@ #include +namespace Kernel { + class CharacterDevice : public Device { public: virtual ~CharacterDevice() override; @@ -41,3 +43,5 @@ protected: private: virtual bool is_character_device() const final { return true; } }; + +} diff --git a/Kernel/Devices/DebugLogDevice.cpp b/Kernel/Devices/DebugLogDevice.cpp index 41646a59b7..49406582a5 100644 --- a/Kernel/Devices/DebugLogDevice.cpp +++ b/Kernel/Devices/DebugLogDevice.cpp @@ -27,6 +27,8 @@ #include #include +namespace Kernel { + static DebugLogDevice* s_the; DebugLogDevice& DebugLogDevice::the() @@ -51,3 +53,5 @@ ssize_t DebugLogDevice::write(FileDescription&, const u8* data, ssize_t data_siz IO::out8(0xe9, data[i]); return data_size; } + +} diff --git a/Kernel/Devices/DebugLogDevice.h b/Kernel/Devices/DebugLogDevice.h index 83efbced8f..0dceb0aad6 100644 --- a/Kernel/Devices/DebugLogDevice.h +++ b/Kernel/Devices/DebugLogDevice.h @@ -26,6 +26,8 @@ #include +namespace Kernel { + class DebugLogDevice final : public CharacterDevice { public: DebugLogDevice(); @@ -41,3 +43,5 @@ private: virtual bool can_read(const FileDescription&) const override { return true; } virtual const char* class_name() const override { return "DebugLogDevice"; } }; + +} diff --git a/Kernel/Devices/Device.cpp b/Kernel/Devices/Device.cpp index 833e9da0f3..e0a49a8631 100644 --- a/Kernel/Devices/Device.cpp +++ b/Kernel/Devices/Device.cpp @@ -28,6 +28,8 @@ #include #include +namespace Kernel { + static HashMap* s_all_devices; HashMap& Device::all_devices() @@ -78,3 +80,5 @@ String Device::absolute_path(const FileDescription&) const { return absolute_path(); } + +} diff --git a/Kernel/Devices/Device.h b/Kernel/Devices/Device.h index 2ddd7720c8..669a855893 100644 --- a/Kernel/Devices/Device.h +++ b/Kernel/Devices/Device.h @@ -39,6 +39,8 @@ #include #include +namespace Kernel { + class Device : public File { public: virtual ~Device() override; @@ -71,3 +73,5 @@ private: uid_t m_uid { 0 }; gid_t m_gid { 0 }; }; + +} diff --git a/Kernel/Devices/DiskPartition.cpp b/Kernel/Devices/DiskPartition.cpp index a763b062ba..bf0d6e4318 100644 --- a/Kernel/Devices/DiskPartition.cpp +++ b/Kernel/Devices/DiskPartition.cpp @@ -28,6 +28,8 @@ // #define OFFD_DEBUG +namespace Kernel { + NonnullRefPtr DiskPartition::create(BlockDevice& device, unsigned block_offset, unsigned block_limit) { return adopt(*new DiskPartition(device, block_offset, block_limit)); @@ -67,3 +69,5 @@ const char* DiskPartition::class_name() const { return "DiskPartition"; } + +} diff --git a/Kernel/Devices/DiskPartition.h b/Kernel/Devices/DiskPartition.h index f7258d07e0..7f910e957f 100644 --- a/Kernel/Devices/DiskPartition.h +++ b/Kernel/Devices/DiskPartition.h @@ -29,6 +29,8 @@ #include #include +namespace Kernel { + class DiskPartition final : public BlockDevice { public: static NonnullRefPtr create(BlockDevice&, unsigned block_offset, unsigned block_limit); @@ -52,3 +54,5 @@ private: unsigned m_block_offset; unsigned m_block_limit; }; + +} diff --git a/Kernel/Devices/EBRPartitionTable.cpp b/Kernel/Devices/EBRPartitionTable.cpp index 23f3bb9b05..fa672f222d 100644 --- a/Kernel/Devices/EBRPartitionTable.cpp +++ b/Kernel/Devices/EBRPartitionTable.cpp @@ -29,6 +29,8 @@ #define EBR_DEBUG +namespace Kernel { + EBRPartitionTable::EBRPartitionTable(NonnullRefPtr device) : m_device(move(device)) { @@ -194,3 +196,5 @@ RefPtr EBRPartitionTable::partition(unsigned index) return get_non_extended_partition(index - m_ebr_chained_extensions_count); return get_non_extended_partition(index); } + +} diff --git a/Kernel/Devices/EBRPartitionTable.h b/Kernel/Devices/EBRPartitionTable.h index 564c8c9e9c..003048d716 100644 --- a/Kernel/Devices/EBRPartitionTable.h +++ b/Kernel/Devices/EBRPartitionTable.h @@ -31,6 +31,8 @@ #include #include +namespace Kernel { + struct [[gnu::packed]] EBRPartitionExtension { u8 unused_area[446]; @@ -65,3 +67,5 @@ private: u8 m_cached_mbr_header[512]; u8 m_cached_ebr_header[512]; }; + +} diff --git a/Kernel/Devices/FloppyDiskDevice.cpp b/Kernel/Devices/FloppyDiskDevice.cpp index ca8ab87d41..5d7902160f 100644 --- a/Kernel/Devices/FloppyDiskDevice.cpp +++ b/Kernel/Devices/FloppyDiskDevice.cpp @@ -31,6 +31,8 @@ #include #include +namespace Kernel { + // Uncomment me for a LOT of output //#define FLOPPY_DEBUG @@ -561,3 +563,5 @@ void FloppyDiskDevice::initialize() kprintf("fdc: fd%d initialised succesfully!\n", is_slave() ? 1 : 0); #endif } + +} diff --git a/Kernel/Devices/FloppyDiskDevice.h b/Kernel/Devices/FloppyDiskDevice.h index 9ef8e9083a..578a4f0a0e 100644 --- a/Kernel/Devices/FloppyDiskDevice.h +++ b/Kernel/Devices/FloppyDiskDevice.h @@ -104,6 +104,8 @@ #include #include +namespace Kernel { + struct FloppyControllerCommand { u8 cmd; // Command to send to the controller u8 numParams; // Number of parameters to send to the drive @@ -216,3 +218,5 @@ private: u8 m_controller_version { 0 }; }; + +} diff --git a/Kernel/Devices/FullDevice.cpp b/Kernel/Devices/FullDevice.cpp index 7cd1be851b..8ce100bc46 100644 --- a/Kernel/Devices/FullDevice.cpp +++ b/Kernel/Devices/FullDevice.cpp @@ -28,6 +28,8 @@ #include #include +namespace Kernel { + FullDevice::FullDevice() : CharacterDevice(1, 7) { @@ -55,3 +57,5 @@ ssize_t FullDevice::write(FileDescription&, const u8*, ssize_t size) return 0; return -ENOSPC; } + +} diff --git a/Kernel/Devices/FullDevice.h b/Kernel/Devices/FullDevice.h index 11be71f8af..d82aac220b 100644 --- a/Kernel/Devices/FullDevice.h +++ b/Kernel/Devices/FullDevice.h @@ -28,6 +28,8 @@ #include "CharacterDevice.h" +namespace Kernel { + class FullDevice final : public CharacterDevice { AK_MAKE_ETERNAL public: @@ -42,3 +44,5 @@ private: virtual bool can_write(const FileDescription&) const override { return true; } virtual const char* class_name() const override { return "FullDevice"; } }; + +} diff --git a/Kernel/Devices/GPTPartitionTable.cpp b/Kernel/Devices/GPTPartitionTable.cpp index 925d510052..12a2698240 100644 --- a/Kernel/Devices/GPTPartitionTable.cpp +++ b/Kernel/Devices/GPTPartitionTable.cpp @@ -29,6 +29,8 @@ #define GPT_DEBUG +namespace Kernel { + GPTPartitionTable::GPTPartitionTable(BlockDevice& device) : m_device(move(device)) { @@ -99,3 +101,5 @@ RefPtr GPTPartitionTable::partition(unsigned index) #endif return DiskPartition::create(m_device, entry.first_lba[0], entry.last_lba[0]); } + +} diff --git a/Kernel/Devices/GPTPartitionTable.h b/Kernel/Devices/GPTPartitionTable.h index 5a86fc00d5..5ec974cf7f 100644 --- a/Kernel/Devices/GPTPartitionTable.h +++ b/Kernel/Devices/GPTPartitionTable.h @@ -31,6 +31,8 @@ #include #include +namespace Kernel { + #define GPT_SIGNATURE2 0x54524150 #define GPT_SIGNATURE 0x20494645 #define BytesPerSector 512 @@ -85,3 +87,5 @@ private: u8 m_cached_header[512]; }; + +} diff --git a/Kernel/Devices/KeyboardDevice.cpp b/Kernel/Devices/KeyboardDevice.cpp index 092aba10dc..2c7bb907a7 100644 --- a/Kernel/Devices/KeyboardDevice.cpp +++ b/Kernel/Devices/KeyboardDevice.cpp @@ -34,6 +34,8 @@ //#define KEYBOARD_DEBUG +namespace Kernel { + #define IRQ_KEYBOARD 1 #define I8042_BUFFER 0x60 #define I8042_STATUS 0x64 @@ -619,3 +621,5 @@ void KeyboardDevice::set_maps(const char* n_map, const char* n_shift_map, const altgr_map[i] = n_altgr_map[i]; } } + +} diff --git a/Kernel/Devices/KeyboardDevice.h b/Kernel/Devices/KeyboardDevice.h index a2c9b4e3a3..f25b47cf5d 100644 --- a/Kernel/Devices/KeyboardDevice.h +++ b/Kernel/Devices/KeyboardDevice.h @@ -33,6 +33,8 @@ #include #include +namespace Kernel { + class KeyboardClient; class KeyboardDevice final : public IRQHandler @@ -84,3 +86,5 @@ public: virtual ~KeyboardClient(); virtual void on_key_pressed(KeyboardDevice::Event) = 0; }; + +} diff --git a/Kernel/Devices/MBRPartitionTable.cpp b/Kernel/Devices/MBRPartitionTable.cpp index 4f3b865eba..ea8e1e6231 100644 --- a/Kernel/Devices/MBRPartitionTable.cpp +++ b/Kernel/Devices/MBRPartitionTable.cpp @@ -29,6 +29,8 @@ #define MBR_DEBUG +namespace Kernel { + MBRPartitionTable::MBRPartitionTable(NonnullRefPtr device) : m_device(move(device)) { @@ -107,3 +109,5 @@ RefPtr MBRPartitionTable::partition(unsigned index) return DiskPartition::create(m_device, entry.offset, (entry.offset + entry.length)); } + +} diff --git a/Kernel/Devices/MBRPartitionTable.h b/Kernel/Devices/MBRPartitionTable.h index a4c2419cc7..0ae4be46fd 100644 --- a/Kernel/Devices/MBRPartitionTable.h +++ b/Kernel/Devices/MBRPartitionTable.h @@ -30,6 +30,8 @@ #include #include +namespace Kernel { + #define MBR_SIGNATURE 0xaa55 #define MBR_PROTECTIVE 0xEE #define EBR_CHS_CONTAINER 0x05 @@ -76,3 +78,5 @@ private: u8 m_cached_header[512]; }; + +} diff --git a/Kernel/Devices/MBVGADevice.cpp b/Kernel/Devices/MBVGADevice.cpp index 6ec0d1aa87..e2def785ab 100644 --- a/Kernel/Devices/MBVGADevice.cpp +++ b/Kernel/Devices/MBVGADevice.cpp @@ -31,6 +31,8 @@ #include #include +namespace Kernel { + static MBVGADevice* s_the; MBVGADevice& MBVGADevice::the() @@ -109,3 +111,5 @@ int MBVGADevice::ioctl(FileDescription&, unsigned request, unsigned arg) return -EINVAL; }; } + +} diff --git a/Kernel/Devices/MBVGADevice.h b/Kernel/Devices/MBVGADevice.h index 3c12ac4a38..c145a81c8b 100644 --- a/Kernel/Devices/MBVGADevice.h +++ b/Kernel/Devices/MBVGADevice.h @@ -31,6 +31,8 @@ #include #include +namespace Kernel { + class MBVGADevice final : public BlockDevice { AK_MAKE_ETERNAL public: @@ -57,3 +59,5 @@ private: int m_framebuffer_width { 0 }; int m_framebuffer_height { 0 }; }; + +} diff --git a/Kernel/Devices/NullDevice.cpp b/Kernel/Devices/NullDevice.cpp index 910a438526..afabb3141d 100644 --- a/Kernel/Devices/NullDevice.cpp +++ b/Kernel/Devices/NullDevice.cpp @@ -27,6 +27,8 @@ #include "NullDevice.h" #include +namespace Kernel { + static NullDevice* s_the; NullDevice& NullDevice::the() @@ -59,3 +61,5 @@ ssize_t NullDevice::write(FileDescription&, const u8*, ssize_t buffer_size) { return min(PAGE_SIZE, buffer_size); } + +} diff --git a/Kernel/Devices/NullDevice.h b/Kernel/Devices/NullDevice.h index 0acbac2c5f..bcfaafae3d 100644 --- a/Kernel/Devices/NullDevice.h +++ b/Kernel/Devices/NullDevice.h @@ -28,6 +28,8 @@ #include "CharacterDevice.h" +namespace Kernel { + class NullDevice final : public CharacterDevice { AK_MAKE_ETERNAL public: @@ -44,3 +46,5 @@ private: virtual bool can_read(const FileDescription&) const override; virtual const char* class_name() const override { return "NullDevice"; } }; + +} diff --git a/Kernel/Devices/PATAChannel.cpp b/Kernel/Devices/PATAChannel.cpp index 7808fb8fca..7632689c47 100644 --- a/Kernel/Devices/PATAChannel.cpp +++ b/Kernel/Devices/PATAChannel.cpp @@ -32,6 +32,8 @@ #include #include +namespace Kernel { + #define PATA_PRIMARY_IRQ 14 #define PATA_SECONDARY_IRQ 15 @@ -533,3 +535,5 @@ bool PATAChannel::ata_write_sectors(u32 start_sector, u16 count, const u8* inbuf return !m_device_error; } + +} diff --git a/Kernel/Devices/PATAChannel.h b/Kernel/Devices/PATAChannel.h index 05ef114ce5..02da8e6bf6 100644 --- a/Kernel/Devices/PATAChannel.h +++ b/Kernel/Devices/PATAChannel.h @@ -45,6 +45,8 @@ #include #include +namespace Kernel { + struct PhysicalRegionDescriptor { PhysicalAddress offset; u16 size { 0 }; @@ -100,3 +102,5 @@ private: RefPtr m_master; RefPtr m_slave; }; + +} diff --git a/Kernel/Devices/PATADiskDevice.cpp b/Kernel/Devices/PATADiskDevice.cpp index 600302a6c0..b0c5c836d2 100644 --- a/Kernel/Devices/PATADiskDevice.cpp +++ b/Kernel/Devices/PATADiskDevice.cpp @@ -30,6 +30,8 @@ #include #include +namespace Kernel { + NonnullRefPtr PATADiskDevice::create(PATAChannel& channel, DriveType type, int major, int minor) { return adopt(*new PATADiskDevice(channel, type, major, minor)); @@ -187,3 +189,5 @@ bool PATADiskDevice::is_slave() const { return m_drive_type == DriveType::Slave; } + +} diff --git a/Kernel/Devices/PATADiskDevice.h b/Kernel/Devices/PATADiskDevice.h index 997e647f6b..d145af0423 100644 --- a/Kernel/Devices/PATADiskDevice.h +++ b/Kernel/Devices/PATADiskDevice.h @@ -34,6 +34,8 @@ #include #include +namespace Kernel { + class PATAChannel; class PATADiskDevice final : public BlockDevice { @@ -86,3 +88,5 @@ private: PATAChannel& m_channel; }; + +} diff --git a/Kernel/Devices/PS2MouseDevice.cpp b/Kernel/Devices/PS2MouseDevice.cpp index 3a4a005dbd..71a6274cd2 100644 --- a/Kernel/Devices/PS2MouseDevice.cpp +++ b/Kernel/Devices/PS2MouseDevice.cpp @@ -28,6 +28,8 @@ #include #include +namespace Kernel { + #define IRQ_MOUSE 12 #define I8042_BUFFER 0x60 #define I8042_STATUS 0x64 @@ -383,3 +385,5 @@ ssize_t PS2MouseDevice::write(FileDescription&, const u8*, ssize_t) { return 0; } + +} diff --git a/Kernel/Devices/PS2MouseDevice.h b/Kernel/Devices/PS2MouseDevice.h index 6351c0adca..22ad37dba6 100644 --- a/Kernel/Devices/PS2MouseDevice.h +++ b/Kernel/Devices/PS2MouseDevice.h @@ -31,6 +31,8 @@ #include #include +namespace Kernel { + class PS2MouseDevice final : public IRQHandler , public CharacterDevice { public: @@ -71,3 +73,5 @@ private: u8 m_data[4]; bool m_has_wheel { false }; }; + +} diff --git a/Kernel/Devices/RandomDevice.cpp b/Kernel/Devices/RandomDevice.cpp index 1a23eff961..14af97c9af 100644 --- a/Kernel/Devices/RandomDevice.cpp +++ b/Kernel/Devices/RandomDevice.cpp @@ -27,6 +27,8 @@ #include #include +namespace Kernel { + RandomDevice::RandomDevice() : CharacterDevice(1, 8) { @@ -52,3 +54,5 @@ ssize_t RandomDevice::write(FileDescription&, const u8*, ssize_t size) // FIXME: Use input for entropy? I guess that could be a neat feature? return min(PAGE_SIZE, size); } + +} diff --git a/Kernel/Devices/RandomDevice.h b/Kernel/Devices/RandomDevice.h index f6d95e5c08..b571e62358 100644 --- a/Kernel/Devices/RandomDevice.h +++ b/Kernel/Devices/RandomDevice.h @@ -28,6 +28,8 @@ #include "CharacterDevice.h" +namespace Kernel { + class RandomDevice final : public CharacterDevice { AK_MAKE_ETERNAL public: @@ -42,3 +44,5 @@ private: virtual bool can_write(const FileDescription&) const override { return true; } virtual const char* class_name() const override { return "RandomDevice"; } }; + +} diff --git a/Kernel/Devices/SB16.cpp b/Kernel/Devices/SB16.cpp index 7e12691217..cfcdd9487f 100644 --- a/Kernel/Devices/SB16.cpp +++ b/Kernel/Devices/SB16.cpp @@ -32,6 +32,8 @@ //#define SB16_DEBUG +namespace Kernel { + enum class SampleFormat : u8 { Signed = 0x10, Stereo = 0x20, @@ -215,3 +217,5 @@ ssize_t SB16::write(FileDescription&, const u8* data, ssize_t length) wait_for_irq(); return length; } + +} diff --git a/Kernel/Devices/SB16.h b/Kernel/Devices/SB16.h index 8f30b07587..7d794a8c35 100644 --- a/Kernel/Devices/SB16.h +++ b/Kernel/Devices/SB16.h @@ -26,13 +26,14 @@ #pragma once -#include #include #include #include #include #include +namespace Kernel { + class SB16; class SB16 final : public IRQHandler @@ -68,3 +69,5 @@ private: WaitQueue m_irq_queue; }; + +} diff --git a/Kernel/Devices/SerialDevice.cpp b/Kernel/Devices/SerialDevice.cpp index c84d4ded06..cf923499be 100644 --- a/Kernel/Devices/SerialDevice.cpp +++ b/Kernel/Devices/SerialDevice.cpp @@ -27,6 +27,8 @@ #include #include +namespace Kernel { + SerialDevice::SerialDevice(int base_addr, unsigned minor) : CharacterDevice(4, minor) , m_base_addr(base_addr) @@ -134,3 +136,5 @@ char SerialDevice::get_line_status() const { return IO::in8(m_base_addr + 5); } + +} diff --git a/Kernel/Devices/SerialDevice.h b/Kernel/Devices/SerialDevice.h index 3c31cd81a2..51ab72f06b 100644 --- a/Kernel/Devices/SerialDevice.h +++ b/Kernel/Devices/SerialDevice.h @@ -26,6 +26,8 @@ #include +namespace Kernel { + #define SERIAL_COM1_ADDR 0x3F8 #define SERIAL_COM2_ADDR 0x2F8 #define SERIAL_COM3_ADDR 0x3E8 @@ -144,3 +146,5 @@ private: bool m_break_enable; char m_modem_control; }; + +} diff --git a/Kernel/Devices/VMWareBackdoor.cpp b/Kernel/Devices/VMWareBackdoor.cpp index 3467ac0a36..f22336ee03 100644 --- a/Kernel/Devices/VMWareBackdoor.cpp +++ b/Kernel/Devices/VMWareBackdoor.cpp @@ -30,6 +30,8 @@ #include #include +namespace Kernel { + #define VMWARE_CMD_GETVERSION 0x0a #define VMMOUSE_READ_ID 0x45414552 @@ -202,3 +204,5 @@ void VMWareBackdoor::send(VMWareCommand& command) #endif } } + +} diff --git a/Kernel/Devices/VMWareBackdoor.h b/Kernel/Devices/VMWareBackdoor.h index 2a60bd6ab9..178fb7092e 100644 --- a/Kernel/Devices/VMWareBackdoor.h +++ b/Kernel/Devices/VMWareBackdoor.h @@ -28,6 +28,8 @@ #include +namespace Kernel { + #define VMMOUSE_GETVERSION 10 #define VMMOUSE_DATA 39 #define VMMOUSE_STATUS 40 @@ -73,3 +75,5 @@ private: bool m_supported; bool m_vmmouse_absolute { false }; }; + +} diff --git a/Kernel/Devices/ZeroDevice.cpp b/Kernel/Devices/ZeroDevice.cpp index c58dc6936e..6626f743a5 100644 --- a/Kernel/Devices/ZeroDevice.cpp +++ b/Kernel/Devices/ZeroDevice.cpp @@ -27,6 +27,8 @@ #include "ZeroDevice.h" #include +namespace Kernel { + ZeroDevice::ZeroDevice() : CharacterDevice(1, 5) { @@ -52,3 +54,5 @@ ssize_t ZeroDevice::write(FileDescription&, const u8*, ssize_t size) { return min(PAGE_SIZE, size); } + +} diff --git a/Kernel/Devices/ZeroDevice.h b/Kernel/Devices/ZeroDevice.h index af468dffd5..7faf4d0661 100644 --- a/Kernel/Devices/ZeroDevice.h +++ b/Kernel/Devices/ZeroDevice.h @@ -28,6 +28,8 @@ #include "CharacterDevice.h" +namespace Kernel { + class ZeroDevice final : public CharacterDevice { AK_MAKE_ETERNAL public: @@ -42,3 +44,5 @@ private: virtual bool can_write(const FileDescription&) const override { return true; } virtual const char* class_name() const override { return "ZeroDevice"; } }; + +} diff --git a/Kernel/DoubleBuffer.cpp b/Kernel/DoubleBuffer.cpp index daefb98be5..0ebac2ae53 100644 --- a/Kernel/DoubleBuffer.cpp +++ b/Kernel/DoubleBuffer.cpp @@ -26,6 +26,8 @@ #include +namespace Kernel { + inline void DoubleBuffer::compute_lockfree_metadata() { InterruptDisabler disabler; @@ -85,3 +87,5 @@ ssize_t DoubleBuffer::read(u8* data, ssize_t size) compute_lockfree_metadata(); return nread; } + +} diff --git a/Kernel/DoubleBuffer.h b/Kernel/DoubleBuffer.h index 834d769691..300ce07e40 100644 --- a/Kernel/DoubleBuffer.h +++ b/Kernel/DoubleBuffer.h @@ -30,6 +30,8 @@ #include #include +namespace Kernel { + class DoubleBuffer { public: explicit DoubleBuffer(size_t capacity = 65536); @@ -62,3 +64,5 @@ private: bool m_empty { true }; mutable Lock m_lock { "DoubleBuffer" }; }; + +} diff --git a/Kernel/FileSystem/Custody.cpp b/Kernel/FileSystem/Custody.cpp index 424963286f..77a2571788 100644 --- a/Kernel/FileSystem/Custody.cpp +++ b/Kernel/FileSystem/Custody.cpp @@ -30,6 +30,8 @@ #include #include +namespace Kernel { + static Lockable>& all_custodies() { static Lockable>* list; @@ -109,3 +111,5 @@ void Custody::did_rename(Badge, const String& name) { m_name = name; } + +} diff --git a/Kernel/FileSystem/Custody.h b/Kernel/FileSystem/Custody.h index 1e06a41cec..407480d85c 100644 --- a/Kernel/FileSystem/Custody.h +++ b/Kernel/FileSystem/Custody.h @@ -32,6 +32,8 @@ #include #include +namespace Kernel { + class Inode; class VFS; @@ -79,3 +81,5 @@ private: bool m_mounted_on { false }; int m_mount_flags { 0 }; }; + +} diff --git a/Kernel/FileSystem/DevPtsFS.cpp b/Kernel/FileSystem/DevPtsFS.cpp index d3da6eb5c5..f2ca0a2351 100644 --- a/Kernel/FileSystem/DevPtsFS.cpp +++ b/Kernel/FileSystem/DevPtsFS.cpp @@ -29,6 +29,8 @@ #include #include +namespace Kernel { + NonnullRefPtr DevPtsFS::create() { return adopt(*new DevPtsFS); @@ -206,3 +208,5 @@ KResult DevPtsFSInode::chown(uid_t, gid_t) { return KResult(-EPERM); } + +} diff --git a/Kernel/FileSystem/DevPtsFS.h b/Kernel/FileSystem/DevPtsFS.h index 725f45a267..7424d40156 100644 --- a/Kernel/FileSystem/DevPtsFS.h +++ b/Kernel/FileSystem/DevPtsFS.h @@ -30,6 +30,8 @@ #include #include +namespace Kernel { + class SlavePTY; class DevPtsFSInode; @@ -57,6 +59,7 @@ private: class DevPtsFSInode final : public Inode { friend class DevPtsFS; + public: virtual ~DevPtsFSInode() override; @@ -78,3 +81,5 @@ private: InodeMetadata m_metadata; }; + +} diff --git a/Kernel/FileSystem/DiskBackedFileSystem.cpp b/Kernel/FileSystem/DiskBackedFileSystem.cpp index 76b0db0df3..05f62c09fc 100644 --- a/Kernel/FileSystem/DiskBackedFileSystem.cpp +++ b/Kernel/FileSystem/DiskBackedFileSystem.cpp @@ -32,6 +32,8 @@ //#define DBFS_DEBUG +namespace Kernel { + struct CacheEntry { time_t timestamp { 0 }; u32 block_index { 0 }; @@ -240,3 +242,5 @@ DiskCache& DiskBackedFS::cache() const m_cache = make(const_cast(*this)); return *m_cache; } + +} diff --git a/Kernel/FileSystem/DiskBackedFileSystem.h b/Kernel/FileSystem/DiskBackedFileSystem.h index f60ced8a47..e6b1553f56 100644 --- a/Kernel/FileSystem/DiskBackedFileSystem.h +++ b/Kernel/FileSystem/DiskBackedFileSystem.h @@ -29,6 +29,8 @@ #include "FileSystem.h" #include +namespace Kernel { + class DiskCache; class DiskBackedFS : public FS { @@ -60,3 +62,5 @@ private: NonnullRefPtr m_device; mutable OwnPtr m_cache; }; + +} diff --git a/Kernel/FileSystem/Ext2FileSystem.cpp b/Kernel/FileSystem/Ext2FileSystem.cpp index 06a5413c39..9433b3e5bf 100644 --- a/Kernel/FileSystem/Ext2FileSystem.cpp +++ b/Kernel/FileSystem/Ext2FileSystem.cpp @@ -36,6 +36,8 @@ //#define EXT2_DEBUG +namespace Kernel { + static const size_t max_link_count = 65535; static const size_t max_block_size = 4096; static const ssize_t max_inline_symlink_length = 60; @@ -573,7 +575,7 @@ InodeMetadata Ext2FSInode::metadata() const metadata.block_size = fs().block_size(); metadata.block_count = m_raw_inode.i_blocks; - if (::is_character_device(m_raw_inode.i_mode) || ::is_block_device(m_raw_inode.i_mode)) { + if (Kernel::is_character_device(m_raw_inode.i_mode) || Kernel::is_block_device(m_raw_inode.i_mode)) { unsigned dev = m_raw_inode.i_block[0]; if (!dev) dev = m_raw_inode.i_block[1]; @@ -1646,3 +1648,5 @@ KResult Ext2FS::prepare_to_unmount() const m_inode_cache.clear(); return KSuccess; } + +} diff --git a/Kernel/FileSystem/Ext2FileSystem.h b/Kernel/FileSystem/Ext2FileSystem.h index 7736008d49..fd4b32b79d 100644 --- a/Kernel/FileSystem/Ext2FileSystem.h +++ b/Kernel/FileSystem/Ext2FileSystem.h @@ -27,16 +27,18 @@ #pragma once #include -#include #include #include #include +#include #include struct ext2_group_desc; struct ext2_inode; struct ext2_super_block; +namespace Kernel { + class Ext2FS; class Ext2FSInode final : public Inode { @@ -46,8 +48,8 @@ public: virtual ~Ext2FSInode() override; size_t size() const { return m_raw_inode.i_size; } - bool is_symlink() const { return ::is_symlink(m_raw_inode.i_mode); } - bool is_directory() const { return ::is_directory(m_raw_inode.i_mode); } + bool is_symlink() const { return Kernel::is_symlink(m_raw_inode.i_mode); } + bool is_directory() const { return Kernel::is_directory(m_raw_inode.i_mode); } // ^Inode (RefCounted magic) virtual void one_ref_left() override; @@ -171,7 +173,8 @@ private: CachedBitmap(BlockIndex bi, KBuffer&& buf) : bitmap_block_index(bi) , buffer(move(buf)) - {} + { + } BlockIndex bitmap_block_index { 0 }; bool dirty { false }; KBuffer buffer; @@ -192,3 +195,5 @@ inline const Ext2FS& Ext2FSInode::fs() const { return static_cast(Inode::fs()); } + +} diff --git a/Kernel/FileSystem/FIFO.cpp b/Kernel/FileSystem/FIFO.cpp index 5fcda5209b..e5186a5b1c 100644 --- a/Kernel/FileSystem/FIFO.cpp +++ b/Kernel/FileSystem/FIFO.cpp @@ -34,6 +34,8 @@ //#define FIFO_DEBUG +namespace Kernel { + Lockable>& all_fifos() { static Lockable>* s_table; @@ -143,3 +145,5 @@ String FIFO::absolute_path(const FileDescription&) const { return String::format("fifo:%u", m_fifo_id); } + +} diff --git a/Kernel/FileSystem/FIFO.h b/Kernel/FileSystem/FIFO.h index 936fe118cc..a0202edafc 100644 --- a/Kernel/FileSystem/FIFO.h +++ b/Kernel/FileSystem/FIFO.h @@ -30,6 +30,8 @@ #include #include +namespace Kernel { + class FileDescription; class FIFO final : public File { @@ -70,3 +72,5 @@ private: int m_fifo_id { 0 }; }; + +} diff --git a/Kernel/FileSystem/File.cpp b/Kernel/FileSystem/File.cpp index 3d78dd41d6..04d0e2a4a5 100644 --- a/Kernel/FileSystem/File.cpp +++ b/Kernel/FileSystem/File.cpp @@ -27,6 +27,8 @@ #include #include +namespace Kernel { + File::File() { } @@ -56,3 +58,5 @@ KResultOr File::mmap(Process&, FileDescription&, VirtualAddress, size_t { return KResult(-ENODEV); } + +} diff --git a/Kernel/FileSystem/File.h b/Kernel/FileSystem/File.h index db226eafd1..c812b9b2ca 100644 --- a/Kernel/FileSystem/File.h +++ b/Kernel/FileSystem/File.h @@ -34,6 +34,8 @@ #include #include +namespace Kernel { + class FileDescription; class Process; class Region; @@ -102,3 +104,5 @@ public: protected: File(); }; + +} diff --git a/Kernel/FileSystem/FileDescription.cpp b/Kernel/FileSystem/FileDescription.cpp index 73017d2f6c..30cba4dd13 100644 --- a/Kernel/FileSystem/FileDescription.cpp +++ b/Kernel/FileSystem/FileDescription.cpp @@ -40,6 +40,8 @@ #include #include +namespace Kernel { + NonnullRefPtr FileDescription::create(Custody& custody) { auto description = adopt(*new FileDescription(InodeFile::create(custody.inode()))); @@ -170,7 +172,6 @@ ByteBuffer FileDescription::read_entire_file() return m_inode->read_entire(this); } - ssize_t FileDescription::get_dir_entries(u8* buffer, ssize_t size) { LOCKER(m_lock); @@ -340,3 +341,5 @@ KResult FileDescription::chown(uid_t uid, gid_t gid) LOCKER(m_lock); return m_file->chown(uid, gid); } + +} diff --git a/Kernel/FileSystem/FileDescription.h b/Kernel/FileSystem/FileDescription.h index 9a0f6ee24c..ecd7bc6b5f 100644 --- a/Kernel/FileSystem/FileDescription.h +++ b/Kernel/FileSystem/FileDescription.h @@ -28,22 +28,23 @@ #include #include -#include #include #include #include #include #include #include -#include #include +namespace Kernel { + +class CharacterDevice; class File; -class TTY; class MasterPTY; class Process; class Region; -class CharacterDevice; +class Socket; +class TTY; class FileDescription : public RefCounted { public: @@ -161,3 +162,5 @@ private: Lock m_lock { "FileDescription" }; }; + +} diff --git a/Kernel/FileSystem/FileSystem.cpp b/Kernel/FileSystem/FileSystem.cpp index 8db44da14b..eaa0a3ea49 100644 --- a/Kernel/FileSystem/FileSystem.cpp +++ b/Kernel/FileSystem/FileSystem.cpp @@ -33,6 +33,8 @@ #include #include +namespace Kernel { + static u32 s_lastFileSystemID; static HashMap* s_fs_map; @@ -111,3 +113,5 @@ void FS::set_block_size(int block_size) return; m_block_size = block_size; } + +} diff --git a/Kernel/FileSystem/FileSystem.h b/Kernel/FileSystem/FileSystem.h index e11c58ef93..14ee89a6ba 100644 --- a/Kernel/FileSystem/FileSystem.h +++ b/Kernel/FileSystem/FileSystem.h @@ -41,6 +41,8 @@ #include #include +namespace Kernel { + static const u32 mepoch = 476763780; class Inode; @@ -122,11 +124,13 @@ inline bool InodeIdentifier::is_root_inode() const return (*this) == fs()->root_inode(); } +} + namespace AK { template<> -struct Traits : public GenericTraits { - static unsigned hash(const InodeIdentifier& inode) { return pair_int_hash(inode.fsid(), inode.index()); } +struct Traits : public GenericTraits { + static unsigned hash(const Kernel::InodeIdentifier& inode) { return pair_int_hash(inode.fsid(), inode.index()); } }; } diff --git a/Kernel/FileSystem/Inode.cpp b/Kernel/FileSystem/Inode.cpp index 8b745b9f38..498aaa3666 100644 --- a/Kernel/FileSystem/Inode.cpp +++ b/Kernel/FileSystem/Inode.cpp @@ -33,6 +33,8 @@ #include #include +namespace Kernel { + InlineLinkedList& all_inodes() { static InlineLinkedList* list; @@ -213,3 +215,5 @@ void Inode::set_metadata_dirty(bool metadata_dirty) } } } + +} diff --git a/Kernel/FileSystem/Inode.h b/Kernel/FileSystem/Inode.h index 0747eb4c5d..1289cc2ca4 100644 --- a/Kernel/FileSystem/Inode.h +++ b/Kernel/FileSystem/Inode.h @@ -26,10 +26,10 @@ #pragma once -#include #include #include #include +#include #include #include #include @@ -37,6 +37,8 @@ #include #include +namespace Kernel { + class FileDescription; class InodeVMObject; class InodeWatcher; @@ -132,3 +134,5 @@ private: HashTable m_watchers; bool m_metadata_dirty { false }; }; + +} diff --git a/Kernel/FileSystem/InodeFile.cpp b/Kernel/FileSystem/InodeFile.cpp index ecbb41c49b..1b7296f91d 100644 --- a/Kernel/FileSystem/InodeFile.cpp +++ b/Kernel/FileSystem/InodeFile.cpp @@ -30,6 +30,8 @@ #include #include +namespace Kernel { + InodeFile::InodeFile(NonnullRefPtr&& inode) : m_inode(move(inode)) { @@ -94,3 +96,5 @@ KResult InodeFile::chmod(mode_t mode) { return VFS::the().chmod(*m_inode, mode); } + +} diff --git a/Kernel/FileSystem/InodeFile.h b/Kernel/FileSystem/InodeFile.h index 0e3b8ef511..f83e4c8dbc 100644 --- a/Kernel/FileSystem/InodeFile.h +++ b/Kernel/FileSystem/InodeFile.h @@ -28,6 +28,8 @@ #include +namespace Kernel { + class Inode; class InodeFile final : public File { @@ -64,3 +66,5 @@ private: explicit InodeFile(NonnullRefPtr&&); NonnullRefPtr m_inode; }; + +} diff --git a/Kernel/FileSystem/InodeIdentifier.h b/Kernel/FileSystem/InodeIdentifier.h index c9d15cc7a5..7152fca956 100644 --- a/Kernel/FileSystem/InodeIdentifier.h +++ b/Kernel/FileSystem/InodeIdentifier.h @@ -26,10 +26,12 @@ #pragma once -#include #include +#include #include +namespace Kernel { + class FS; struct InodeMetadata; @@ -75,3 +77,4 @@ inline const LogStream& operator<<(const LogStream& stream, const InodeIdentifie return stream; } +} diff --git a/Kernel/FileSystem/InodeMetadata.h b/Kernel/FileSystem/InodeMetadata.h index 8dc4a170f5..5144e8afdb 100644 --- a/Kernel/FileSystem/InodeMetadata.h +++ b/Kernel/FileSystem/InodeMetadata.h @@ -31,6 +31,8 @@ #include #include +namespace Kernel { + class Process; inline constexpr u32 encoded_device(unsigned major, unsigned minor) @@ -89,17 +91,17 @@ struct InodeMetadata { return mode & 0001; } - bool is_directory() const { return ::is_directory(mode); } - bool is_character_device() const { return ::is_character_device(mode); } - bool is_block_device() const { return ::is_block_device(mode); } + bool is_directory() const { return Kernel::is_directory(mode); } + bool is_character_device() const { return Kernel::is_character_device(mode); } + bool is_block_device() const { return Kernel::is_block_device(mode); } bool is_device() const { return is_character_device() || is_block_device(); } - bool is_regular_file() const { return ::is_regular_file(mode); } - bool is_fifo() const { return ::is_fifo(mode); } - bool is_symlink() const { return ::is_symlink(mode); } - bool is_socket() const { return ::is_socket(mode); } - bool is_sticky() const { return ::is_sticky(mode); } - bool is_setuid() const { return ::is_setuid(mode); } - bool is_setgid() const { return ::is_setgid(mode); } + bool is_regular_file() const { return Kernel::is_regular_file(mode); } + bool is_fifo() const { return Kernel::is_fifo(mode); } + bool is_symlink() const { return Kernel::is_symlink(mode); } + bool is_socket() const { return Kernel::is_socket(mode); } + bool is_sticky() const { return Kernel::is_sticky(mode); } + bool is_setuid() const { return Kernel::is_setuid(mode); } + bool is_setgid() const { return Kernel::is_setgid(mode); } KResult stat(stat& buffer) const { @@ -136,3 +138,5 @@ struct InodeMetadata { unsigned major_device { 0 }; unsigned minor_device { 0 }; }; + +} diff --git a/Kernel/FileSystem/InodeWatcher.cpp b/Kernel/FileSystem/InodeWatcher.cpp index 6c6d793a44..8b7a977eb1 100644 --- a/Kernel/FileSystem/InodeWatcher.cpp +++ b/Kernel/FileSystem/InodeWatcher.cpp @@ -27,6 +27,8 @@ #include #include +namespace Kernel { + NonnullRefPtr InodeWatcher::create(Inode& inode) { return adopt(*new InodeWatcher(inode)); @@ -84,3 +86,5 @@ void InodeWatcher::notify_inode_event(Badge, Event::Type event_type) { m_queue.enqueue({ event_type }); } + +} diff --git a/Kernel/FileSystem/InodeWatcher.h b/Kernel/FileSystem/InodeWatcher.h index 3bbf9416f3..d03eee8495 100644 --- a/Kernel/FileSystem/InodeWatcher.h +++ b/Kernel/FileSystem/InodeWatcher.h @@ -31,6 +31,8 @@ #include #include +namespace Kernel { + class Inode; class InodeWatcher final : public File { @@ -62,3 +64,5 @@ private: WeakPtr m_inode; CircularQueue m_queue; }; + +} diff --git a/Kernel/FileSystem/ProcFS.cpp b/Kernel/FileSystem/ProcFS.cpp index add5f7db7c..1d4dde41e5 100644 --- a/Kernel/FileSystem/ProcFS.cpp +++ b/Kernel/FileSystem/ProcFS.cpp @@ -54,6 +54,8 @@ #include #include +namespace Kernel { + enum ProcParentDirectory { PDI_AbstractRoot = 0, PDI_Root, @@ -1219,7 +1221,7 @@ bool ProcFSInode::traverse_as_directory(Function #include +namespace Kernel { + class Process; class ProcFSInode; @@ -147,3 +149,5 @@ private: NonnullRefPtr m_fd; }; + +} diff --git a/Kernel/FileSystem/TmpFS.cpp b/Kernel/FileSystem/TmpFS.cpp index 6e1575ad6a..4c7552f2a2 100644 --- a/Kernel/FileSystem/TmpFS.cpp +++ b/Kernel/FileSystem/TmpFS.cpp @@ -28,6 +28,8 @@ #include #include +namespace Kernel { + NonnullRefPtr TmpFS::create() { return adopt(*new TmpFS); @@ -397,3 +399,5 @@ void TmpFSInode::one_ref_left() // Destroy ourselves. fs().unregister_inode(identifier()); } + +} diff --git a/Kernel/FileSystem/TmpFS.h b/Kernel/FileSystem/TmpFS.h index 2f98ec0853..a7c67f90ab 100644 --- a/Kernel/FileSystem/TmpFS.h +++ b/Kernel/FileSystem/TmpFS.h @@ -31,6 +31,8 @@ #include #include +namespace Kernel { + class TmpFSInode; class TmpFS final : public FS { @@ -106,3 +108,5 @@ private: }; HashMap m_children; }; + +} diff --git a/Kernel/FileSystem/VirtualFileSystem.cpp b/Kernel/FileSystem/VirtualFileSystem.cpp index 75277388d6..5069e9ca56 100644 --- a/Kernel/FileSystem/VirtualFileSystem.cpp +++ b/Kernel/FileSystem/VirtualFileSystem.cpp @@ -32,11 +32,14 @@ #include #include #include +#include #include #include //#define VFS_DEBUG +namespace Kernel { + static VFS* s_the; static constexpr int symlink_recursion_limit { 5 }; // FIXME: increase? @@ -848,3 +851,5 @@ KResultOr> VFS::resolve_path(StringView path, Custody& ba *out_parent = custody->parent(); return custody; } + +} diff --git a/Kernel/FileSystem/VirtualFileSystem.h b/Kernel/FileSystem/VirtualFileSystem.h index 9e9a6a2aa7..7aad464103 100644 --- a/Kernel/FileSystem/VirtualFileSystem.h +++ b/Kernel/FileSystem/VirtualFileSystem.h @@ -38,6 +38,7 @@ #include #include +namespace Kernel { #define O_RDONLY (1 << 0) #define O_WRONLY (1 << 1) @@ -159,3 +160,5 @@ private: RefPtr m_root_custody; }; + +} diff --git a/Kernel/Heap/SlabAllocator.cpp b/Kernel/Heap/SlabAllocator.cpp index fcf6ec1ba9..4b4c338534 100644 --- a/Kernel/Heap/SlabAllocator.cpp +++ b/Kernel/Heap/SlabAllocator.cpp @@ -29,6 +29,8 @@ #include #include +namespace Kernel { + template class SlabAllocator { public: @@ -160,3 +162,5 @@ void slab_alloc_stats(Function #include +namespace Kernel { + #define SLAB_ALLOC_SCRUB_BYTE 0xab #define SLAB_DEALLOC_SCRUB_BYTE 0xbc @@ -43,3 +45,5 @@ public: \ void operator delete(void* ptr) { slab_dealloc(ptr, sizeof(type)); } \ \ private: + +} diff --git a/Kernel/Heap/kmalloc.cpp b/Kernel/Heap/kmalloc.cpp index 9c2a259e40..4af5707396 100644 --- a/Kernel/Heap/kmalloc.cpp +++ b/Kernel/Heap/kmalloc.cpp @@ -112,21 +112,21 @@ void* kmalloc_page_aligned(size_t size) void* kmalloc_impl(size_t size) { - InterruptDisabler disabler; + Kernel::InterruptDisabler disabler; ++g_kmalloc_call_count; - if (g_dump_kmalloc_stacks && ksyms_ready) { + if (g_dump_kmalloc_stacks && Kernel::ksyms_ready) { dbgprintf("kmalloc(%u)\n", size); - dump_backtrace(); + Kernel::dump_backtrace(); } // We need space for the allocation_t structure at the head of the block. size_t real_size = size + sizeof(allocation_t); if (sum_free < real_size) { - dump_backtrace(); - kprintf("%s(%u) kmalloc(): PANIC! Out of memory (sucks, dude)\nsum_free=%u, real_size=%u\n", current->process().name().characters(), current->pid(), sum_free, real_size); - hang(); + Kernel::dump_backtrace(); + kprintf("%s(%u) kmalloc(): PANIC! Out of memory (sucks, dude)\nsum_free=%u, real_size=%u\n", Kernel::current->process().name().characters(), Kernel::current->pid(), sum_free, real_size); + Kernel::hang(); } size_t chunks_needed = real_size / CHUNK_SIZE; @@ -177,9 +177,9 @@ void* kmalloc_impl(size_t size) } } - kprintf("%s(%u) kmalloc(): PANIC! Out of memory (no suitable block for size %u)\n", current->process().name().characters(), current->pid(), size); - dump_backtrace(); - hang(); + kprintf("%s(%u) kmalloc(): PANIC! Out of memory (no suitable block for size %u)\n", Kernel::current->process().name().characters(), Kernel::current->pid(), size); + Kernel::dump_backtrace(); + Kernel::hang(); } void kfree(void* ptr) @@ -187,7 +187,7 @@ void kfree(void* ptr) if (!ptr) return; - InterruptDisabler disabler; + Kernel::InterruptDisabler disabler; ++g_kfree_call_count; auto* a = (allocation_t*)((((u8*)ptr) - sizeof(allocation_t))); @@ -208,7 +208,7 @@ void* krealloc(void* ptr, size_t new_size) if (!ptr) return kmalloc(new_size); - InterruptDisabler disabler; + Kernel::InterruptDisabler disabler; auto* a = (allocation_t*)((((u8*)ptr) - sizeof(allocation_t))); size_t old_size = a->nchunk * CHUNK_SIZE; diff --git a/Kernel/IRQHandler.cpp b/Kernel/IRQHandler.cpp index 0a2ff3aeb5..4404b1c723 100644 --- a/Kernel/IRQHandler.cpp +++ b/Kernel/IRQHandler.cpp @@ -28,6 +28,8 @@ #include #include +namespace Kernel { + IRQHandler::IRQHandler(u8 irq) : m_irq_number(irq) { @@ -48,3 +50,5 @@ void IRQHandler::disable_irq() { PIC::disable(m_irq_number); } + +} diff --git a/Kernel/IRQHandler.h b/Kernel/IRQHandler.h index dbf0821704..6262897780 100644 --- a/Kernel/IRQHandler.h +++ b/Kernel/IRQHandler.h @@ -28,6 +28,8 @@ #include +namespace Kernel { + class IRQHandler { public: virtual ~IRQHandler(); @@ -44,3 +46,5 @@ protected: private: u8 m_irq_number { 0 }; }; + +} diff --git a/Kernel/KBuffer.h b/Kernel/KBuffer.h index 955e44d539..91cdc09b64 100644 --- a/Kernel/KBuffer.h +++ b/Kernel/KBuffer.h @@ -41,6 +41,8 @@ #include #include +namespace Kernel { + class KBufferImpl : public RefCounted { public: static NonnullRefPtr create_with_size(size_t size, u8 access, const char* name) @@ -118,3 +120,5 @@ inline const LogStream& operator<<(const LogStream& stream, const KBuffer& value { return stream << StringView(value.data(), value.size()); } + +} diff --git a/Kernel/KBufferBuilder.cpp b/Kernel/KBufferBuilder.cpp index 8427e53575..bfd8c8d995 100644 --- a/Kernel/KBufferBuilder.cpp +++ b/Kernel/KBufferBuilder.cpp @@ -29,6 +29,8 @@ #include #include +namespace Kernel { + inline bool KBufferBuilder::can_append(size_t size) const { bool has_space = ((m_size + size) < m_buffer.size()); @@ -90,3 +92,5 @@ void KBufferBuilder::appendf(const char* fmt, ...) appendvf(fmt, ap); va_end(ap); } + +} diff --git a/Kernel/KBufferBuilder.h b/Kernel/KBufferBuilder.h index 23bba4929f..86179200f6 100644 --- a/Kernel/KBufferBuilder.h +++ b/Kernel/KBufferBuilder.h @@ -30,6 +30,8 @@ #include #include +namespace Kernel { + class KBufferBuilder { public: using OutputType = KBuffer; @@ -52,3 +54,5 @@ private: KBuffer m_buffer; size_t m_size { 0 }; }; + +} diff --git a/Kernel/KResult.h b/Kernel/KResult.h index 52e05308eb..b4f1938b18 100644 --- a/Kernel/KResult.h +++ b/Kernel/KResult.h @@ -29,6 +29,8 @@ #include #include +namespace Kernel { + enum KSuccessTag { KSuccess }; @@ -144,3 +146,5 @@ private: KResult m_error; bool m_is_error { false }; }; + +} diff --git a/Kernel/KSyms.cpp b/Kernel/KSyms.cpp index 221545242c..6cbd209f77 100644 --- a/Kernel/KSyms.cpp +++ b/Kernel/KSyms.cpp @@ -32,6 +32,8 @@ #include #include +namespace Kernel { + static KSym* s_ksyms; u32 ksym_lowest_address = 0xffffffff; u32 ksym_highest_address = 0; @@ -189,3 +191,5 @@ void load_ksyms() ASSERT(buffer); load_ksyms_from_data(buffer); } + +} diff --git a/Kernel/KSyms.h b/Kernel/KSyms.h index 2669a64de6..2ff3c23a69 100644 --- a/Kernel/KSyms.h +++ b/Kernel/KSyms.h @@ -29,6 +29,8 @@ #include #include +namespace Kernel { + struct KSym { u32 address; const char* name; @@ -43,3 +45,5 @@ extern u32 ksym_lowest_address; extern u32 ksym_highest_address; void dump_backtrace(); + +} diff --git a/Kernel/Lock.cpp b/Kernel/Lock.cpp index 543882df21..09bec0c744 100644 --- a/Kernel/Lock.cpp +++ b/Kernel/Lock.cpp @@ -24,9 +24,12 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include #include #include +namespace Kernel { + void Lock::lock() { ASSERT(!Scheduler::is_active()); @@ -82,3 +85,5 @@ bool Lock::force_unlock_if_locked() m_queue.wake_one(); return true; } + +} diff --git a/Kernel/Lock.h b/Kernel/Lock.h index d13e57f872..8f1ed86b95 100644 --- a/Kernel/Lock.h +++ b/Kernel/Lock.h @@ -30,10 +30,11 @@ #include #include #include -#include #include #include +namespace Kernel { + class Thread; extern Thread* current; @@ -98,3 +99,5 @@ private: T m_resource; Lock m_lock; }; + +} diff --git a/Kernel/Module.h b/Kernel/Module.h index 17faae8c5e..d5ed2d9f67 100644 --- a/Kernel/Module.h +++ b/Kernel/Module.h @@ -30,6 +30,8 @@ #include #include +namespace Kernel { + typedef void* (*ModuleInitPtr)(); typedef void* (*ModuleFiniPtr)(); @@ -40,3 +42,5 @@ struct Module { ModuleInitPtr module_init { nullptr }; ModuleFiniPtr module_fini { nullptr }; }; + +} diff --git a/Kernel/Net/ARP.h b/Kernel/Net/ARP.h index 743ecc0fd5..37e6faa140 100644 --- a/Kernel/Net/ARP.h +++ b/Kernel/Net/ARP.h @@ -31,6 +31,8 @@ #include #include +namespace Kernel { + struct ARPOperation { enum : u16 { Request = 1, @@ -87,3 +89,5 @@ private: }; static_assert(sizeof(ARPPacket) == 28); + +} diff --git a/Kernel/Net/E1000NetworkAdapter.cpp b/Kernel/Net/E1000NetworkAdapter.cpp index 57ad91620b..169e0a8fe4 100644 --- a/Kernel/Net/E1000NetworkAdapter.cpp +++ b/Kernel/Net/E1000NetworkAdapter.cpp @@ -30,6 +30,8 @@ //#define E1000_DEBUG +namespace Kernel { + #define REG_CTRL 0x0000 #define REG_STATUS 0x0008 #define REG_EEPROM 0x0014 @@ -420,3 +422,5 @@ void E1000NetworkAdapter::receive() out32(REG_RXDESCTAIL, rx_current); } } + +} diff --git a/Kernel/Net/E1000NetworkAdapter.h b/Kernel/Net/E1000NetworkAdapter.h index f1b8667ee7..0738ccd010 100644 --- a/Kernel/Net/E1000NetworkAdapter.h +++ b/Kernel/Net/E1000NetworkAdapter.h @@ -31,6 +31,8 @@ #include #include +namespace Kernel { + class E1000NetworkAdapter final : public NetworkAdapter , public IRQHandler { public: @@ -102,3 +104,5 @@ private: WaitQueue m_wait_queue; }; + +} diff --git a/Kernel/Net/IPv4.h b/Kernel/Net/IPv4.h index 4221f3afe5..534e065c19 100644 --- a/Kernel/Net/IPv4.h +++ b/Kernel/Net/IPv4.h @@ -32,6 +32,8 @@ #include #include +namespace Kernel { + enum class IPv4Protocol : u16 { ICMP = 1, TCP = 6, @@ -110,3 +112,5 @@ inline NetworkOrdered internet_checksum(const void* ptr, size_t count) checksum = (checksum & 0xffff) + (checksum >> 16); return ~checksum & 0xffff; } + +} diff --git a/Kernel/Net/IPv4Socket.cpp b/Kernel/Net/IPv4Socket.cpp index 7d427941b6..c3259a051c 100644 --- a/Kernel/Net/IPv4Socket.cpp +++ b/Kernel/Net/IPv4Socket.cpp @@ -43,6 +43,8 @@ //#define IPV4_SOCKET_DEBUG +namespace Kernel { + Lockable>& IPv4Socket::all_sockets() { static Lockable>* s_table; @@ -511,3 +513,5 @@ void IPv4Socket::shut_down_for_reading() Socket::shut_down_for_reading(); m_can_read = true; } + +} diff --git a/Kernel/Net/IPv4Socket.h b/Kernel/Net/IPv4Socket.h index 96650fdea2..8f45a34ad6 100644 --- a/Kernel/Net/IPv4Socket.h +++ b/Kernel/Net/IPv4Socket.h @@ -35,6 +35,8 @@ #include #include +namespace Kernel { + class NetworkAdapter; class TCPPacket; class TCPSocket; @@ -137,3 +139,5 @@ private: Optional m_scratch_buffer; }; + +} diff --git a/Kernel/Net/LocalSocket.cpp b/Kernel/Net/LocalSocket.cpp index c1dbbe05b0..e9ea963f9b 100644 --- a/Kernel/Net/LocalSocket.cpp +++ b/Kernel/Net/LocalSocket.cpp @@ -35,6 +35,8 @@ //#define DEBUG_LOCAL_SOCKET +namespace Kernel { + Lockable>& LocalSocket::all_sockets() { static Lockable>* s_list; @@ -394,3 +396,5 @@ KResult LocalSocket::chown(uid_t uid, gid_t gid) m_prebind_gid = gid; return KSuccess; } + +} diff --git a/Kernel/Net/LocalSocket.h b/Kernel/Net/LocalSocket.h index e989884cc2..0929b0d90f 100644 --- a/Kernel/Net/LocalSocket.h +++ b/Kernel/Net/LocalSocket.h @@ -30,6 +30,8 @@ #include #include +namespace Kernel { + class FileDescription; class LocalSocket final : public Socket, public InlineLinkedListNode { @@ -100,3 +102,5 @@ private: LocalSocket* m_prev { nullptr }; LocalSocket* m_next { nullptr }; }; + +} diff --git a/Kernel/Net/LoopbackAdapter.cpp b/Kernel/Net/LoopbackAdapter.cpp index bb32410d1c..4adfa43749 100644 --- a/Kernel/Net/LoopbackAdapter.cpp +++ b/Kernel/Net/LoopbackAdapter.cpp @@ -26,6 +26,8 @@ #include +namespace Kernel { + LoopbackAdapter& LoopbackAdapter::the() { static LoopbackAdapter* the; @@ -50,3 +52,5 @@ void LoopbackAdapter::send_raw(const u8* data, size_t size) dbgprintf("LoopbackAdapter: Sending %d byte(s) to myself.\n", size); did_receive(data, size); } + +} diff --git a/Kernel/Net/LoopbackAdapter.h b/Kernel/Net/LoopbackAdapter.h index 9bb83151d6..bf67a164b5 100644 --- a/Kernel/Net/LoopbackAdapter.h +++ b/Kernel/Net/LoopbackAdapter.h @@ -28,6 +28,8 @@ #include +namespace Kernel { + class LoopbackAdapter final : public NetworkAdapter { AK_MAKE_ETERNAL public: @@ -41,3 +43,5 @@ public: private: LoopbackAdapter(); }; + +} diff --git a/Kernel/Net/NetworkAdapter.cpp b/Kernel/Net/NetworkAdapter.cpp index ff34fe03eb..255c6698bc 100644 --- a/Kernel/Net/NetworkAdapter.cpp +++ b/Kernel/Net/NetworkAdapter.cpp @@ -34,6 +34,8 @@ #include #include +namespace Kernel { + static Lockable>& all_adapters() { static Lockable>* table; @@ -193,3 +195,5 @@ void NetworkAdapter::set_interface_name(const StringView& basename) builder.append('0'); m_name = builder.to_string(); } + +} diff --git a/Kernel/Net/NetworkAdapter.h b/Kernel/Net/NetworkAdapter.h index 12bac4207e..4e875eb8b1 100644 --- a/Kernel/Net/NetworkAdapter.h +++ b/Kernel/Net/NetworkAdapter.h @@ -38,6 +38,8 @@ #include #include +namespace Kernel { + class NetworkAdapter; class NetworkAdapter : public RefCounted { @@ -99,3 +101,5 @@ private: u32 m_bytes_out { 0 }; u32 m_mtu { 1500 }; }; + +} diff --git a/Kernel/Net/NetworkTask.cpp b/Kernel/Net/NetworkTask.cpp index 0d93f2bd0e..a2fbd6a18e 100644 --- a/Kernel/Net/NetworkTask.cpp +++ b/Kernel/Net/NetworkTask.cpp @@ -48,6 +48,8 @@ //#define UDP_DEBUG //#define TCP_DEBUG +namespace Kernel { + static void handle_arp(const EthernetFrameHeader&, size_t frame_size); static void handle_ipv4(const EthernetFrameHeader&, size_t frame_size); static void handle_icmp(const EthernetFrameHeader&, const IPv4Packet&); @@ -622,3 +624,5 @@ void handle_tcp(const IPv4Packet& ipv4_packet) } } } + +} diff --git a/Kernel/Net/NetworkTask.h b/Kernel/Net/NetworkTask.h index 3f2f32548b..c126fae314 100644 --- a/Kernel/Net/NetworkTask.h +++ b/Kernel/Net/NetworkTask.h @@ -26,4 +26,8 @@ #pragma once +namespace Kernel { + void NetworkTask_main(); + +} diff --git a/Kernel/Net/RTL8139NetworkAdapter.cpp b/Kernel/Net/RTL8139NetworkAdapter.cpp index 407c42bc66..670a838b06 100644 --- a/Kernel/Net/RTL8139NetworkAdapter.cpp +++ b/Kernel/Net/RTL8139NetworkAdapter.cpp @@ -29,6 +29,8 @@ //#define RTL8139_DEBUG +namespace Kernel { + #define REG_MAC 0x00 #define REG_MAR0 0x08 #define REG_MAR4 0x12 @@ -394,3 +396,5 @@ u32 RTL8139NetworkAdapter::in32(u16 address) { return IO::in32(m_io_base + address); } + +} diff --git a/Kernel/Net/RTL8139NetworkAdapter.h b/Kernel/Net/RTL8139NetworkAdapter.h index 0f05512dfa..ad154f4db4 100644 --- a/Kernel/Net/RTL8139NetworkAdapter.h +++ b/Kernel/Net/RTL8139NetworkAdapter.h @@ -31,6 +31,8 @@ #include #include +namespace Kernel { + #define RTL8139_TX_BUFFER_COUNT 4 class RTL8139NetworkAdapter final : public NetworkAdapter @@ -70,3 +72,5 @@ private: u32 m_packet_buffer { 0 }; bool m_link_up { false }; }; + +} diff --git a/Kernel/Net/Routing.cpp b/Kernel/Net/Routing.cpp index cb0d2b5e13..207ce754af 100644 --- a/Kernel/Net/Routing.cpp +++ b/Kernel/Net/Routing.cpp @@ -30,6 +30,8 @@ //#define ROUTING_DEBUG +namespace Kernel { + Lockable>& arp_table() { static Lockable>* the; @@ -68,7 +70,6 @@ RoutingDecision route_to(const IPv4Address& target, const IPv4Address& source) gateway_adapter = adapter; }); - if (local_adapter && target == local_adapter->ipv4_address()) return { local_adapter, local_adapter->mac_address() }; @@ -161,3 +162,5 @@ RoutingDecision route_to(const IPv4Address& target, const IPv4Address& source) return { nullptr, {} }; } + +} diff --git a/Kernel/Net/Routing.h b/Kernel/Net/Routing.h index 11d661420d..e12276d5b1 100644 --- a/Kernel/Net/Routing.h +++ b/Kernel/Net/Routing.h @@ -28,6 +28,8 @@ #include +namespace Kernel { + struct RoutingDecision { RefPtr adapter; @@ -39,3 +41,5 @@ struct RoutingDecision RoutingDecision route_to(const IPv4Address& target, const IPv4Address& source); Lockable>& arp_table(); + +} diff --git a/Kernel/Net/Socket.cpp b/Kernel/Net/Socket.cpp index 9adfd9278a..3e279047ae 100644 --- a/Kernel/Net/Socket.cpp +++ b/Kernel/Net/Socket.cpp @@ -35,6 +35,8 @@ //#define SOCKET_DEBUG +namespace Kernel { + KResultOr> Socket::create(int domain, int type, int protocol) { switch (domain) { @@ -175,3 +177,5 @@ KResult Socket::shutdown(int how) m_shut_down_for_writing |= (how & SHUT_WR) != 0; return KSuccess; } + +} diff --git a/Kernel/Net/Socket.h b/Kernel/Net/Socket.h index c74b0f8b3b..1639e79d13 100644 --- a/Kernel/Net/Socket.h +++ b/Kernel/Net/Socket.h @@ -35,6 +35,8 @@ #include #include +namespace Kernel { + enum class ShouldBlock { No = 0, Yes = 1 @@ -207,3 +209,5 @@ public: private: RefPtr m_socket; }; + +} diff --git a/Kernel/Net/TCP.h b/Kernel/Net/TCP.h index daecfb1b4f..84cf2c25c7 100644 --- a/Kernel/Net/TCP.h +++ b/Kernel/Net/TCP.h @@ -28,6 +28,8 @@ #include +namespace Kernel { + struct TCPFlags { enum : u16 { FIN = 0x01, @@ -95,3 +97,5 @@ private: }; static_assert(sizeof(TCPPacket) == 20); + +} diff --git a/Kernel/Net/TCPSocket.cpp b/Kernel/Net/TCPSocket.cpp index e31ccc0362..8f3f809cee 100644 --- a/Kernel/Net/TCPSocket.cpp +++ b/Kernel/Net/TCPSocket.cpp @@ -36,6 +36,8 @@ //#define TCP_SOCKET_DEBUG +namespace Kernel { + void TCPSocket::for_each(Function callback) { LOCKER(sockets_by_tuple().lock()); @@ -465,3 +467,5 @@ void TCPSocket::close() LOCKER(closing_sockets().lock()); closing_sockets().resource().set(tuple(), *this); } + +} diff --git a/Kernel/Net/TCPSocket.h b/Kernel/Net/TCPSocket.h index 257c3804ac..9aef25eb0c 100644 --- a/Kernel/Net/TCPSocket.h +++ b/Kernel/Net/TCPSocket.h @@ -32,6 +32,8 @@ #include #include +namespace Kernel { + class TCPSocket final : public IPv4Socket , public Weakable { public: @@ -207,3 +209,5 @@ private: Lock m_not_acked_lock { "TCPSocket unacked packets" }; SinglyLinkedList m_not_acked; }; + +} diff --git a/Kernel/Net/UDP.h b/Kernel/Net/UDP.h index a463e00387..b3cbc72ca4 100644 --- a/Kernel/Net/UDP.h +++ b/Kernel/Net/UDP.h @@ -28,6 +28,8 @@ #include +namespace Kernel { + class [[gnu::packed]] UDPPacket { public: @@ -57,3 +59,5 @@ private: }; static_assert(sizeof(UDPPacket) == 8); + +} diff --git a/Kernel/Net/UDPSocket.cpp b/Kernel/Net/UDPSocket.cpp index 3609ef826c..c3d02d8421 100644 --- a/Kernel/Net/UDPSocket.cpp +++ b/Kernel/Net/UDPSocket.cpp @@ -32,6 +32,8 @@ #include #include +namespace Kernel { + void UDPSocket::for_each(Function callback) { LOCKER(sockets_by_port().lock()); @@ -147,3 +149,5 @@ KResult UDPSocket::protocol_bind() sockets_by_port().resource().set(local_port(), this); return KSuccess; } + +} diff --git a/Kernel/Net/UDPSocket.h b/Kernel/Net/UDPSocket.h index 3cc416e63f..e272254227 100644 --- a/Kernel/Net/UDPSocket.h +++ b/Kernel/Net/UDPSocket.h @@ -28,6 +28,8 @@ #include +namespace Kernel { + class UDPSocket final : public IPv4Socket { public: static NonnullRefPtr create(int protocol); @@ -47,3 +49,5 @@ private: virtual int protocol_allocate_local_port() override; virtual KResult protocol_bind() override; }; + +} diff --git a/Kernel/PCI/Access.cpp b/Kernel/PCI/Access.cpp index d632aa4d94..87feda710e 100644 --- a/Kernel/PCI/Access.cpp +++ b/Kernel/PCI/Access.cpp @@ -27,6 +27,8 @@ #include #include +namespace Kernel { + static PCI::Access* s_access; PCI::Access& PCI::Access::the() @@ -175,4 +177,7 @@ size_t get_BAR_Space_Size(Address address, u8 bar_number) { return PCI::Access::the().get_BAR_Space_Size(address, bar_number); } + +} + } diff --git a/Kernel/PCI/Access.h b/Kernel/PCI/Access.h index dad1d48b67..a0235911d2 100644 --- a/Kernel/PCI/Access.h +++ b/Kernel/PCI/Access.h @@ -29,6 +29,8 @@ #include #include +namespace Kernel { + class PCI::Access { public: virtual void enumerate_all(Function&) = 0; @@ -86,3 +88,5 @@ protected: virtual void write16_field(Address address, u32 field, u16 value) = 0; virtual void write32_field(Address address, u32 field, u32 value) = 0; }; + +} diff --git a/Kernel/PCI/Definitions.h b/Kernel/PCI/Definitions.h index f5748a23c5..9f2152ce77 100644 --- a/Kernel/PCI/Definitions.h +++ b/Kernel/PCI/Definitions.h @@ -29,6 +29,9 @@ #include #include +namespace Kernel { + + #define PCI_VENDOR_ID 0x00 // word #define PCI_DEVICE_ID 0x02 // word #define PCI_COMMAND 0x04 // word @@ -186,3 +189,5 @@ class MMIOSegment; class Device; } + +} diff --git a/Kernel/PCI/IOAccess.cpp b/Kernel/PCI/IOAccess.cpp index d2465cb0dd..2a2b486195 100644 --- a/Kernel/PCI/IOAccess.cpp +++ b/Kernel/PCI/IOAccess.cpp @@ -27,6 +27,8 @@ #include #include +namespace Kernel { + void PCI::IOAccess::initialize() { if (!PCI::Access::is_initialized()) @@ -87,3 +89,5 @@ void PCI::IOAccess::enumerate_all(Function& callback) enumerate_bus(-1, function, callback); } } + +} diff --git a/Kernel/PCI/IOAccess.h b/Kernel/PCI/IOAccess.h index d2a35804fa..e9ce8e9a98 100644 --- a/Kernel/PCI/IOAccess.h +++ b/Kernel/PCI/IOAccess.h @@ -27,6 +27,8 @@ #pragma once #include +namespace Kernel { + class PCI::IOAccess final : public PCI::Access { public: static void initialize(); @@ -34,6 +36,7 @@ public: virtual String get_access_type() override final { return "IO-Access"; }; virtual uint32_t get_segments_count() { return 1; }; + protected: IOAccess(); @@ -44,7 +47,10 @@ private: virtual void write8_field(Address address, u32, u8) override final; virtual void write16_field(Address address, u32, u16) override final; virtual void write32_field(Address address, u32, u32) override final; - + virtual uint8_t get_segment_start_bus(u32) { return 0x0; }; virtual uint8_t get_segment_end_bus(u32) { return 0xFF; }; -}; \ No newline at end of file +}; + +} + diff --git a/Kernel/PCI/Initializer.cpp b/Kernel/PCI/Initializer.cpp index a65554c194..1b5d258344 100644 --- a/Kernel/PCI/Initializer.cpp +++ b/Kernel/PCI/Initializer.cpp @@ -33,6 +33,8 @@ #include #include +namespace Kernel { + static PCI::Initializer* s_pci_initializer; PCI::Initializer& PCI::Initializer::the() @@ -150,3 +152,5 @@ void PCI::Initializer::dismiss() PCI::Initializer::~Initializer() { } + +} diff --git a/Kernel/PCI/Initializer.h b/Kernel/PCI/Initializer.h index c66701a515..9971539d89 100644 --- a/Kernel/PCI/Initializer.h +++ b/Kernel/PCI/Initializer.h @@ -30,6 +30,8 @@ #include #include +namespace Kernel { + class PCI::Initializer { public: static PCI::Initializer& the(); @@ -47,3 +49,5 @@ private: bool test_pci_mmio(); void initialize_pci_mmio_access_after_test(); }; + +} diff --git a/Kernel/PCI/MMIOAccess.cpp b/Kernel/PCI/MMIOAccess.cpp index 7fc1ca857d..b3b1b8d892 100644 --- a/Kernel/PCI/MMIOAccess.cpp +++ b/Kernel/PCI/MMIOAccess.cpp @@ -28,6 +28,8 @@ #include #include +namespace Kernel { + #define PCI_MMIO_CONFIG_SPACE_SIZE 4096 uint32_t PCI::MMIOAccess::get_segments_count() @@ -227,3 +229,5 @@ PhysicalAddress PCI::MMIOSegment::get_paddr() { return m_base_addr; } + +} diff --git a/Kernel/PCI/MMIOAccess.h b/Kernel/PCI/MMIOAccess.h index 7854b03f3b..717cc2b5cc 100644 --- a/Kernel/PCI/MMIOAccess.h +++ b/Kernel/PCI/MMIOAccess.h @@ -35,6 +35,8 @@ #include #include +namespace Kernel { + class PCI::MMIOAccess final : public PCI::Access { public: static void initialize(ACPI_RAW::MCFG&); @@ -42,6 +44,7 @@ public: virtual String get_access_type() override final { return "MMIO-Access"; }; virtual u32 get_segments_count(); + protected: explicit MMIOAccess(ACPI_RAW::MCFG&); @@ -75,4 +78,6 @@ private: PhysicalAddress m_base_addr; u8 m_start_bus; u8 m_end_bus; -}; \ No newline at end of file +}; + +} diff --git a/Kernel/PerformanceEventBuffer.cpp b/Kernel/PerformanceEventBuffer.cpp index dc0618101e..0f7a8b47ac 100644 --- a/Kernel/PerformanceEventBuffer.cpp +++ b/Kernel/PerformanceEventBuffer.cpp @@ -29,6 +29,8 @@ #include #include +namespace Kernel { + PerformanceEventBuffer::PerformanceEventBuffer() : m_buffer(KBuffer::create_with_size(4 * MB)) { @@ -124,3 +126,5 @@ KBuffer PerformanceEventBuffer::to_json(pid_t pid, const String& executable_path object.finish(); return builder.build(); } + +} diff --git a/Kernel/PerformanceEventBuffer.h b/Kernel/PerformanceEventBuffer.h index eb4f24baed..5e5f15ff4e 100644 --- a/Kernel/PerformanceEventBuffer.h +++ b/Kernel/PerformanceEventBuffer.h @@ -29,17 +29,22 @@ #include #include -struct [[gnu::packed]] MallocPerformanceEvent { +namespace Kernel { + +struct [[gnu::packed]] MallocPerformanceEvent +{ size_t size; uintptr_t ptr; }; -struct [[gnu::packed]] FreePerformanceEvent { +struct [[gnu::packed]] FreePerformanceEvent +{ size_t size; uintptr_t ptr; }; -struct [[gnu::packed]] PerformanceEvent { +struct [[gnu::packed]] PerformanceEvent +{ u8 type { 0 }; u8 stack_size { 0 }; u64 timestamp; @@ -71,3 +76,5 @@ private: size_t m_count { 0 }; KBuffer m_buffer; }; + +} diff --git a/Kernel/Process.cpp b/Kernel/Process.cpp index 1419c4d379..316dbb857d 100644 --- a/Kernel/Process.cpp +++ b/Kernel/Process.cpp @@ -82,6 +82,8 @@ //#define SIGNAL_DEBUG //#define SHARED_BUFFER_DEBUG +namespace Kernel { + static void create_signal_trampolines(); static void create_kernel_info_page(); @@ -4726,3 +4728,5 @@ int Process::sys$perf_event(int type, uintptr_t arg1, uintptr_t arg2) m_perf_event_buffer = make(); return m_perf_event_buffer->append(type, arg1, arg2); } + +} diff --git a/Kernel/Process.h b/Kernel/Process.h index 170adb1181..46520de607 100644 --- a/Kernel/Process.h +++ b/Kernel/Process.h @@ -44,6 +44,9 @@ #include class ELFLoader; + +namespace Kernel { + class FileDescription; class KBuffer; class PageDirectory; @@ -665,3 +668,5 @@ inline u32 Thread::effective_priority() const ASSERT_NOT_REACHED(); \ } \ } while (0) + +} diff --git a/Kernel/ProcessTracer.cpp b/Kernel/ProcessTracer.cpp index 1d491d6fd7..6485070f36 100644 --- a/Kernel/ProcessTracer.cpp +++ b/Kernel/ProcessTracer.cpp @@ -26,6 +26,8 @@ #include +namespace Kernel { + ProcessTracer::ProcessTracer(pid_t pid) : m_pid(pid) { @@ -56,3 +58,5 @@ String ProcessTracer::absolute_path(const FileDescription&) const { return String::format("tracer:%d", m_pid); } + +} diff --git a/Kernel/ProcessTracer.h b/Kernel/ProcessTracer.h index 6e64b62567..64e35183d1 100644 --- a/Kernel/ProcessTracer.h +++ b/Kernel/ProcessTracer.h @@ -30,6 +30,8 @@ #include #include +namespace Kernel { + class ProcessTracer : public File { public: static NonnullRefPtr create(pid_t pid) { return adopt(*new ProcessTracer(pid)); } @@ -65,3 +67,5 @@ private: bool m_dead { false }; CircularQueue m_calls; }; + +} diff --git a/Kernel/Profiling.cpp b/Kernel/Profiling.cpp index ac3a18f0a6..bb16d68b9f 100644 --- a/Kernel/Profiling.cpp +++ b/Kernel/Profiling.cpp @@ -28,10 +28,13 @@ #include #include #include +#include #include #include #include +namespace Kernel { + namespace Profiling { static KBufferImpl* s_profiling_buffer; @@ -123,3 +126,5 @@ void for_each_sample(Function callback) } } + +} diff --git a/Kernel/Profiling.h b/Kernel/Profiling.h index 1aa9ba04b2..d2539e7b62 100644 --- a/Kernel/Profiling.h +++ b/Kernel/Profiling.h @@ -30,6 +30,8 @@ #include #include +namespace Kernel { + class Process; namespace Profiling { @@ -51,3 +53,5 @@ void stop(); void for_each_sample(Function); } + +} diff --git a/Kernel/Random.cpp b/Kernel/Random.cpp index c293088fca..b5c61b2b20 100644 --- a/Kernel/Random.cpp +++ b/Kernel/Random.cpp @@ -25,8 +25,10 @@ */ #include -#include #include +#include + +namespace Kernel { static u32 random32() { @@ -65,3 +67,5 @@ void get_fast_random_bytes(u8* buffer, size_t buffer_size) { return get_good_random_bytes(buffer, buffer_size); } + +} diff --git a/Kernel/Random.h b/Kernel/Random.h index 75ddd2d783..1e112ca5d5 100644 --- a/Kernel/Random.h +++ b/Kernel/Random.h @@ -28,6 +28,8 @@ #include +namespace Kernel { + // NOTE: These API's are primarily about expressing intent/needs in the calling code. // We don't make any guarantees about actual fastness or goodness yet. @@ -50,3 +52,4 @@ inline T get_good_random() return value; } +} diff --git a/Kernel/Scheduler.cpp b/Kernel/Scheduler.cpp index 9ecbc0c242..123b20125f 100644 --- a/Kernel/Scheduler.cpp +++ b/Kernel/Scheduler.cpp @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -38,6 +39,8 @@ //#define SCHEDULER_DEBUG //#define SCHEDULER_RUNNABLE_DEBUG +namespace Kernel { + SchedulerData* g_scheduler_data; void Scheduler::init_thread(Thread& thread) @@ -669,3 +672,5 @@ void Scheduler::idle_loop() } } } + +} diff --git a/Kernel/Scheduler.h b/Kernel/Scheduler.h index 6ce96f33a8..e52bc4ab56 100644 --- a/Kernel/Scheduler.h +++ b/Kernel/Scheduler.h @@ -27,9 +27,11 @@ #pragma once #include -#include #include #include +#include + +namespace Kernel { class Process; class Thread; @@ -74,3 +76,5 @@ public: private: static void prepare_for_iret_to_new_process(); }; + +} diff --git a/Kernel/SharedBuffer.cpp b/Kernel/SharedBuffer.cpp index 7371ec79e0..e62aef6200 100644 --- a/Kernel/SharedBuffer.cpp +++ b/Kernel/SharedBuffer.cpp @@ -27,6 +27,8 @@ #include #include +namespace Kernel { + Lockable>>& shared_buffers() { static Lockable>>* map; @@ -187,3 +189,5 @@ void SharedBuffer::seal() } } } + +} diff --git a/Kernel/SharedBuffer.h b/Kernel/SharedBuffer.h index 7d7cf5ab48..949df01428 100644 --- a/Kernel/SharedBuffer.h +++ b/Kernel/SharedBuffer.h @@ -30,7 +30,9 @@ #include #include -struct SharedBuffer { +namespace Kernel { + +class SharedBuffer { private: struct Reference { Reference(pid_t pid) @@ -83,3 +85,5 @@ public: }; Lockable>>& shared_buffers(); + +} diff --git a/Kernel/Syscall.cpp b/Kernel/Syscall.cpp index ec0a4f5036..45f2dd8d6e 100644 --- a/Kernel/Syscall.cpp +++ b/Kernel/Syscall.cpp @@ -31,6 +31,8 @@ #include #include +namespace Kernel { + extern "C" void syscall_handler(RegisterState); extern "C" void syscall_asm_entry(); @@ -175,3 +177,5 @@ void syscall_handler(RegisterState regs) if (current->has_unmasked_pending_signals()) (void)current->block(Thread::SemiPermanentBlocker::Reason::Signal); } + +} diff --git a/Kernel/Syscall.h b/Kernel/Syscall.h index 75e8cf7990..714cc4bff9 100644 --- a/Kernel/Syscall.h +++ b/Kernel/Syscall.h @@ -40,6 +40,8 @@ struct siginfo; typedef u32 socklen_t; } +namespace Kernel { + #define ENUMERATE_SYSCALLS \ __ENUMERATE_SYSCALL(sleep) \ __ENUMERATE_SYSCALL(yield) \ @@ -474,3 +476,7 @@ ENUMERATE_SYSCALLS #undef __ENUMERATE_SYSCALL #undef __ENUMERATE_REMOVED_SYSCALL #define syscall Syscall::invoke + +} + +using namespace Kernel; diff --git a/Kernel/TTY/MasterPTY.cpp b/Kernel/TTY/MasterPTY.cpp index a7e43a900f..ad299873ab 100644 --- a/Kernel/TTY/MasterPTY.cpp +++ b/Kernel/TTY/MasterPTY.cpp @@ -34,6 +34,8 @@ //#define MASTERPTY_DEBUG +namespace Kernel { + MasterPTY::MasterPTY(unsigned index) : CharacterDevice(200, index) , m_slave(adopt(*new SlavePTY(*this, index))) @@ -136,3 +138,5 @@ String MasterPTY::absolute_path(const FileDescription&) const { return String::format("ptm:%s", m_pts_name.characters()); } + +} diff --git a/Kernel/TTY/MasterPTY.h b/Kernel/TTY/MasterPTY.h index 7fd50428c7..1bf1410676 100644 --- a/Kernel/TTY/MasterPTY.h +++ b/Kernel/TTY/MasterPTY.h @@ -30,6 +30,8 @@ #include #include +namespace Kernel { + class SlavePTY; class MasterPTY final : public CharacterDevice { @@ -63,3 +65,5 @@ private: DoubleBuffer m_buffer; String m_pts_name; }; + +} diff --git a/Kernel/TTY/PTYMultiplexer.cpp b/Kernel/TTY/PTYMultiplexer.cpp index bdbadaa4d8..24420f14b4 100644 --- a/Kernel/TTY/PTYMultiplexer.cpp +++ b/Kernel/TTY/PTYMultiplexer.cpp @@ -32,6 +32,8 @@ //#define PTMX_DEBUG +namespace Kernel { + static const unsigned s_max_pty_pairs = 8; static PTYMultiplexer* s_the; @@ -78,3 +80,5 @@ void PTYMultiplexer::notify_master_destroyed(Badge, unsigned index) dbgprintf("PTYMultiplexer: %u added to freelist\n", index); #endif } + +} diff --git a/Kernel/TTY/PTYMultiplexer.h b/Kernel/TTY/PTYMultiplexer.h index 776f567725..bc2a4116ad 100644 --- a/Kernel/TTY/PTYMultiplexer.h +++ b/Kernel/TTY/PTYMultiplexer.h @@ -30,6 +30,8 @@ #include #include +namespace Kernel { + class MasterPTY; class PTYMultiplexer final : public CharacterDevice { @@ -56,3 +58,5 @@ private: Lock m_lock { "PTYMultiplexer" }; Vector m_freelist; }; + +} diff --git a/Kernel/TTY/SlavePTY.cpp b/Kernel/TTY/SlavePTY.cpp index 76a6f14aa8..3a6c879606 100644 --- a/Kernel/TTY/SlavePTY.cpp +++ b/Kernel/TTY/SlavePTY.cpp @@ -31,6 +31,8 @@ //#define SLAVEPTY_DEBUG +namespace Kernel { + SlavePTY::SlavePTY(MasterPTY& master, unsigned index) : TTY(201, index) , m_master(master) @@ -97,3 +99,5 @@ void SlavePTY::close() { m_master->notify_slave_closed({}); } + +} diff --git a/Kernel/TTY/SlavePTY.h b/Kernel/TTY/SlavePTY.h index 35b6e2945e..f8c670d42a 100644 --- a/Kernel/TTY/SlavePTY.h +++ b/Kernel/TTY/SlavePTY.h @@ -29,6 +29,8 @@ #include #include +namespace Kernel { + class MasterPTY; class SlavePTY final : public TTY { @@ -58,3 +60,5 @@ private: unsigned m_index; char m_tty_name[32]; }; + +} diff --git a/Kernel/TTY/TTY.cpp b/Kernel/TTY/TTY.cpp index 529d89023c..94f05a3898 100644 --- a/Kernel/TTY/TTY.cpp +++ b/Kernel/TTY/TTY.cpp @@ -32,6 +32,8 @@ //#define TTY_DEBUG +namespace Kernel { + TTY::TTY(unsigned major, unsigned minor) : CharacterDevice(major, minor) { @@ -345,3 +347,5 @@ void TTY::hang_up() { generate_signal(SIGHUP); } + +} diff --git a/Kernel/TTY/TTY.h b/Kernel/TTY/TTY.h index 61e4775da5..bc793741d0 100644 --- a/Kernel/TTY/TTY.h +++ b/Kernel/TTY/TTY.h @@ -31,6 +31,8 @@ #include #include +namespace Kernel { + class Process; class TTY : public CharacterDevice { @@ -95,3 +97,5 @@ private: unsigned short m_rows { 0 }; unsigned short m_columns { 0 }; }; + +} diff --git a/Kernel/TTY/VirtualConsole.cpp b/Kernel/TTY/VirtualConsole.cpp index 7fdea47553..c33c20d4b6 100644 --- a/Kernel/TTY/VirtualConsole.cpp +++ b/Kernel/TTY/VirtualConsole.cpp @@ -32,6 +32,8 @@ #include #include +namespace Kernel { + static u8* s_vga_buffer; static VirtualConsole* s_consoles[6]; static int s_active_console; @@ -588,3 +590,5 @@ void VirtualConsole::set_vga_start_row(u16 row) IO::out8(0x3d4, 0x0d); IO::out8(0x3d5, LSB(m_current_vga_start_address)); } + +} diff --git a/Kernel/TTY/VirtualConsole.h b/Kernel/TTY/VirtualConsole.h index 7f173eb39b..6d66394445 100644 --- a/Kernel/TTY/VirtualConsole.h +++ b/Kernel/TTY/VirtualConsole.h @@ -30,6 +30,8 @@ #include #include +namespace Kernel { + class VirtualConsole final : public TTY , public KeyboardClient , public ConsoleImplementation { @@ -116,3 +118,5 @@ private: u8* m_horizontal_tabs { nullptr }; char m_tty_name[32]; }; + +} diff --git a/Kernel/Thread.cpp b/Kernel/Thread.cpp index 2ac2ea4197..90b2ff526b 100644 --- a/Kernel/Thread.cpp +++ b/Kernel/Thread.cpp @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -39,6 +40,8 @@ //#define SIGNAL_DEBUG //#define THREAD_DEBUG +namespace Kernel { + static FPUState s_clean_fpu_state; u16 thread_specific_selector() @@ -872,3 +875,5 @@ Thread* Thread::from_tid(int tid) }); return found_thread; } + +} diff --git a/Kernel/Thread.h b/Kernel/Thread.h index 600deb775c..400281be9c 100644 --- a/Kernel/Thread.h +++ b/Kernel/Thread.h @@ -28,7 +28,9 @@ #include #include +#include #include +#include #include #include #include @@ -37,9 +39,10 @@ #include #include #include -#include #include +namespace Kernel { + class Alarm; class FileDescription; class Process; @@ -179,6 +182,7 @@ public: explicit WriteBlocker(const FileDescription&); virtual bool should_unblock(Thread&, time_t, long) override; virtual const char* state_string() const override { return "Writing"; } + private: Optional m_deadline; }; @@ -188,6 +192,7 @@ public: explicit ReadBlocker(const FileDescription&); virtual bool should_unblock(Thread&, time_t, long) override; virtual const char* state_string() const override { return "Reading"; } + private: Optional m_deadline; }; @@ -579,3 +584,5 @@ inline IterationDecision Scheduler::for_each_nonrunnable(Callback callback) u16 thread_specific_selector(); Descriptor& thread_specific_descriptor(); + +} diff --git a/Kernel/TimerQueue.cpp b/Kernel/TimerQueue.cpp index ec20278d41..0e2add6a3f 100644 --- a/Kernel/TimerQueue.cpp +++ b/Kernel/TimerQueue.cpp @@ -30,6 +30,8 @@ #include #include +namespace Kernel { + static TimerQueue* s_the; TimerQueue& TimerQueue::the() @@ -96,3 +98,5 @@ void TimerQueue::update_next_timer_due() else m_next_timer_due = m_timer_queue.first()->expires; } + +} diff --git a/Kernel/TimerQueue.h b/Kernel/TimerQueue.h index 83ee90f088..b21a9081a2 100644 --- a/Kernel/TimerQueue.h +++ b/Kernel/TimerQueue.h @@ -32,6 +32,8 @@ #include #include +namespace Kernel { + struct Timer { u64 id; u64 expires; @@ -72,3 +74,5 @@ private: u64 m_timer_id_count { 0 }; SinglyLinkedList> m_timer_queue; }; + +} diff --git a/Kernel/VM/AnonymousVMObject.cpp b/Kernel/VM/AnonymousVMObject.cpp index 0cc0711d86..0bd8c24866 100644 --- a/Kernel/VM/AnonymousVMObject.cpp +++ b/Kernel/VM/AnonymousVMObject.cpp @@ -28,6 +28,8 @@ #include #include +namespace Kernel { + NonnullRefPtr AnonymousVMObject::create_with_size(size_t size) { return adopt(*new AnonymousVMObject(size)); @@ -79,3 +81,5 @@ NonnullRefPtr AnonymousVMObject::clone() { return adopt(*new AnonymousVMObject(*this)); } + +} diff --git a/Kernel/VM/AnonymousVMObject.h b/Kernel/VM/AnonymousVMObject.h index 2bdbb1cde6..3b9631c6f0 100644 --- a/Kernel/VM/AnonymousVMObject.h +++ b/Kernel/VM/AnonymousVMObject.h @@ -29,6 +29,8 @@ #include #include +namespace Kernel { + class AnonymousVMObject : public VMObject { public: virtual ~AnonymousVMObject() override; @@ -51,3 +53,5 @@ private: virtual bool is_anonymous() const override { return true; } }; + +} diff --git a/Kernel/VM/InodeVMObject.cpp b/Kernel/VM/InodeVMObject.cpp index 36a97b87bb..226675bd47 100644 --- a/Kernel/VM/InodeVMObject.cpp +++ b/Kernel/VM/InodeVMObject.cpp @@ -29,6 +29,8 @@ #include #include +namespace Kernel { + NonnullRefPtr InodeVMObject::create_with_inode(Inode& inode) { size_t size = inode.size(); @@ -195,3 +197,5 @@ u32 InodeVMObject::executable_mappings() const }); return count; } + +} diff --git a/Kernel/VM/InodeVMObject.h b/Kernel/VM/InodeVMObject.h index 3f5705948d..9c22320ed0 100644 --- a/Kernel/VM/InodeVMObject.h +++ b/Kernel/VM/InodeVMObject.h @@ -26,9 +26,12 @@ #pragma once +#include #include #include +namespace Kernel { + class InodeVMObject final : public VMObject { public: virtual ~InodeVMObject() override; @@ -65,3 +68,5 @@ private: NonnullRefPtr m_inode; Bitmap m_dirty_pages; }; + +} diff --git a/Kernel/VM/MemoryManager.cpp b/Kernel/VM/MemoryManager.cpp index a4433ed036..86122d83e7 100644 --- a/Kernel/VM/MemoryManager.cpp +++ b/Kernel/VM/MemoryManager.cpp @@ -39,6 +39,12 @@ //#define MM_DEBUG //#define PAGE_FAULT_DEBUG +extern uintptr_t start_of_kernel_text; +extern uintptr_t start_of_kernel_data; +extern uintptr_t end_of_kernel_bss; + +namespace Kernel { + static MemoryManager* s_the; MemoryManager& MM @@ -64,8 +70,6 @@ MemoryManager::~MemoryManager() void MemoryManager::protect_kernel_image() { // Disable writing to the kernel text and rodata segments. - extern uintptr_t start_of_kernel_text; - extern uintptr_t start_of_kernel_data; for (size_t i = (uintptr_t)&start_of_kernel_text; i < (uintptr_t)&start_of_kernel_data; i += PAGE_SIZE) { auto& pte = ensure_pte(kernel_page_directory(), VirtualAddress(i)); pte.set_writable(false); @@ -73,7 +77,6 @@ void MemoryManager::protect_kernel_image() if (g_cpu_supports_nx) { // Disable execution of the kernel data and bss segments. - extern uintptr_t end_of_kernel_bss; for (size_t i = (uintptr_t)&start_of_kernel_data; i < (uintptr_t)&end_of_kernel_bss; i += PAGE_SIZE) { auto& pte = ensure_pte(kernel_page_directory(), VirtualAddress(i)); pte.set_execute_disabled(true); @@ -681,3 +684,5 @@ ProcessPagingScope::~ProcessPagingScope() current->tss().cr3 = m_previous_cr3; write_cr3(m_previous_cr3); } + +} diff --git a/Kernel/VM/MemoryManager.h b/Kernel/VM/MemoryManager.h index 9c6955507f..48d1ff5fa3 100644 --- a/Kernel/VM/MemoryManager.h +++ b/Kernel/VM/MemoryManager.h @@ -44,6 +44,8 @@ #include #include +namespace Kernel { + #define PAGE_ROUND_UP(x) ((((u32)(x)) + PAGE_SIZE - 1) & (~(PAGE_SIZE - 1))) template @@ -71,7 +73,7 @@ inline u32 virtual_to_low_physical(u32 physical) class KBuffer; class SynthFSInode; -#define MM MemoryManager::the() +#define MM Kernel::MemoryManager::the() class MemoryManager { AK_MAKE_ETERNAL @@ -138,8 +140,10 @@ private: MemoryManager(); ~MemoryManager(); - enum class AccessSpace { Kernel, User }; - enum class AccessType { Read, Write }; + enum class AccessSpace { Kernel, + User }; + enum class AccessType { Read, + Write }; template bool validate_range(const Process&, VirtualAddress, size_t) const; @@ -232,3 +236,5 @@ inline bool PhysicalPage::is_shared_zero_page() const { return this == &MM.shared_zero_page(); } + +} diff --git a/Kernel/VM/PageDirectory.cpp b/Kernel/VM/PageDirectory.cpp index 9bb56d7b79..3c8eb10934 100644 --- a/Kernel/VM/PageDirectory.cpp +++ b/Kernel/VM/PageDirectory.cpp @@ -30,6 +30,8 @@ #include #include +namespace Kernel { + static const uintptr_t userspace_range_base = 0x00800000; static const uintptr_t userspace_range_ceiling = 0xbe000000; static const uintptr_t kernelspace_range_base = 0xc0800000; @@ -117,3 +119,5 @@ PageDirectory::~PageDirectory() InterruptDisabler disabler; cr3_map().remove(cr3()); } + +} diff --git a/Kernel/VM/PageDirectory.h b/Kernel/VM/PageDirectory.h index 67dc21dd92..45a4b909c2 100644 --- a/Kernel/VM/PageDirectory.h +++ b/Kernel/VM/PageDirectory.h @@ -32,6 +32,8 @@ #include #include +namespace Kernel { + class Process; class PageDirectory : public RefCounted { @@ -64,3 +66,5 @@ private: RefPtr m_directory_pages[4]; HashMap> m_physical_pages; }; + +} diff --git a/Kernel/VM/PhysicalPage.cpp b/Kernel/VM/PhysicalPage.cpp index 36be738029..d2b67c1357 100644 --- a/Kernel/VM/PhysicalPage.cpp +++ b/Kernel/VM/PhysicalPage.cpp @@ -28,6 +28,8 @@ #include #include +namespace Kernel { + NonnullRefPtr PhysicalPage::create(PhysicalAddress paddr, bool supervisor, bool may_return_to_freelist) { return adopt(*new PhysicalPage(paddr, supervisor, may_return_to_freelist)); @@ -57,3 +59,5 @@ void PhysicalPage::return_to_freelist() && dbgprintf("MM: P%x released to freelist\n", m_paddr.get()); #endif } + +} diff --git a/Kernel/VM/PhysicalPage.h b/Kernel/VM/PhysicalPage.h index 2606074daa..fe74ed6aff 100644 --- a/Kernel/VM/PhysicalPage.h +++ b/Kernel/VM/PhysicalPage.h @@ -31,6 +31,8 @@ #include #include +namespace Kernel { + class PhysicalPage { friend class MemoryManager; friend class PageDirectory; @@ -73,3 +75,5 @@ private: bool m_supervisor { false }; PhysicalAddress m_paddr; }; + +} diff --git a/Kernel/VM/PhysicalRegion.cpp b/Kernel/VM/PhysicalRegion.cpp index cad0d255e2..558d8a51c4 100644 --- a/Kernel/VM/PhysicalRegion.cpp +++ b/Kernel/VM/PhysicalRegion.cpp @@ -31,6 +31,8 @@ #include #include +namespace Kernel { + NonnullRefPtr PhysicalRegion::create(PhysicalAddress lower, PhysicalAddress upper) { return adopt(*new PhysicalRegion(lower, upper)); @@ -112,3 +114,5 @@ void PhysicalRegion::return_page_at(PhysicalAddress addr) m_bitmap.set(page, false); m_used--; } + +} diff --git a/Kernel/VM/PhysicalRegion.h b/Kernel/VM/PhysicalRegion.h index 2fdf2dcc9d..fcc7d0f19b 100644 --- a/Kernel/VM/PhysicalRegion.h +++ b/Kernel/VM/PhysicalRegion.h @@ -27,10 +27,12 @@ #pragma once #include -#include #include +#include #include +namespace Kernel { + class PhysicalRegion : public RefCounted { AK_MAKE_ETERNAL @@ -62,3 +64,5 @@ private: unsigned m_last { 0 }; Bitmap m_bitmap; }; + +} diff --git a/Kernel/VM/PurgeableVMObject.cpp b/Kernel/VM/PurgeableVMObject.cpp index 4da63416bc..e293db8c2b 100644 --- a/Kernel/VM/PurgeableVMObject.cpp +++ b/Kernel/VM/PurgeableVMObject.cpp @@ -28,6 +28,8 @@ #include #include +namespace Kernel { + NonnullRefPtr PurgeableVMObject::create_with_size(size_t size) { return adopt(*new PurgeableVMObject(size)); @@ -84,3 +86,5 @@ int PurgeableVMObject::purge_impl() return purged_page_count; } + +} diff --git a/Kernel/VM/PurgeableVMObject.h b/Kernel/VM/PurgeableVMObject.h index b58adec787..715df1d774 100644 --- a/Kernel/VM/PurgeableVMObject.h +++ b/Kernel/VM/PurgeableVMObject.h @@ -28,6 +28,8 @@ #include +namespace Kernel { + class PurgeableVMObject final : public AnonymousVMObject { public: virtual ~PurgeableVMObject() override; @@ -59,3 +61,5 @@ private: bool m_was_purged { false }; bool m_volatile { false }; }; + +} diff --git a/Kernel/VM/RangeAllocator.cpp b/Kernel/VM/RangeAllocator.cpp index 5623147da9..95d34120e5 100644 --- a/Kernel/VM/RangeAllocator.cpp +++ b/Kernel/VM/RangeAllocator.cpp @@ -33,6 +33,8 @@ //#define VRA_DEBUG #define VM_GUARD_PAGES +namespace Kernel { + RangeAllocator::RangeAllocator() { } @@ -194,3 +196,5 @@ void RangeAllocator::deallocate(Range range) dump(); #endif } + +} diff --git a/Kernel/VM/RangeAllocator.h b/Kernel/VM/RangeAllocator.h index a820348542..68e9d57152 100644 --- a/Kernel/VM/RangeAllocator.h +++ b/Kernel/VM/RangeAllocator.h @@ -31,6 +31,8 @@ #include #include +namespace Kernel { + class Range { friend class RangeAllocator; @@ -100,9 +102,12 @@ inline const LogStream& operator<<(const LogStream& stream, const Range& value) return stream << String::format("Range(%x-%x)", value.base().get(), value.end().get() - 1); } +} + namespace AK { template<> -struct Traits : public GenericTraits { +struct Traits : public GenericTraits { static constexpr bool is_trivial() { return true; } }; } + diff --git a/Kernel/VM/Region.cpp b/Kernel/VM/Region.cpp index d07f0da383..8b7c935341 100644 --- a/Kernel/VM/Region.cpp +++ b/Kernel/VM/Region.cpp @@ -35,6 +35,8 @@ //#define MM_DEBUG //#define PAGE_FAULT_DEBUG +namespace Kernel { + Region::Region(const Range& range, const String& name, u8 access, bool cacheable) : m_range(range) , m_vmobject(AnonymousVMObject::create_with_size(size())) @@ -500,3 +502,5 @@ PageFaultResponse Region::handle_inode_fault(size_t page_index_in_region) remap_page(page_index_in_region); return PageFaultResponse::Continue; } + +} diff --git a/Kernel/VM/Region.h b/Kernel/VM/Region.h index 7d2032a6e2..f75a25d82c 100644 --- a/Kernel/VM/Region.h +++ b/Kernel/VM/Region.h @@ -33,6 +33,8 @@ #include #include +namespace Kernel { + class Inode; class VMObject; @@ -192,3 +194,5 @@ private: bool m_mmap { false }; mutable OwnPtr m_cow_map; }; + +} diff --git a/Kernel/VM/VMObject.cpp b/Kernel/VM/VMObject.cpp index 2fdd2b1043..4b4c92c93e 100644 --- a/Kernel/VM/VMObject.cpp +++ b/Kernel/VM/VMObject.cpp @@ -29,6 +29,8 @@ #include #include +namespace Kernel { + VMObject::VMObject(const VMObject& other) : m_physical_pages(other.m_physical_pages) { @@ -45,3 +47,5 @@ VMObject::~VMObject() { MM.unregister_vmobject(*this); } + +} diff --git a/Kernel/VM/VMObject.h b/Kernel/VM/VMObject.h index d1eb409d22..67bb137850 100644 --- a/Kernel/VM/VMObject.h +++ b/Kernel/VM/VMObject.h @@ -33,6 +33,8 @@ #include #include +namespace Kernel { + class Inode; class PhysicalPage; @@ -76,3 +78,5 @@ private: VMObject& operator=(VMObject&&) = delete; VMObject(VMObject&&) = delete; }; + +} diff --git a/Kernel/WaitQueue.cpp b/Kernel/WaitQueue.cpp index 6ef1fec8b3..2f866c302d 100644 --- a/Kernel/WaitQueue.cpp +++ b/Kernel/WaitQueue.cpp @@ -27,6 +27,8 @@ #include #include +namespace Kernel { + WaitQueue::WaitQueue() { } @@ -62,3 +64,5 @@ void WaitQueue::wake_all() m_threads.take_first()->wake_from_queue(); Scheduler::stop_idling(); } + +} diff --git a/Kernel/WaitQueue.h b/Kernel/WaitQueue.h index 75cf76b4fc..c8d7bf3810 100644 --- a/Kernel/WaitQueue.h +++ b/Kernel/WaitQueue.h @@ -30,6 +30,8 @@ #include #include +namespace Kernel { + class WaitQueue { public: WaitQueue(); @@ -43,3 +45,5 @@ private: typedef IntrusiveList ThreadList; ThreadList m_threads; }; + +} diff --git a/Kernel/init.cpp b/Kernel/init.cpp index a592e1107e..235f58da9d 100644 --- a/Kernel/init.cpp +++ b/Kernel/init.cpp @@ -71,14 +71,6 @@ #include #include -[[noreturn]] static void init_stage2(); -static void setup_serial_debug(); -static void setup_acpi(); -static void setup_vmmouse(); -static void setup_pci(); - -VirtualConsole* tty0; - // Defined in the linker script typedef void (*ctor_func_t)(); extern ctor_func_t start_ctors; @@ -87,6 +79,16 @@ extern ctor_func_t end_ctors; extern u32 __stack_chk_guard; u32 __stack_chk_guard; +namespace Kernel { + +[[noreturn]] static void init_stage2(); +static void setup_serial_debug(); +static void setup_acpi(); +static void setup_vmmouse(); +static void setup_pci(); + +VirtualConsole* tty0; + extern "C" [[noreturn]] void init() { setup_serial_debug(); @@ -455,3 +457,5 @@ void setup_pci() } PCI::Initializer::the().dismiss(); } + +} diff --git a/Libraries/LibBareMetal/Output/Console.cpp b/Libraries/LibBareMetal/Output/Console.cpp index fce5c15146..0a424185f7 100644 --- a/Libraries/LibBareMetal/Output/Console.cpp +++ b/Libraries/LibBareMetal/Output/Console.cpp @@ -57,19 +57,19 @@ Console::~Console() } #if defined(KERNEL) -bool Console::can_read(const FileDescription&) const +bool Console::can_read(const Kernel::FileDescription&) const { return false; } -ssize_t Console::read(FileDescription&, u8*, ssize_t) +ssize_t Console::read(Kernel::FileDescription&, u8*, ssize_t) { // FIXME: Implement reading from the console. // Maybe we could use a ring buffer for this device? return 0; } -ssize_t Console::write(FileDescription&, const u8* data, ssize_t size) +ssize_t Console::write(Kernel::FileDescription&, const u8* data, ssize_t size) { if (!size) return 0; diff --git a/Libraries/LibBareMetal/Output/Console.h b/Libraries/LibBareMetal/Output/Console.h index 039a7958f0..48359c8eca 100644 --- a/Libraries/LibBareMetal/Output/Console.h +++ b/Libraries/LibBareMetal/Output/Console.h @@ -39,7 +39,7 @@ public: }; #if defined(KERNEL) -class Console final : public CharacterDevice { +class Console final : public Kernel::CharacterDevice { AK_MAKE_ETERNAL #elif defined(BOOTSTRAPPER) class Console { @@ -57,10 +57,10 @@ public: #if defined(KERNEL) // ^CharacterDevice - virtual bool can_read(const FileDescription&) const override; - virtual bool can_write(const FileDescription&) const override { return true; } - virtual ssize_t read(FileDescription&, u8*, ssize_t) override; - virtual ssize_t write(FileDescription&, const u8*, ssize_t) override; + virtual bool can_read(const Kernel::FileDescription&) const override; + virtual bool can_write(const Kernel::FileDescription&) const override { return true; } + virtual ssize_t read(Kernel::FileDescription&, u8*, ssize_t) override; + virtual ssize_t write(Kernel::FileDescription&, const u8*, ssize_t) override; virtual const char* class_name() const override { return "Console"; } #endif void set_implementation(ConsoleImplementation* implementation) diff --git a/Libraries/LibBareMetal/StdLib.cpp b/Libraries/LibBareMetal/StdLib.cpp index 698eeb934f..ce7c6b13bc 100644 --- a/Libraries/LibBareMetal/StdLib.cpp +++ b/Libraries/LibBareMetal/StdLib.cpp @@ -38,7 +38,7 @@ #ifdef KERNEL String copy_string_from_user(const char* user_str, size_t user_str_size) { - SmapDisabler disabler; + Kernel::SmapDisabler disabler; size_t length = strnlen(user_str, user_str_size); return String(user_str, length); } @@ -49,15 +49,15 @@ extern "C" { #ifdef KERNEL void copy_to_user(void* dest_ptr, const void* src_ptr, size_t n) { - ASSERT(is_user_range(VirtualAddress(dest_ptr), n)); - SmapDisabler disabler; + ASSERT(Kernel::is_user_range(VirtualAddress(dest_ptr), n)); + Kernel::SmapDisabler disabler; memcpy(dest_ptr, src_ptr, n); } void copy_from_user(void* dest_ptr, const void* src_ptr, size_t n) { - ASSERT(is_user_range(VirtualAddress(src_ptr), n)); - SmapDisabler disabler; + ASSERT(Kernel::is_user_range(VirtualAddress(src_ptr), n)); + Kernel::SmapDisabler disabler; memcpy(dest_ptr, src_ptr, n); } #endif @@ -118,8 +118,8 @@ char* strncpy(char* dest, const char* src, size_t n) #ifdef KERNEL void memset_user(void* dest_ptr, int c, size_t n) { - ASSERT(is_user_range(VirtualAddress(dest_ptr), n)); - SmapDisabler disabler; + ASSERT(Kernel::is_user_range(VirtualAddress(dest_ptr), n)); + Kernel::SmapDisabler disabler; memset(dest_ptr, c, n); } #endif diff --git a/Libraries/LibELF/ELFLoader.cpp b/Libraries/LibELF/ELFLoader.cpp index 610861ae17..8a6abe319d 100644 --- a/Libraries/LibELF/ELFLoader.cpp +++ b/Libraries/LibELF/ELFLoader.cpp @@ -154,7 +154,7 @@ String ELFLoader::symbolicate(u32 address, u32* out_offset) const SortedSymbol* sorted_symbols = nullptr; #ifdef KERNEL if (!m_sorted_symbols_region) { - m_sorted_symbols_region = MM.allocate_kernel_region(PAGE_ROUND_UP(m_image.symbol_count() * sizeof(SortedSymbol)), "Sorted symbols", Region::Access::Read | Region::Access::Write); + m_sorted_symbols_region = MM.allocate_kernel_region(PAGE_ROUND_UP(m_image.symbol_count() * sizeof(SortedSymbol)), "Sorted symbols", Kernel::Region::Access::Read | Kernel::Region::Access::Write); sorted_symbols = (SortedSymbol*)m_sorted_symbols_region->vaddr().as_ptr(); size_t index = 0; m_image.for_each_symbol([&](auto& symbol) { diff --git a/Libraries/LibELF/ELFLoader.h b/Libraries/LibELF/ELFLoader.h index 6aa303c708..1331dd2711 100644 --- a/Libraries/LibELF/ELFLoader.h +++ b/Libraries/LibELF/ELFLoader.h @@ -34,7 +34,9 @@ #ifdef KERNEL # include +namespace Kernel { class Region; +} #endif class ELFLoader { @@ -80,7 +82,7 @@ private: StringView name; }; #ifdef KERNEL - mutable OwnPtr m_sorted_symbols_region; + mutable OwnPtr m_sorted_symbols_region; #else mutable Vector m_sorted_symbols; #endif