summaryrefslogtreecommitdiffhomepage
path: root/dev/ZKA/HALKit
diff options
context:
space:
mode:
authorAmlal <amlal@el-mahrouss-logic.com>2024-09-14 20:11:35 +0200
committerAmlal <amlal@el-mahrouss-logic.com>2024-09-14 20:11:35 +0200
commite05aa2145b8d0000110b93fb371ba858cb2a02bc (patch)
tree39d68355c6afe6f1e21f87d214a5b546b4a814d9 /dev/ZKA/HALKit
parent6c51d0d2fde9b9a0201721cc625e73b585fdc479 (diff)
IMP: Fixes and improvements on PEF Loader, User scheduler and BMP manager.
- This covers the Memory Manager, User Scheduler Manager and Loader Manager. - These are mostly fixes and added features. - Such as a new symbol to get heap reserve. META: Run format command. Signed-off-by: Amlal <amlal@el-mahrouss-logic.com>
Diffstat (limited to 'dev/ZKA/HALKit')
-rw-r--r--dev/ZKA/HALKit/AMD64/HalBMPMgr.cxx12
-rw-r--r--dev/ZKA/HALKit/AMD64/HalCommAPI.cxx4
-rw-r--r--dev/ZKA/HALKit/AMD64/HalCoreMPScheduler.cxx4
-rw-r--r--dev/ZKA/HALKit/AMD64/HalDescriptorLoader.cxx6
-rw-r--r--dev/ZKA/HALKit/AMD64/HalSchedulerCore.cxx2
-rw-r--r--dev/ZKA/HALKit/AMD64/Processor.hxx2
-rw-r--r--dev/ZKA/HALKit/AMD64/Storage/AHCI.cxx2
-rw-r--r--dev/ZKA/HALKit/AMD64/Storage/ATA-PIO.cxx4
-rw-r--r--dev/ZKA/HALKit/ARM64/HalSchedulerCore.cxx2
-rw-r--r--dev/ZKA/HALKit/ARM64/Processor.hxx2
10 files changed, 19 insertions, 21 deletions
diff --git a/dev/ZKA/HALKit/AMD64/HalBMPMgr.cxx b/dev/ZKA/HALKit/AMD64/HalBMPMgr.cxx
index ce6bd42c..83fa2af3 100644
--- a/dev/ZKA/HALKit/AMD64/HalBMPMgr.cxx
+++ b/dev/ZKA/HALKit/AMD64/HalBMPMgr.cxx
@@ -79,11 +79,10 @@ namespace Kernel
{
UIntPtr* ptr_bit_set = reinterpret_cast<UIntPtr*>(base);
- if (ptr_bit_set[cBitMapMagIdx] == cBitMpMagic)
+ if (ptr_bit_set[cBitMapMagIdx] == cBitMpMagic &&
+ ptr_bit_set[cBitMapSizeIdx] <= size)
{
- if (ptr_bit_set[cBitMapSizeIdx] != 0 &&
- ptr_bit_set[cBitMapSizeIdx] <= size &&
- ptr_bit_set[cBitMapUsedIdx] == No)
+ if (ptr_bit_set[cBitMapUsedIdx] == No)
{
ptr_bit_set[cBitMapSizeIdx] = size;
ptr_bit_set[cBitMapUsedIdx] = Yes;
@@ -93,12 +92,11 @@ namespace Kernel
return (VoidPtr)ptr_bit_set;
}
}
- else
+ else if (ptr_bit_set[cBitMapMagIdx] != cBitMpMagic)
{
UIntPtr* ptr_bit_set = reinterpret_cast<UIntPtr*>(base_ptr);
- ptr_bit_set[cBitMapMagIdx] = cBitMpMagic;
-
+ ptr_bit_set[cBitMapMagIdx] = cBitMpMagic;
ptr_bit_set[cBitMapSizeIdx] = size;
ptr_bit_set[cBitMapUsedIdx] = Yes;
diff --git a/dev/ZKA/HALKit/AMD64/HalCommAPI.cxx b/dev/ZKA/HALKit/AMD64/HalCommAPI.cxx
index b78fd1f0..11c442b4 100644
--- a/dev/ZKA/HALKit/AMD64/HalCommAPI.cxx
+++ b/dev/ZKA/HALKit/AMD64/HalCommAPI.cxx
@@ -26,8 +26,8 @@ namespace Kernel::HAL
/// @return Status code of page manip.
EXTERN_C Int32 mm_map_page(VoidPtr virt_addr, UInt32 flags)
{
- ZKA_UNUSED(virt_addr);
- ZKA_UNUSED(flags);
+ ZKA_UNUSED(virt_addr);
+ ZKA_UNUSED(flags);
return 0;
}
diff --git a/dev/ZKA/HALKit/AMD64/HalCoreMPScheduler.cxx b/dev/ZKA/HALKit/AMD64/HalCoreMPScheduler.cxx
index 1a518c5d..18302f34 100644
--- a/dev/ZKA/HALKit/AMD64/HalCoreMPScheduler.cxx
+++ b/dev/ZKA/HALKit/AMD64/HalCoreMPScheduler.cxx
@@ -148,8 +148,8 @@ namespace Kernel::HAL
struct PROCESS_CONTROL_BLOCK final
{
HAL::StackFramePtr f_Frame;
- UInt8* f_Stack;
- VoidPtr f_Image;
+ UInt8* f_Stack;
+ VoidPtr f_Image;
} fBlocks[kSchedProcessLimitPerTeam] = {0};
EXTERN_C HAL::StackFramePtr mp_get_current_context(Void)
diff --git a/dev/ZKA/HALKit/AMD64/HalDescriptorLoader.cxx b/dev/ZKA/HALKit/AMD64/HalDescriptorLoader.cxx
index bddd0eb4..44263a1c 100644
--- a/dev/ZKA/HALKit/AMD64/HalDescriptorLoader.cxx
+++ b/dev/ZKA/HALKit/AMD64/HalDescriptorLoader.cxx
@@ -15,7 +15,7 @@ namespace Kernel::HAL
STATIC Void hal_remap_intel_pic_ctrl(Void) noexcept
{
- auto a1 = HAL::In8(0xa1); // save masks
+ auto a1 = HAL::In8(0xa1); // save masks
auto a2 = HAL::In8(0xa2);
HAL::Out8(0x20, 0x11);
@@ -61,9 +61,9 @@ namespace Kernel::HAL
Detail::kInterruptVectorTable[idt_indx].Zero = 0x0;
}
- idt.Base = (UIntPtr)&Detail::kInterruptVectorTable;
+ idt.Base = (UIntPtr)&Detail::kInterruptVectorTable;
idt.Limit = sizeof(::Kernel::Detail::AMD64::InterruptDescriptorAMD64) *
- (kKernelIdtSize) - 1;
+ (kKernelIdtSize)-1;
hal_load_idt(idt);
diff --git a/dev/ZKA/HALKit/AMD64/HalSchedulerCore.cxx b/dev/ZKA/HALKit/AMD64/HalSchedulerCore.cxx
index 3cd07955..9dcce147 100644
--- a/dev/ZKA/HALKit/AMD64/HalSchedulerCore.cxx
+++ b/dev/ZKA/HALKit/AMD64/HalSchedulerCore.cxx
@@ -26,7 +26,7 @@ namespace Kernel
EXTERN_C Void __zka_pure_call(void)
{
- asm volatile ("mov %r8, 0; mov %r9, 1; syscall");
+ asm volatile("mov %r8, 0; mov %r9, 1; syscall");
}
Bool hal_check_stack(HAL::StackFramePtr stack_ptr)
diff --git a/dev/ZKA/HALKit/AMD64/Processor.hxx b/dev/ZKA/HALKit/AMD64/Processor.hxx
index 40ea63f9..e39cac0a 100644
--- a/dev/ZKA/HALKit/AMD64/Processor.hxx
+++ b/dev/ZKA/HALKit/AMD64/Processor.hxx
@@ -293,4 +293,4 @@ EXTERN_C Kernel::Void hal_load_gdt(Kernel::HAL::RegisterGDT ptr);
#define kKernelInterruptId 0x32
inline Kernel::VoidPtr kKernelBitMpStart = nullptr;
-inline Kernel::UIntPtr kKernelBitMpSize = 0UL;
+inline Kernel::UIntPtr kKernelBitMpSize = 0UL;
diff --git a/dev/ZKA/HALKit/AMD64/Storage/AHCI.cxx b/dev/ZKA/HALKit/AMD64/Storage/AHCI.cxx
index 9fcab945..95d73c03 100644
--- a/dev/ZKA/HALKit/AMD64/Storage/AHCI.cxx
+++ b/dev/ZKA/HALKit/AMD64/Storage/AHCI.cxx
@@ -26,7 +26,7 @@ enum
};
STATIC Kernel::PCI::Device kAhciDevice;
-STATIC HbaPort* kAhciPort = nullptr;
+STATIC HbaPort* kAhciPort = nullptr;
/// @brief Initializes an AHCI disk.
/// @param PortsImplemented the amount of port that have been detected.
diff --git a/dev/ZKA/HALKit/AMD64/Storage/ATA-PIO.cxx b/dev/ZKA/HALKit/AMD64/Storage/ATA-PIO.cxx
index aa72ad56..e09a4277 100644
--- a/dev/ZKA/HALKit/AMD64/Storage/ATA-PIO.cxx
+++ b/dev/ZKA/HALKit/AMD64/Storage/ATA-PIO.cxx
@@ -125,7 +125,7 @@ Void drv_std_read(UInt64 Lba, UInt16 IO, UInt8 Master, Char* Buf, SizeT SectorSz
Out8(IO + ATA_REG_SEC_COUNT0, ((Size + SectorSz) / SectorSz));
- Out8(IO + ATA_REG_LBA0, (Lba)&0xFF);
+ Out8(IO + ATA_REG_LBA0, (Lba) & 0xFF);
Out8(IO + ATA_REG_LBA1, (Lba) >> 8);
Out8(IO + ATA_REG_LBA2, (Lba) >> 16);
Out8(IO + ATA_REG_LBA3, (Lba) >> 24);
@@ -157,7 +157,7 @@ Void drv_std_write(UInt64 Lba, UInt16 IO, UInt8 Master, Char* Buf, SizeT SectorS
Out8(IO + ATA_REG_SEC_COUNT0, ((Size + (SectorSz)) / SectorSz));
- Out8(IO + ATA_REG_LBA0, (Lba)&0xFF);
+ Out8(IO + ATA_REG_LBA0, (Lba) & 0xFF);
Out8(IO + ATA_REG_LBA1, (Lba) >> 8);
Out8(IO + ATA_REG_LBA2, (Lba) >> 16);
Out8(IO + ATA_REG_LBA3, (Lba) >> 24);
diff --git a/dev/ZKA/HALKit/ARM64/HalSchedulerCore.cxx b/dev/ZKA/HALKit/ARM64/HalSchedulerCore.cxx
index 2c801372..7545b350 100644
--- a/dev/ZKA/HALKit/ARM64/HalSchedulerCore.cxx
+++ b/dev/ZKA/HALKit/ARM64/HalSchedulerCore.cxx
@@ -33,7 +33,7 @@ namespace Kernel
/// Wakes up thread from the hang state.
Void mp_wakeup_thread(HAL::StackFrame* stack)
{
- ZKA_UNUSED(stack);
+ ZKA_UNUSED(stack);
}
/// @brief makes the thread sleep on a loop.
diff --git a/dev/ZKA/HALKit/ARM64/Processor.hxx b/dev/ZKA/HALKit/ARM64/Processor.hxx
index 41456880..533457a9 100644
--- a/dev/ZKA/HALKit/ARM64/Processor.hxx
+++ b/dev/ZKA/HALKit/ARM64/Processor.hxx
@@ -43,7 +43,7 @@ namespace Kernel::HAL
} // namespace Kernel::HAL
inline Kernel::VoidPtr kKernelBitMpStart = nullptr;
-inline Kernel::UIntPtr kKernelBitMpSize = 0UL;
+inline Kernel::UIntPtr kKernelBitMpSize = 0UL;
inline Kernel::VoidPtr kKernelPhysicalStart = nullptr;