summaryrefslogtreecommitdiffhomepage
path: root/Private/HALKit
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlalelmahrouss@icloud.com>2024-02-03 20:39:06 +0100
committerAmlal El Mahrouss <amlalelmahrouss@icloud.com>2024-02-03 20:39:06 +0100
commitf99e383775fa43c5c1354067962b1590ff2abdae (patch)
treef83a9b232c0424963fc9989b517e53f903ee036f /Private/HALKit
parent0ca5d0d92ee326f3deda797403c27090bd0784ab (diff)
NewBoot: Will work on AHCI instead, ATA is not getting any further in
the future. Signed-off-by: Amlal El Mahrouss <amlalelmahrouss@icloud.com>
Diffstat (limited to 'Private/HALKit')
-rw-r--r--Private/HALKit/AMD64/ACPI/ACPI.hpp1
-rw-r--r--Private/HALKit/AMD64/HalACPIManager.cpp (renamed from Private/HALKit/AMD64/ACPIManagerAMD64.cpp)7
-rw-r--r--Private/HALKit/AMD64/HalControlRegister.s (renamed from Private/HALKit/AMD64/ControlRegister.s)0
-rw-r--r--Private/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cpp (renamed from Private/HALKit/AMD64/CoreInterruptHandlerAMD64.cpp)0
-rw-r--r--Private/HALKit/AMD64/HalCoreMultiProcessingAMD64.cpp (renamed from Private/HALKit/AMD64/CoreMultiProcessingAMD64.cpp)0
-rw-r--r--Private/HALKit/AMD64/HalCoreSyscallHandlerAMD64.cpp (renamed from Private/HALKit/AMD64/CoreSyscallHandlerAMD64.cpp)0
-rw-r--r--Private/HALKit/AMD64/HalDebugOutput.cxx (renamed from Private/HALKit/AMD64/DebugOutput.cxx)5
-rw-r--r--Private/HALKit/AMD64/HalDebugPort.cxx (renamed from Private/HALKit/AMD64/DebugPort.cxx)0
-rw-r--r--Private/HALKit/AMD64/HalInstallTIB.asm (renamed from Private/HALKit/AMD64/InstallTIB.asm)0
-rw-r--r--Private/HALKit/AMD64/HalSMPCoreManager.asm (renamed from Private/HALKit/AMD64/SMPCoreManager.asm)0
-rw-r--r--Private/HALKit/AMD64/HalStartSequence.asm (renamed from Private/HALKit/AMD64/StartSequence.asm)0
-rw-r--r--Private/HALKit/PowerPC/HalHardware.cxx (renamed from Private/HALKit/PowerPC/HalHardware.cpp)5
12 files changed, 13 insertions, 5 deletions
diff --git a/Private/HALKit/AMD64/ACPI/ACPI.hpp b/Private/HALKit/AMD64/ACPI/ACPI.hpp
index d97c4fdd..f1a7c27c 100644
--- a/Private/HALKit/AMD64/ACPI/ACPI.hpp
+++ b/Private/HALKit/AMD64/ACPI/ACPI.hpp
@@ -13,6 +13,7 @@
/**
https://uefi.org/specs/ACPI/6.5/05_ACPI_Software_Programming_Model.html
+ https://wiki.osdev.org/RSDT
*/
#include <NewKit/Defines.hpp>
diff --git a/Private/HALKit/AMD64/ACPIManagerAMD64.cpp b/Private/HALKit/AMD64/HalACPIManager.cpp
index 9bdd368b..6cac4eca 100644
--- a/Private/HALKit/AMD64/ACPIManagerAMD64.cpp
+++ b/Private/HALKit/AMD64/HalACPIManager.cpp
@@ -47,6 +47,11 @@ ErrorOr<voidPtr> ACPIManager::Find(const char *signature) {
return ErrorOr<voidPtr>{-1};
}
+/***
+ @brief check SDT header
+ @param checksum the header to checksum
+ @param len the length of it.
+*/
bool ACPIManager::Checksum(const char *checksum, SSizeT len) {
if (len == 0) return -1;
@@ -65,5 +70,5 @@ void rt_shutdown_acpi_qemu_30_plus(void) { HAL::Out16(0x604, 0x2000); }
void rt_shutdown_acpi_virtualbox(void) { HAL::Out16(0x4004, 0x3400); }
-/// you'll have to parse the MADT otherwise!
+/// You have to parse the MADT!
} // namespace HCore
diff --git a/Private/HALKit/AMD64/ControlRegister.s b/Private/HALKit/AMD64/HalControlRegister.s
index d7e0c019..d7e0c019 100644
--- a/Private/HALKit/AMD64/ControlRegister.s
+++ b/Private/HALKit/AMD64/HalControlRegister.s
diff --git a/Private/HALKit/AMD64/CoreInterruptHandlerAMD64.cpp b/Private/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cpp
index caf891d1..caf891d1 100644
--- a/Private/HALKit/AMD64/CoreInterruptHandlerAMD64.cpp
+++ b/Private/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cpp
diff --git a/Private/HALKit/AMD64/CoreMultiProcessingAMD64.cpp b/Private/HALKit/AMD64/HalCoreMultiProcessingAMD64.cpp
index 1e53140f..1e53140f 100644
--- a/Private/HALKit/AMD64/CoreMultiProcessingAMD64.cpp
+++ b/Private/HALKit/AMD64/HalCoreMultiProcessingAMD64.cpp
diff --git a/Private/HALKit/AMD64/CoreSyscallHandlerAMD64.cpp b/Private/HALKit/AMD64/HalCoreSyscallHandlerAMD64.cpp
index 4f1ed4da..4f1ed4da 100644
--- a/Private/HALKit/AMD64/CoreSyscallHandlerAMD64.cpp
+++ b/Private/HALKit/AMD64/HalCoreSyscallHandlerAMD64.cpp
diff --git a/Private/HALKit/AMD64/DebugOutput.cxx b/Private/HALKit/AMD64/HalDebugOutput.cxx
index c4e9cc48..ac16cf70 100644
--- a/Private/HALKit/AMD64/DebugOutput.cxx
+++ b/Private/HALKit/AMD64/HalDebugOutput.cxx
@@ -53,8 +53,9 @@ bool serial_init() {
}
} // namespace Detail
-void system_io_print(const char *bytes) {
+void ke_io_print(const char *bytes) {
if (!bytes || Detail::kState != kStateReady) return;
+ if (*bytes == 0) return;
Detail::kState = kStateTransmit;
@@ -69,5 +70,5 @@ void system_io_print(const char *bytes) {
Detail::kState = kStateReady;
}
-TerminalDevice kcout(HCore::system_io_print, nullptr);
+TerminalDevice kcout(HCore::ke_io_print, nullptr);
} // namespace HCore
diff --git a/Private/HALKit/AMD64/DebugPort.cxx b/Private/HALKit/AMD64/HalDebugPort.cxx
index d292f95d..d292f95d 100644
--- a/Private/HALKit/AMD64/DebugPort.cxx
+++ b/Private/HALKit/AMD64/HalDebugPort.cxx
diff --git a/Private/HALKit/AMD64/InstallTIB.asm b/Private/HALKit/AMD64/HalInstallTIB.asm
index 58f4801b..58f4801b 100644
--- a/Private/HALKit/AMD64/InstallTIB.asm
+++ b/Private/HALKit/AMD64/HalInstallTIB.asm
diff --git a/Private/HALKit/AMD64/SMPCoreManager.asm b/Private/HALKit/AMD64/HalSMPCoreManager.asm
index 9741d092..9741d092 100644
--- a/Private/HALKit/AMD64/SMPCoreManager.asm
+++ b/Private/HALKit/AMD64/HalSMPCoreManager.asm
diff --git a/Private/HALKit/AMD64/StartSequence.asm b/Private/HALKit/AMD64/HalStartSequence.asm
index c8e0a4e2..c8e0a4e2 100644
--- a/Private/HALKit/AMD64/StartSequence.asm
+++ b/Private/HALKit/AMD64/HalStartSequence.asm
diff --git a/Private/HALKit/PowerPC/HalHardware.cpp b/Private/HALKit/PowerPC/HalHardware.cxx
index 96b2d09f..550d3747 100644
--- a/Private/HALKit/PowerPC/HalHardware.cpp
+++ b/Private/HALKit/PowerPC/HalHardware.cxx
@@ -12,6 +12,7 @@
extern "C" void flush_tlb() {}
extern "C" void rt_wait_for_io() {}
+
extern "C" HCore::HAL::StackFrame* rt_get_current_context() {}
namespace HCore {
@@ -32,7 +33,7 @@ void rt_hang_thread(HAL::StackFrame* stack) {}
// @brief main HAL entrypoint
void ke_init_hal() {}
-void system_io_print(const char* bytes) {
+void ke_com_print(const char* bytes) {
if (!bytes) return;
SizeT index = 0;
@@ -44,5 +45,5 @@ void system_io_print(const char* bytes) {
}
}
-TerminalDevice kcout(HCore::system_io_print, nullptr);
+TerminalDevice kcout(HCore::ke_com_print, nullptr);
} // namespace HCore