diff options
Diffstat (limited to 'dev/ZKA/HALKit/AMD64')
| -rw-r--r-- | dev/ZKA/HALKit/AMD64/HalCoreMultiProcessingAMD64.cxx | 9 | ||||
| -rw-r--r-- | dev/ZKA/HALKit/AMD64/HalKernelMain.cxx | 11 |
2 files changed, 13 insertions, 7 deletions
diff --git a/dev/ZKA/HALKit/AMD64/HalCoreMultiProcessingAMD64.cxx b/dev/ZKA/HALKit/AMD64/HalCoreMultiProcessingAMD64.cxx index 7fee9005..b1b8d698 100644 --- a/dev/ZKA/HALKit/AMD64/HalCoreMultiProcessingAMD64.cxx +++ b/dev/ZKA/HALKit/AMD64/HalCoreMultiProcessingAMD64.cxx @@ -107,22 +107,26 @@ namespace Kernel::HAL /////////////////////////////////////////////////////////////////////////////////////// + /***********************************************************************************/ /// @brief Send start IPI for CPU. /// @param apicId /// @param vector /// @param targetAddress /// @return + /***********************************************************************************/ Void hal_send_start_ipi(UInt32 apicId, UInt8 vector, UInt32 targetAddress) { Kernel::ke_dma_write(targetAddress, kAPIC_ICR_High, (apicId << 24)); Kernel::ke_dma_write(targetAddress, kAPIC_ICR_Low, kAPIC_SIPI_Vector | vector); } + /***********************************************************************************/ /// @brief Send end IPI for CPU. /// @param apicId /// @param vector /// @param targetAddress /// @return + /***********************************************************************************/ Void hal_send_end_ipi(UInt32 apicId, UInt8 vector, UInt32 targetAddress) { Kernel::ke_dma_write(targetAddress, kAPIC_ICR_High, apicId << 24); @@ -169,8 +173,10 @@ namespace Kernel::HAL semaphore_process.Unlock(); } + /***********************************************************************************/ /// @brief Fetch and enable cores inside main CPU. /// @param vendor_ptr RSD PTR structure. + /***********************************************************************************/ Void hal_system_get_cores(voidPtr vendor_ptr) { auto hw_and_pow_int = PowerFactoryInterface(vendor_ptr); @@ -216,8 +222,7 @@ namespace Kernel::HAL ++index; } - kcout << "newoskrnl: # of Cores: " << number(kSMPCount) << endl; - + kcout << "newoskrnl: # of cores: " << number(kSMPCount) << endl; kcout << "newoskrnl: First core ID: " << number(cSMPCores[0]) << endl; kSMPAware = true; diff --git a/dev/ZKA/HALKit/AMD64/HalKernelMain.cxx b/dev/ZKA/HALKit/AMD64/HalKernelMain.cxx index 0845dc39..126473a0 100644 --- a/dev/ZKA/HALKit/AMD64/HalKernelMain.cxx +++ b/dev/ZKA/HALKit/AMD64/HalKernelMain.cxx @@ -23,6 +23,8 @@ Kernel::Property cKernelVersion; +Kernel::User cUserSuper{Kernel::RingKind::kRingSuperUser, kSuperUser}; + EXTERN Kernel::Boolean kAllocationInProgress; EXTERN_C Kernel::VoidPtr kInterruptVectorTable[]; @@ -65,7 +67,7 @@ STATIC Kernel::HAL::Detail::NewOSGDT cGdt = { }; Kernel::Void hal_real_init(Kernel::Void) noexcept; -EXTERN_C Kernel::Void KeMain(Kernel::Void); +EXTERN_C Kernel::Void ke_dll_entrypoint(Kernel::Void); EXTERN_C void hal_init_platform( Kernel::HEL::HandoverInformationHeader* HandoverHeader) @@ -227,12 +229,11 @@ Kernel::Void hal_real_init(Kernel::Void) noexcept Kernel::NewFilesystemManager::Mount(fs); - const auto cPassword = "debug_usr"; + const auto cPassword = "ZKA_KERNEL_AUTHORITY"; - Kernel::User user_debug{Kernel::RingKind::kRingSuperUser, kSuperUser}; - Kernel::UserManager::The()->TryLogIn(user_debug, cPassword, cPassword); + cUserSuper.TrySave(cPassword); - KeMain(); + ke_dll_entrypoint(); Kernel::ke_stop(RUNTIME_CHECK_FAILED); } |
