diff options
| author | Amlal El Mahrouss <amlalelmahrouss@icloud.com> | 2024-02-05 15:21:26 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlalelmahrouss@icloud.com> | 2024-02-05 15:21:47 +0100 |
| commit | b3666c011a512d7758a8c095872241e8f3964850 (patch) | |
| tree | fedd546a3179a9ee5cd2c498cf905559eb417b9a /Private/HALKit | |
| parent | 81144dd05a7c01701c3bf7b04e345dccfef2bf82 (diff) | |
HCR-11: See below;
Bootloader:
- Fix BFileReader on UEFI.
Kernel:
- Improve The scheduler and SMP manager.
Signed-off-by: Amlal El Mahrouss <amlalelmahrouss@icloud.com>
Diffstat (limited to 'Private/HALKit')
| -rw-r--r-- | Private/HALKit/AMD64/HalProcessPrimitives.cxx | 6 | ||||
| -rw-r--r-- | Private/HALKit/AMD64/HalSMPCoreManager.asm | 5 |
2 files changed, 5 insertions, 6 deletions
diff --git a/Private/HALKit/AMD64/HalProcessPrimitives.cxx b/Private/HALKit/AMD64/HalProcessPrimitives.cxx index 86f77e35..36cd26db 100644 --- a/Private/HALKit/AMD64/HalProcessPrimitives.cxx +++ b/Private/HALKit/AMD64/HalProcessPrimitives.cxx @@ -14,10 +14,6 @@ using namespace HCore; Void Process::AssignStart(UIntPtr &imageStart) noexcept { if (imageStart == 0) this->Crash(); -#ifdef __x86_64__ this->StackFrame->Rbp = imageStart; -#elif defined(__powerpc) - // link return register towards the __start symbol. - this->StackFrame->R3 = imageStart; -#endif + this->StackFrame->Rsp = this->StackFrame->Rbp; } diff --git a/Private/HALKit/AMD64/HalSMPCoreManager.asm b/Private/HALKit/AMD64/HalSMPCoreManager.asm index 9741d092..08f34517 100644 --- a/Private/HALKit/AMD64/HalSMPCoreManager.asm +++ b/Private/HALKit/AMD64/HalSMPCoreManager.asm @@ -15,7 +15,7 @@ section .text rt_do_context_switch: mov rcx, r15 - + mov [r15+0], rax mov [r15+8], rbx mov [r15+16], rcx @@ -32,4 +32,7 @@ rt_do_context_switch: mov [r15+104], r13 mov [r15+112], r14 mov [r15+120], r15 + + ;; Set APIC address of current core. + ret |
