summaryrefslogtreecommitdiffhomepage
path: root/dev/ZKA/Sources
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-08-23 18:20:04 +0200
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-08-23 18:20:04 +0200
commitbac8c9a8306e1582ef24ba68a412a29674c97775 (patch)
tree956155581fdb44fb6c82673a5f71a00cc6f4c89c /dev/ZKA/Sources
parent73e0c81b5c8325db7aaec773fcc657f3ef50b0b8 (diff)
[IMP/WIP] AHCI disk driver for kernel DLL.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/ZKA/Sources')
-rw-r--r--dev/ZKA/Sources/CxxAbi-ARM64.cxx4
-rw-r--r--dev/ZKA/Sources/DriveManager.cxx7
-rw-r--r--dev/ZKA/Sources/FileManager.cxx4
-rw-r--r--dev/ZKA/Sources/New+Delete.cxx2
-rw-r--r--dev/ZKA/Sources/PEFCodeManager.cxx8
-rw-r--r--dev/ZKA/Sources/PageAllocator.cxx4
-rw-r--r--dev/ZKA/Sources/PageManager.cxx4
-rw-r--r--dev/ZKA/Sources/Pmm.cxx4
-rw-r--r--dev/ZKA/Sources/User.cxx6
9 files changed, 25 insertions, 18 deletions
diff --git a/dev/ZKA/Sources/CxxAbi-ARM64.cxx b/dev/ZKA/Sources/CxxAbi-ARM64.cxx
index b0cb7354..798cecab 100644
--- a/dev/ZKA/Sources/CxxAbi-ARM64.cxx
+++ b/dev/ZKA/Sources/CxxAbi-ARM64.cxx
@@ -4,7 +4,7 @@
------------------------------------------- */
-#ifdef __NEWOS_ARM64__
+#ifdef __ZKA_ARM64__
#include <KernelKit/DebugOutput.hxx>
#include <NewKit/CxxAbi.hxx>
@@ -71,4 +71,4 @@ EXTERN_C void _purecall()
Kernel::kcout << "newoskrnl: C++ placeholder method.\n";
}
-#endif // ifdef __NEWOS_ARM64__
+#endif // ifdef __ZKA_ARM64__
diff --git a/dev/ZKA/Sources/DriveManager.cxx b/dev/ZKA/Sources/DriveManager.cxx
index b26c2c16..c4cebc3f 100644
--- a/dev/ZKA/Sources/DriveManager.cxx
+++ b/dev/ZKA/Sources/DriveManager.cxx
@@ -46,7 +46,7 @@ namespace Kernel
}
#ifdef __AHCI__
- drv_std_write(pckt->fLba, (Char*)pckt->fPacketContent, kATASectorSize, pckt->fPacketSize);
+ drv_std_write(pckt->fLba, (Char*)pckt->fPacketContent, kAHCISectorSize, pckt->fPacketSize);
#elif defined(__ATA_PIO__) || defined(__ATA_DMA__)
drv_std_write(pckt->fLba, kATAIO, kATAMaster, (Char*)pckt->fPacketContent, kATASectorSize, pckt->fPacketSize);
#endif
@@ -69,6 +69,9 @@ namespace Kernel
kATAIO = ATA_PRIMARY_IO;
MUST_PASS(drv_std_init(kATAIO, kATAMaster, kATAIO, kATAMaster));
+#elif defined(__AHCI__)
+ UInt16 pi = 0;
+ MUST_PASS(drv_std_init(pi));
#endif // if defined(__ATA_PIO__) || defined (__ATA_DMA__)
pckt->fPacketGood = true;
@@ -111,7 +114,7 @@ namespace Kernel
{
DriveTrait trait;
- rt_copy_memory((VoidPtr) "/Mount/Null", trait.fName, rt_string_len("/Mount/Null"));
+ rt_copy_memory((VoidPtr) "\\NUL", trait.fName, rt_string_len("\\NUL"));
trait.fKind = kInvalidDrive;
trait.fInput = io_drv_unimplemented;
diff --git a/dev/ZKA/Sources/FileManager.cxx b/dev/ZKA/Sources/FileManager.cxx
index 92245f4f..0912da27 100644
--- a/dev/ZKA/Sources/FileManager.cxx
+++ b/dev/ZKA/Sources/FileManager.cxx
@@ -119,7 +119,7 @@ namespace Kernel
if (!data)
return;
- NEWOS_UNUSED(flags);
+ ZKA_UNUSED(flags);
if ((reinterpret_cast<NFS_CATALOG_STRUCT*>(node))->Kind == kNewFSCatalogKindFile)
fImpl->WriteCatalog(reinterpret_cast<NFS_CATALOG_STRUCT*>(node), (flags & cFileFlagRsrc ? true : false), data, size,
@@ -137,7 +137,7 @@ namespace Kernel
if (!sz)
return nullptr;
- NEWOS_UNUSED(flags);
+ ZKA_UNUSED(flags);
if ((reinterpret_cast<NFS_CATALOG_STRUCT*>(node))->Kind == kNewFSCatalogKindFile)
return fImpl->ReadCatalog(reinterpret_cast<NFS_CATALOG_STRUCT*>(node), (flags & cFileFlagRsrc ? true : false), sz,
diff --git a/dev/ZKA/Sources/New+Delete.cxx b/dev/ZKA/Sources/New+Delete.cxx
index 12ea38a7..b1a3b611 100644
--- a/dev/ZKA/Sources/New+Delete.cxx
+++ b/dev/ZKA/Sources/New+Delete.cxx
@@ -44,7 +44,7 @@ void operator delete(void* ptr, size_t sz)
if (ptr == nullptr)
return;
- NEWOS_UNUSED(sz);
+ ZKA_UNUSED(sz);
Kernel::mm_delete_ke_heap(ptr);
}
diff --git a/dev/ZKA/Sources/PEFCodeManager.cxx b/dev/ZKA/Sources/PEFCodeManager.cxx
index 4a729992..f2f1e815 100644
--- a/dev/ZKA/Sources/PEFCodeManager.cxx
+++ b/dev/ZKA/Sources/PEFCodeManager.cxx
@@ -20,15 +20,15 @@ namespace Kernel
/// @brief Get the PEF platform signature according to the compiled backebnd
UInt32 rt_get_pef_platform(void) noexcept
{
-#ifdef __NEWOS_32X0__
+#ifdef __ZKA_32X0__
return kPefArch32x0;
-#elif defined(__NEWOS_64X0__)
+#elif defined(__ZKA_64X0__)
return kPefArch64x0;
#elif defined(__ZKA_AMD64__)
return kPefArchAMD64;
-#elif defined(__NEWOS_PPC64__)
+#elif defined(__ZKA_PPC64__)
return kPefArchPowerPC;
-#elif defined(__NEWOS_ARM64__)
+#elif defined(__ZKA_ARM64__)
return kPefArchARM64;
#else
return kPefArchInvalid;
diff --git a/dev/ZKA/Sources/PageAllocator.cxx b/dev/ZKA/Sources/PageAllocator.cxx
index 4f64b05f..4a07a12d 100644
--- a/dev/ZKA/Sources/PageAllocator.cxx
+++ b/dev/ZKA/Sources/PageAllocator.cxx
@@ -26,14 +26,14 @@ namespace Kernel::Detail
void exec_disable(UIntPtr VirtualAddr)
{
-#ifdef __NEWOS_SUPPORT_NX__
+#ifdef __ZKA_SUPPORT_NX__
PTE* VirtualAddrTable = reinterpret_cast<PTE*>(VirtualAddr);
MUST_PASS(!VirtualAddrTable->ExecDisable == false);
VirtualAddrTable->ExecDisable = true;
hal_flush_tlb();
-#endif // ifdef __NEWOS_SUPPORT_NX__
+#endif // ifdef __ZKA_SUPPORT_NX__
}
bool page_disable(UIntPtr VirtualAddr)
diff --git a/dev/ZKA/Sources/PageManager.cxx b/dev/ZKA/Sources/PageManager.cxx
index 77dbfd32..549415f3 100644
--- a/dev/ZKA/Sources/PageManager.cxx
+++ b/dev/ZKA/Sources/PageManager.cxx
@@ -9,9 +9,9 @@
#ifdef __ZKA_AMD64__
#include <HALKit/AMD64/HalPageAlloc.hxx>
-#elif defined(__NEWOS_ARM64__)
+#elif defined(__ZKA_ARM64__)
#include <HALKit/ARM64/HalPageAlloc.hxx>
-#endif // ifdef __ZKA_AMD64__ || defined(__NEWOS_ARM64__)
+#endif // ifdef __ZKA_AMD64__ || defined(__ZKA_ARM64__)
//! null deref will throw (Page Zero detected, aborting app!)
#define kProtectedRegionEnd (512)
diff --git a/dev/ZKA/Sources/Pmm.cxx b/dev/ZKA/Sources/Pmm.cxx
index 62015f41..b0855281 100644
--- a/dev/ZKA/Sources/Pmm.cxx
+++ b/dev/ZKA/Sources/Pmm.cxx
@@ -7,9 +7,9 @@
#include <KernelKit/DebugOutput.hxx>
#include <NewKit/Pmm.hxx>
-#if defined(__NEWOS_ARM64__)
+#if defined(__ZKA_ARM64__)
#include <HALKit/ARM64/Processor.hxx>
-#endif // defined(__NEWOS_ARM64__)
+#endif // defined(__ZKA_ARM64__)
#if defined(__ZKA_AMD64__)
#include <HALKit/AMD64/Processor.hxx>
diff --git a/dev/ZKA/Sources/User.cxx b/dev/ZKA/Sources/User.cxx
index 62b45e25..565f5197 100644
--- a/dev/ZKA/Sources/User.cxx
+++ b/dev/ZKA/Sources/User.cxx
@@ -186,8 +186,12 @@ namespace Kernel
}
fCurrentUser = &user;
- Kernel::kcout << "newoskrnl: Logged in as: " << fCurrentUser->Name() << Kernel::endl;
+ if (fCurrentUser->Name()[0])
+ Kernel::kcout << "newoskrnl: Logged in as: " << fCurrentUser->Name() << Kernel::endl;
+ else
+
+ Kernel::kcout << "newoskrnl: Logged in as anon. " << Kernel::endl;
return true;
}