diff options
Diffstat (limited to 'dev/Kernel/src')
| -rw-r--r-- | dev/Kernel/src/KernelMain.cc | 4 | ||||
| -rw-r--r-- | dev/Kernel/src/UserProcessScheduler.cc | 14 |
2 files changed, 13 insertions, 5 deletions
diff --git a/dev/Kernel/src/KernelMain.cc b/dev/Kernel/src/KernelMain.cc index 303b1d81..af835183 100644 --- a/dev/Kernel/src/KernelMain.cc +++ b/dev/Kernel/src/KernelMain.cc @@ -24,6 +24,7 @@ #include <CFKit/Property.h> #include <KernelKit/Timer.h> +#ifdef __ZKA_AUTO_FORMAT__ namespace Kernel::Detail { /// @brief Filesystem auto formatter, additional checks are also done by the class. @@ -91,12 +92,15 @@ namespace Kernel::Detail ZKA_COPY_DEFAULT(NeFilesystemInstaller); }; } // namespace Kernel::Detail +#endif // ifdef __ZKA_AUTO_FORMAT__ /// @brief Kernel entrypoint. /// @param Void /// @return Void EXTERN_C Kernel::Void rtl_kernel_main(Kernel::SizeT argc, char** argv, char** envp, Kernel::SizeT envp_len) { +#ifdef __ZKA_AUTO_FORMAT__ Kernel::Detail::fs_init_newfs(); Kernel::Detail::NeFilesystemInstaller installer{}; +#endif // __ZKA_AUTO_FORMAT__ } diff --git a/dev/Kernel/src/UserProcessScheduler.cc b/dev/Kernel/src/UserProcessScheduler.cc index 936d0547..55d3474b 100644 --- a/dev/Kernel/src/UserProcessScheduler.cc +++ b/dev/Kernel/src/UserProcessScheduler.cc @@ -106,7 +106,7 @@ namespace Kernel ErrorOr<VoidPtr> UserThread::New(const SizeT& sz, const SizeT& pad_amount) { -#ifdef __ZKA_AMD64__ +#ifdef __ZKA_VIRTUAL_MEMORY_SUPPORT__ auto vm_register = hal_read_cr3(); hal_write_cr3(this->VMRegister); @@ -206,7 +206,7 @@ namespace Kernel auto memory_heap_list = this->ProcessMemoryHeap; -#ifdef __ZKA_AMD64__ +#ifdef __ZKA_VIRTUAL_MEMORY_SUPPORT__ auto pd = hal_read_cr3(); hal_write_cr3(this->VMRegister); #endif @@ -219,7 +219,7 @@ namespace Kernel MUST_PASS(mm_delete_heap(memory_heap_list->MemoryEntry)); } -#ifdef __ZKA_AMD64__ +#ifdef __ZKA_VIRTUAL_MEMORY_SUPPORT__ hal_write_cr3(pd); #endif @@ -297,7 +297,7 @@ namespace Kernel rt_copy_memory(reinterpret_cast<VoidPtr>(const_cast<Char*>(name)), process.Name, rt_string_len(name)); -#ifdef __ZKA_AMD64__ +#ifdef __ZKA_VIRTUAL_MEMORY_SUPPORT__ process.VMRegister = new PDE(); if (!process.VMRegister) @@ -311,7 +311,7 @@ namespace Kernel flags |= HAL::kMMFlagsUser; HAL::mm_map_page((VoidPtr)process.VMRegister, flags); -#endif // __ZKA_AMD64__ +#endif // __ZKA_VIRTUAL_MEMORY_SUPPORT__ process.StackFrame = new HAL::StackFrame(); @@ -321,11 +321,13 @@ namespace Kernel return kErrorProcessFault; } +#ifdef __ZKA_VIRTUAL_MEMORY_SUPPORT__ flags = HAL::kMMFlagsPresent; flags |= HAL::kMMFlagsWr; flags |= HAL::kMMFlagsUser; HAL::mm_map_page((VoidPtr)process.StackFrame, flags); +#endif // __ZKA_VIRTUAL_MEMORY_SUPPORT__ // Create heap according to type of process. if (process.Kind == UserThread::kExectuableDLLKind) @@ -336,11 +338,13 @@ namespace Kernel process.StackReserve = new UInt8[process.StackSize]; +#ifdef __ZKA_VIRTUAL_MEMORY_SUPPORT__ flags = HAL::kMMFlagsPresent; flags |= HAL::kMMFlagsWr; flags |= HAL::kMMFlagsUser; HAL::mm_map_page((VoidPtr)process.StackReserve, flags); +#endif // __ZKA_VIRTUAL_MEMORY_SUPPORT__ if (!process.StackReserve) { |
