summaryrefslogtreecommitdiffhomepage
path: root/dev/ZKA/HALKit
diff options
context:
space:
mode:
Diffstat (limited to 'dev/ZKA/HALKit')
-rw-r--r--dev/ZKA/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cxx8
-rw-r--r--dev/ZKA/HALKit/AMD64/HalCoreMPScheduler.cxx14
-rw-r--r--dev/ZKA/HALKit/AMD64/HalInterruptAPI.asm52
-rw-r--r--dev/ZKA/HALKit/AMD64/HalKernelMain.cxx16
-rw-r--r--dev/ZKA/HALKit/AMD64/HalMPContextSwitch.asm41
-rw-r--r--dev/ZKA/HALKit/AMD64/HalPageAlloc.cxx11
-rw-r--r--dev/ZKA/HALKit/AMD64/HalPageAlloc.hxx6
-rw-r--r--dev/ZKA/HALKit/AMD64/HalProcessor.cxx26
-rw-r--r--dev/ZKA/HALKit/AMD64/HalSchedulerCore.cxx10
-rw-r--r--dev/ZKA/HALKit/AMD64/Processor.hxx30
-rw-r--r--dev/ZKA/HALKit/AMD64/Storage/AHCI.cxx6
-rw-r--r--dev/ZKA/HALKit/AMD64/Storage/ATA-PIO.cxx6
-rw-r--r--dev/ZKA/HALKit/ARM64/HalKernelMain.cxx4
-rw-r--r--dev/ZKA/HALKit/ARM64/Storage/HalFlash.cxx4
-rw-r--r--dev/ZKA/HALKit/AXP/CoreSyscallHandlerDEC.cpp4
15 files changed, 80 insertions, 158 deletions
diff --git a/dev/ZKA/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cxx b/dev/ZKA/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cxx
index 1e9e6ec1..6d5396f2 100644
--- a/dev/ZKA/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cxx
+++ b/dev/ZKA/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cxx
@@ -54,12 +54,12 @@ EXTERN_C Kernel::Void hal_system_call_enter(Kernel::UIntPtr rcx, Kernel::UIntPtr
{
if (rcx <= (kSyscalls.Count() - 1))
{
- Kernel::kcout << "newoskrnl: syscall: enter.\r";
+ Kernel::kcout << "newoskrnl.dll: syscall: enter.\r";
if (kSyscalls[rcx].fHooked)
(kSyscalls[rcx].fProc)((Kernel::VoidPtr)rdx);
- Kernel::kcout << "newoskrnl: syscall: exit.\r";
+ Kernel::kcout << "newoskrnl.dll: syscall: exit.\r";
}
}
@@ -70,11 +70,11 @@ EXTERN_C Kernel::Void hal_Kernel_call_enter(Kernel::UIntPtr rcx, Kernel::UIntPtr
{
if (rcx <= (kSyscalls.Count() - 1))
{
- Kernel::kcout << "newoskrnl: kerncall: enter.\r";
+ Kernel::kcout << "newoskrnl.dll: kerncall: enter.\r";
if (kKerncalls[rcx].fHooked)
(kKerncalls[rcx].fProc)((Kernel::VoidPtr)rdx);
- Kernel::kcout << "newoskrnl: kerncall: exit.\r";
+ Kernel::kcout << "newoskrnl.dll: kerncall: exit.\r";
}
}
diff --git a/dev/ZKA/HALKit/AMD64/HalCoreMPScheduler.cxx b/dev/ZKA/HALKit/AMD64/HalCoreMPScheduler.cxx
index 9d9b546b..a6a27695 100644
--- a/dev/ZKA/HALKit/AMD64/HalCoreMPScheduler.cxx
+++ b/dev/ZKA/HALKit/AMD64/HalCoreMPScheduler.cxx
@@ -147,12 +147,11 @@ namespace Kernel::HAL
struct PROCESS_CONTROL_BLOCK final
{
UserProcessPtr f_Process;
- HAL::StackFramePtr f_Frame;
} fBlocks[kSchedProcessLimitPerTeam] = {0};
EXTERN_C HAL::StackFramePtr _hal_leak_current_context(Void)
{
- return fBlocks[UserProcessScheduler::The().CurrentProcess().Leak().ProcessId % kSchedProcessLimitPerTeam].f_Frame;
+ return fBlocks[UserProcessScheduler::The().CurrentProcess().Leak().ProcessId % kSchedProcessLimitPerTeam].f_Process->StackFrame;
}
EXTERN_C Bool mp_register_process(HAL::StackFramePtr stack_frame)
@@ -160,8 +159,7 @@ namespace Kernel::HAL
if (kSMPAware)
{
fBlocks[UserProcessScheduler::The().CurrentProcess().Leak().ProcessId % kSchedProcessLimitPerTeam].f_Process = &UserProcessScheduler::The().CurrentProcess().Leak();
- fBlocks[UserProcessScheduler::The().CurrentProcess().Leak().ProcessId % kSchedProcessLimitPerTeam].f_Frame = stack_frame;
-
+
return true;
}
@@ -193,7 +191,7 @@ namespace Kernel::HAL
cSMPInterrupt = 0;
kSMPCount = 0;
- kcout << "newoskrnl: Probing MADT cores...\r";
+ kcout << "newoskrnl.dll: Probing MADT cores...\r";
UIntPtr madt_address = kMADTBlock->Address;
@@ -207,13 +205,13 @@ namespace Kernel::HAL
{
case 0x00: {
cSMPCores[index] = kMADTBlock->List[index].LAPIC.ProcessorID;
- kcout << "newoskrnl: Core ID: " << number(cSMPCores[index]) << endl;
+ kcout << "newoskrnl.dll: Core ID: " << number(cSMPCores[index]) << endl;
++kSMPCount;
break;
}
case 0x05: {
madt_address = kMADTBlock->List[index].LAPIC_ADDRESS_OVERRIDE.Address;
- kcout << "newoskrnl: Address: " << number(madt_address) << endl;
+ kcout << "newoskrnl.dll: Address: " << number(madt_address) << endl;
break;
}
}
@@ -221,7 +219,7 @@ namespace Kernel::HAL
++index;
}
- kcout << "newoskrnl: # of cores: " << number(kSMPCount) << endl;
+ kcout << "newoskrnl.dll: # of cores: " << number(kSMPCount) << endl;
// Kernel is now SMP aware.
// That means that the scheduler is now available (on MP Kernels)
diff --git a/dev/ZKA/HALKit/AMD64/HalInterruptAPI.asm b/dev/ZKA/HALKit/AMD64/HalInterruptAPI.asm
index 89cb4078..2eae172a 100644
--- a/dev/ZKA/HALKit/AMD64/HalInterruptAPI.asm
+++ b/dev/ZKA/HALKit/AMD64/HalInterruptAPI.asm
@@ -4,7 +4,7 @@
;; * Copyright ZKA Technologies., all rights reserved.
;; *
;; * File: HalInterruptAPI.asm
-;; * Purpose: Interrupt routing, redirect raw interrupts into their handlers.
+;; * Purpose: Interrupt API, redirect raw interrupts into their handlers.
;; *
;; * ---------------------------------------------------
;; */
@@ -240,56 +240,6 @@ hal_load_idt:
sti
ret
-[global hal_switch_to_user_code]
-
-hal_switch_to_user_code:
- ; Enable SCE that enables sysret and syscall
- mov rcx, 0xc0000082
- wrmsr
- mov rcx, 0xc0000080
- rdmsr
- or eax, 1
- wrmsr
- mov rcx, 0xc0000081
- rdmsr
- mov edx, 0x00180008
- wrmsr
-
- mov rbx, 0x28
- mov ds, rbx
-
- mov rbx, 0x28
- mov fs, rbx
-
- mov rbx, 0x28
- mov gs, rbx
-
- mov rbx, 0x28
- mov es, rbx
-
- mov rsp, hal_user_code_stack_end
- mov rcx, hal_user_code_start
-
- mov r11, 0x0202
-
- o64 sysret
-
-hal_user_code_start:
- hlt
- nop
- jmp $
-hal_user_code_end:
-
-section .data
-
-hal_user_code_sz: dq hal_user_code_end - hal_user_code_start
-
-section .bss
-
-hal_user_code_stack:
- resb 4096*4
-hal_user_code_stack_end:
-
section .data
kInterruptVectorTable:
diff --git a/dev/ZKA/HALKit/AMD64/HalKernelMain.cxx b/dev/ZKA/HALKit/AMD64/HalKernelMain.cxx
index da77a13c..12926ee8 100644
--- a/dev/ZKA/HALKit/AMD64/HalKernelMain.cxx
+++ b/dev/ZKA/HALKit/AMD64/HalKernelMain.cxx
@@ -63,12 +63,12 @@ namespace Kernel::HAL
/* GDT. */
STATIC Kernel::HAL::Detail::ZKA_GDT cGdt = {
- {0, 0, 0, 0x00, 0x00, 0}, // Null entry
- {0, 0, 0, 0x9A, 0xA0, 0}, // Kernel code
- {0, 0, 0, 0x92, 0xA0, 0}, // Kernel data
- {0, 0, 0, 0x00, 0x00, 0}, // Null entry
- {0, 0, 0, 0xFA, 0xA0, 0}, // User code
- {0, 0, 0, 0xF2, 0xA0, 0}, // User data
+ .fKernNull = { .fLimit0 = 0, .fBase0 = 0, .fBase1 = 0, .fAccessByte = 0x00, .fLimit1_Flags = 0x00, .fBase2 = 0}, // Null entry
+ .fKernCode = { .fLimit0 = 0, .fBase0 = 0, .fBase1 = 00, .fAccessByte = 0x9A, .fLimit1_Flags = 0xA0, .fBase2 = 0}, // Kernel code
+ .fKernData = { .fLimit0 = 0, .fBase0 = 0, .fBase1 = 00, .fAccessByte = 0x92, .fLimit1_Flags = 0xA0, .fBase2 = 0}, // Kernel data
+ .fUserNull = { .fLimit0 = 0, .fBase0 = 0, .fBase1 = 00, .fAccessByte = 0x00, .fLimit1_Flags = 0x00, .fBase2 = 0}, // Null entry
+ .fUserCode = { .fLimit0 = 0, .fBase0 = 0, .fBase1 = 00, .fAccessByte = 0xCF, .fLimit1_Flags = 0xA0, .fBase2 = 0}, // User code
+ .fUserData = { .fLimit0 = 0, .fBase0 = 0, .fBase1 = 00, .fAccessByte = 0x92, .fLimit1_Flags = 0xA0, .fBase2 = 0}, // User data
};
Kernel::Void hal_real_init(Kernel::Void) noexcept;
@@ -204,7 +204,7 @@ Kernel::Void hal_real_init(Kernel::Void) noexcept
if (!rdxEi)
return;
- Kernel::kcout << "newoskrnl: " << rdxEi->fReason << "\r";
+ Kernel::kcout << "newoskrnl.dll: " << rdxEi->fReason << "\r";
Kernel::UserProcessScheduler::The().CurrentProcess().Leak().Exit(rdxEi->fCode);
};
@@ -240,7 +240,7 @@ Kernel::Void hal_real_init(Kernel::Void) noexcept
if (kHandoverHeader->f_MultiProcessingEnabled)
Kernel::HAL::mp_get_cores(kHandoverHeader->f_HardwareTables.f_VendorPtr);
- Kernel::kcout << "newoskrnl: Creating filesystem and such.\r";
+ Kernel::kcout << "newoskrnl.dll: Creating filesystem and such.\r";
auto fs = new Kernel::NewFilesystemManager();
diff --git a/dev/ZKA/HALKit/AMD64/HalMPContextSwitch.asm b/dev/ZKA/HALKit/AMD64/HalMPContextSwitch.asm
index f5f36b27..9ef3122c 100644
--- a/dev/ZKA/HALKit/AMD64/HalMPContextSwitch.asm
+++ b/dev/ZKA/HALKit/AMD64/HalMPContextSwitch.asm
@@ -13,6 +13,7 @@
[global mp_do_context_switch]
[extern _hal_switch_context]
[extern _hal_leak_current_context]
+[global mp_do_context_switch_pre]
section .text
@@ -20,9 +21,16 @@ section .text
;; rcx: code ptr.
;; rdx: stack ptr.
mp_do_context_switch:
- mov r11, rdx
- mov r12, rcx
-
+ mov r11, 0x0202
+ mov rsp, rdx
+ o64 sysret
+
+;; @brief Gets the current stack frame.
+mp_get_current_context:
+ call _hal_leak_current_context
+ ret
+
+mp_do_context_switch_pre:
; Enable SCE that enables sysret and syscall
mov rcx, 0xc0000082
wrmsr
@@ -33,30 +41,7 @@ mp_do_context_switch:
mov rcx, 0xc0000081
rdmsr
mov edx, 0x00180008
- wrmsr
- mov rbx, 0x28
- mov ds, rbx
+ wrmsr
- mov rbx, 0x28
- mov fs, rbx
-
- mov rbx, 0x28
- mov gs, rbx
-
- mov rbx, 0x28
- mov es, rbx
-
- ;; Swap registers, since it's the other way around.
-
- mov rcx, r12 ;; code ptr
- mov rsp, r11 ;; stack ptr
- mov r11, 0x0202
-
- ;; rcx and rdx already set.
- o64 sysret
-
-;; @brief Gets the current stack frame.
-mp_get_current_context:
- call _hal_leak_current_context
- ret
+ ret \ No newline at end of file
diff --git a/dev/ZKA/HALKit/AMD64/HalPageAlloc.cxx b/dev/ZKA/HALKit/AMD64/HalPageAlloc.cxx
index 82eea45e..b0a490ed 100644
--- a/dev/ZKA/HALKit/AMD64/HalPageAlloc.cxx
+++ b/dev/ZKA/HALKit/AMD64/HalPageAlloc.cxx
@@ -99,16 +99,9 @@ namespace Kernel
auto result = reinterpret_cast<VoidPtr>(vmh_header + sizeof(Detail::VIRTUAL_MEMORY_HEADER));
- VoidPtr cr3_value;
+ VoidPtr cr3 = hal_read_cr3();
- asm volatile(
- "mov %%cr3, %0" // Move CR3 into the variable
- : "=r"(cr3_value) // Output operand, cr3 page directory.
- : // No input operands
- : "memory"
- );
-
- mm_update_page(cr3_value, 0, (UIntPtr)result, eFlagsPresent | (rw ? eFlagsRw : 0) | (user ? eFlagsUser : 0));
+ mm_update_page(cr3, 0, result, eFlagsPresent | (rw ? eFlagsRw : 0) | (user ? eFlagsUser : 0));
return result;
}
diff --git a/dev/ZKA/HALKit/AMD64/HalPageAlloc.hxx b/dev/ZKA/HALKit/AMD64/HalPageAlloc.hxx
index 38666e7e..81ea2bd8 100644
--- a/dev/ZKA/HALKit/AMD64/HalPageAlloc.hxx
+++ b/dev/ZKA/HALKit/AMD64/HalPageAlloc.hxx
@@ -34,9 +34,9 @@ EXTERN_C void hal_flush_tlb();
EXTERN_C void hal_write_cr3(Kernel::UIntPtr pde);
EXTERN_C void hal_write_cr0(Kernel::UIntPtr bit);
-EXTERN_C Kernel::UIntPtr hal_read_cr0(); // @brief CPU control register.
-EXTERN_C Kernel::UIntPtr hal_read_cr2(); // @brief Fault address.
-EXTERN_C Kernel::UIntPtr hal_read_cr3(); // @brief Page table.
+EXTERN_C Kernel::VoidPtr hal_read_cr0(); // @brief CPU control register.
+EXTERN_C Kernel::VoidPtr hal_read_cr2(); // @brief Fault address.
+EXTERN_C Kernel::VoidPtr hal_read_cr3(); // @brief Page table.
namespace Kernel::HAL
{
diff --git a/dev/ZKA/HALKit/AMD64/HalProcessor.cxx b/dev/ZKA/HALKit/AMD64/HalProcessor.cxx
index 367e9314..dffaed3e 100644
--- a/dev/ZKA/HALKit/AMD64/HalProcessor.cxx
+++ b/dev/ZKA/HALKit/AMD64/HalProcessor.cxx
@@ -2,6 +2,9 @@
Copyright ZKA Technologies.
+ File: HalProcessor.cxx
+ Purpose: Platform processor routines.
+
------------------------------------------- */
#include <HALKit/AMD64/Processor.hxx>
@@ -13,6 +16,29 @@
namespace Kernel::HAL
{
+ EXTERN_C Int32 mm_update_page(VoidPtr pd_base, VoidPtr phys_addr, VoidPtr virt_addr, UInt32 flags)
+ {
+ UIntPtr pde_idx = (UIntPtr)virt_addr >> 22;
+ UIntPtr pte_idx = (UIntPtr)virt_addr >> 12 & 0x03FF;
+
+ volatile PTE* pte = (volatile PTE*)((UIntPtr)pd_base + (kPTEAlign * pde_idx));
+
+ if (pte)
+ {
+ if ((flags & eFlagsSetPhysAddress))
+ pte->PhysicalAddress = (UInt32)(UIntPtr)phys_addr;
+
+ pte->Present = flags & eFlagsPresent;
+ pte->Rw = flags & eFlagsRw;
+ pte->User = flags & eFlagsUser;
+ pte->ExecDisable = flags & eFlagsExecDisable;
+
+ return 0;
+ }
+
+ return 1;
+ }
+
Void Out8(UInt16 port, UInt8 value)
{
asm volatile("outb %%al, %1"
diff --git a/dev/ZKA/HALKit/AMD64/HalSchedulerCore.cxx b/dev/ZKA/HALKit/AMD64/HalSchedulerCore.cxx
index 3897cb6a..b3449026 100644
--- a/dev/ZKA/HALKit/AMD64/HalSchedulerCore.cxx
+++ b/dev/ZKA/HALKit/AMD64/HalSchedulerCore.cxx
@@ -14,15 +14,7 @@ Void UserProcess::SetEntrypoint(VoidPtr imageStart) noexcept
if (imageStart == nullptr)
this->Crash();
- VoidPtr cr3_pd;
-
- asm volatile(
- "mov %%cr3, %0" // Move CR3 into the variable
- : "=r"(cr3_pd) // Output operand, cr3 page directory.
- : // No input operands
- : "memory");
-
- HAL::mm_update_page(cr3_pd, 0, (UIntPtr)imageStart, HAL::eFlagsPresent | HAL::eFlagsRw | HAL::eFlagsUser);
+ HAL::mm_update_page(hal_read_cr3(), 0, imageStart, HAL::eFlagsPresent | HAL::eFlagsRw | HAL::eFlagsUser);
this->Image = imageStart;
}
diff --git a/dev/ZKA/HALKit/AMD64/Processor.hxx b/dev/ZKA/HALKit/AMD64/Processor.hxx
index 68bcbec9..bb41de54 100644
--- a/dev/ZKA/HALKit/AMD64/Processor.hxx
+++ b/dev/ZKA/HALKit/AMD64/Processor.hxx
@@ -30,7 +30,7 @@ EXTERN_C
#define kCPUBackendName "AMD64"
-#define kSyscallRoute 0x32
+#define kSyscallRoute (0x32)
#define IsActiveLow(FLG) (FLG & 2)
#define IsLevelTriggered(FLG) (FLG & 8)
@@ -77,28 +77,7 @@ namespace Kernel::HAL
/// @param phys_addr a valid phyiscal address.
/// @param virt_addr a valid virtual address.
/// @param flags the flags to put on the page.
- inline Int32 mm_update_page(VoidPtr pd_base, UIntPtr phys_addr, UIntPtr virt_addr, UInt32 flags)
- {
- UIntPtr pde_idx = (UIntPtr)virt_addr >> 22;
- UIntPtr pte_idx = (UIntPtr)virt_addr >> 12 & 0x03FF;
-
- volatile PTE* pte = (volatile PTE*)((UIntPtr)pd_base + (kPTEAlign * pde_idx));
-
- if (pte)
- {
- if ((flags & eFlagsSetPhysAddress))
- pte->PhysicalAddress = phys_addr;
-
- pte->Present = flags & eFlagsPresent;
- pte->Rw = flags & eFlagsRw;
- pte->User = flags & eFlagsUser;
- pte->ExecDisable = flags & eFlagsExecDisable;
-
- return 0;
- }
-
- return 1;
- }
+ EXTERN_C Int32 mm_update_page(VoidPtr pd_base, VoidPtr phys_addr, VoidPtr virt_addr, UInt32 flags);
EXTERN_C UChar In8(UInt16 port);
EXTERN_C UShort In16(UInt16 port);
@@ -128,9 +107,8 @@ namespace Kernel::HAL
};
using RawRegister = UInt64;
- using Reg = RawRegister;
+ using Reg = RawRegister;
using InterruptId = UInt16; /* For each element in the IVT */
-
/// @brief Stack frame (as retrieved from assembly.)
struct PACKED StackFrame final
@@ -275,7 +253,7 @@ namespace Kernel::HAL
struct PACKED ALIGN(0x1000) ZKA_GDT final
{
- ZKA_GDT_ENTRY fNull;
+ ZKA_GDT_ENTRY fKernNull;
ZKA_GDT_ENTRY fKernCode;
ZKA_GDT_ENTRY fKernData;
ZKA_GDT_ENTRY fUserNull;
diff --git a/dev/ZKA/HALKit/AMD64/Storage/AHCI.cxx b/dev/ZKA/HALKit/AMD64/Storage/AHCI.cxx
index c37bc01a..4fefee46 100644
--- a/dev/ZKA/HALKit/AMD64/Storage/AHCI.cxx
+++ b/dev/ZKA/HALKit/AMD64/Storage/AHCI.cxx
@@ -63,7 +63,7 @@ Kernel::Boolean drv_std_init(Kernel::UInt16& PortsImplemented)
{
if (ports_implemented)
{
- kcout << "newoskrnl: Port is implemented by host.\r";
+ kcout << "newoskrnl.dll: Port is implemented by host.\r";
UInt8 ipm = (mem_ahci->Ports[ahci_index].Ssts >> 8) & 0x0F;
UInt8 det = mem_ahci->Ports[ahci_index].Ssts & 0x0F;
@@ -72,8 +72,8 @@ Kernel::Boolean drv_std_init(Kernel::UInt16& PortsImplemented)
det == cAhciPresent &&
ipm == cAhciIPMActive)
{
- kcout << "newoskrnl: Found AHCI controller.\r";
- kcout << "newoskrnl: Device is of SATA type.\r";
+ kcout << "newoskrnl.dll: Found AHCI controller.\r";
+ kcout << "newoskrnl.dll: Device is of SATA type.\r";
detected = true;
diff --git a/dev/ZKA/HALKit/AMD64/Storage/ATA-PIO.cxx b/dev/ZKA/HALKit/AMD64/Storage/ATA-PIO.cxx
index 74869dc3..6dc252fc 100644
--- a/dev/ZKA/HALKit/AMD64/Storage/ATA-PIO.cxx
+++ b/dev/ZKA/HALKit/AMD64/Storage/ATA-PIO.cxx
@@ -68,7 +68,7 @@ Boolean drv_std_init(UInt16 Bus, UInt8 Drive, UInt16& OutBus, UInt8& OutMaster)
drv_std_select(IO);
- Kernel::kcout << "newoskrnl: Initializing drive...\r";
+ Kernel::kcout << "newoskrnl.dll: Initializing drive...\r";
ATAInit_Retry:
// Bus init, NEIN bit.
@@ -80,7 +80,7 @@ ATAInit_Retry:
if (statRdy & ATA_SR_ERR)
{
- Kernel::kcout << "newoskrnl: Failing drive...\r";
+ Kernel::kcout << "newoskrnl.dll: Failing drive...\r";
return false;
}
@@ -107,7 +107,7 @@ ATAInit_Retry:
OutMaster = (Bus == ATA_PRIMARY_IO) ? ATA_MASTER : ATA_SLAVE;
- Kernel::kcout << "newoskrnl: Create ATA module.\r";
+ Kernel::kcout << "newoskrnl.dll: Create ATA module.\r";
return true;
}
diff --git a/dev/ZKA/HALKit/ARM64/HalKernelMain.cxx b/dev/ZKA/HALKit/ARM64/HalKernelMain.cxx
index 645e509a..eed255da 100644
--- a/dev/ZKA/HALKit/ARM64/HalKernelMain.cxx
+++ b/dev/ZKA/HALKit/ARM64/HalKernelMain.cxx
@@ -155,7 +155,7 @@ Kernel::Void hal_real_init(Kernel::Void) noexcept
if (!rdxEi)
return;
- Kernel::kcout << "newoskrnl: " << rdxEi->fReason << "\r";
+ Kernel::kcout << "newoskrnl.dll: " << rdxEi->fReason << "\r";
Kernel::UserProcessScheduler::The().Leak().CurrentProcess().Leak().Exit(rdxEi->fCode);
};
@@ -192,7 +192,7 @@ Kernel::Void hal_real_init(Kernel::Void) noexcept
else
Kernel::HAL::mp_get_cores(nullptr);
- Kernel::kcout << "newoskrnl: Creating filesystem and such.\r";
+ Kernel::kcout << "newoskrnl.dll: Creating filesystem and such.\r";
auto fs = new Kernel::NewFilesystemManager();
diff --git a/dev/ZKA/HALKit/ARM64/Storage/HalFlash.cxx b/dev/ZKA/HALKit/ARM64/Storage/HalFlash.cxx
index ac17d658..53238609 100644
--- a/dev/ZKA/HALKit/ARM64/Storage/HalFlash.cxx
+++ b/dev/ZKA/HALKit/ARM64/Storage/HalFlash.cxx
@@ -53,13 +53,13 @@ namespace Kernel
/// @brief Enable flash memory at slot.
STATIC Void drv_enable_flash(Int32 arg)
{
- kcout << "newoskrnl: Enabled FLSH hardware.\r";
+ kcout << "newoskrnl.dll: Enabled FLSH hardware.\r";
}
/// @brief Disable flash memory at slot.
STATIC Void drv_disable_flash(Int32 arg)
{
- kcout << "newoskrnl: Disabled FLSH hardware.\r";
+ kcout << "newoskrnl.dll: Disabled FLSH hardware.\r";
}
} // namespace Kernel
diff --git a/dev/ZKA/HALKit/AXP/CoreSyscallHandlerDEC.cpp b/dev/ZKA/HALKit/AXP/CoreSyscallHandlerDEC.cpp
index 9d20a0f3..148fa020 100644
--- a/dev/ZKA/HALKit/AXP/CoreSyscallHandlerDEC.cpp
+++ b/dev/ZKA/HALKit/AXP/CoreSyscallHandlerDEC.cpp
@@ -14,11 +14,11 @@ EXTERN_C void rt_syscall_handle(Kernel::HAL::StackFrame* stack)
{
if (stack->Rcx <= (kSyscalls.Count() - 1))
{
- Kernel::kcout << "newoskrnl: syscall: enter.\r";
+ Kernel::kcout << "newoskrnl.dll: syscall: enter.\r";
if (kSyscalls[stack->Rcx].Leak().Leak().fHooked)
(kSyscalls[stack->Rcx].Leak().Leak().fProc)(stack);
- Kernel::kcout << "newoskrnl: syscall: exit.\r";
+ Kernel::kcout << "newoskrnl.dll: syscall: exit.\r";
}
}