summaryrefslogtreecommitdiffhomepage
path: root/dev/ZKA/HALKit
diff options
context:
space:
mode:
authorAmlal <amlal@el-mahrouss-logic.com>2024-09-06 12:52:02 +0200
committerAmlal <amlal@el-mahrouss-logic.com>2024-09-06 12:52:02 +0200
commit39d95f7fb429c5c6b71cd7c1e985cadaf4ab7b83 (patch)
tree33e5832930b82adadfec61ad2e509e79995b7cf1 /dev/ZKA/HALKit
parent1404bdfdbf767a7c8e445766af4c27fe17f7c205 (diff)
[ IMP ] Fixed Scheduler and Team object, also fixed other things.
Signed-off-by: Amlal <amlal@el-mahrouss-logic.com>
Diffstat (limited to 'dev/ZKA/HALKit')
-rw-r--r--dev/ZKA/HALKit/AMD64/HalBMPMgr.cxx21
-rw-r--r--dev/ZKA/HALKit/AMD64/HalMPContextSwitch.asm5
2 files changed, 15 insertions, 11 deletions
diff --git a/dev/ZKA/HALKit/AMD64/HalBMPMgr.cxx b/dev/ZKA/HALKit/AMD64/HalBMPMgr.cxx
index 800d8b3d..7a6e726a 100644
--- a/dev/ZKA/HALKit/AMD64/HalBMPMgr.cxx
+++ b/dev/ZKA/HALKit/AMD64/HalBMPMgr.cxx
@@ -46,15 +46,12 @@ namespace Kernel
kcout << "BMPMgr: Allocated pointer!\r";
kcout << "Magic Number: " << hex_number(ptr_bit_set[0]) << endl;
- kcout << "Size of pointer: " << hex_number(ptr_bit_set[1]) << endl;
+ kcout << "Size of pointer (KIB): " << number(KIB(ptr_bit_set[1])) << endl;
+ kcout << "Size of pointer (MIB): " << number(MIB(ptr_bit_set[1])) << endl;
+ kcout << "Size of pointer (GIB): " << number(GIB(ptr_bit_set[1])) << endl;
+ kcout << "Size of pointer (TIB): " << number(TIB(ptr_bit_set[1])) << endl;
kcout << "Address Of Header: " << hex_number((UIntPtr)ptr_bit_set) << endl;
- if (rw)
- mm_update_pte(base_ptr, eFlagsRw);
-
- if (user)
- mm_update_pte(base_ptr, eFlagsUser);
-
return (VoidPtr)ptr_bit_set;
}
}
@@ -68,7 +65,10 @@ namespace Kernel
kcout << "BMPMgr: Allocated pointer!\r";
kcout << "Magic Number: " << hex_number(ptr_bit_set[0]) << endl;
- kcout << "Size of pointer: " << hex_number(ptr_bit_set[1]) << endl;
+ kcout << "Size of pointer (KIB): " << number(KIB(ptr_bit_set[1])) << endl;
+ kcout << "Size of pointer (MIB): " << number(MIB(ptr_bit_set[1])) << endl;
+ kcout << "Size of pointer (GIB): " << number(GIB(ptr_bit_set[1])) << endl;
+ kcout << "Size of pointer (TIB): " << number(TIB(ptr_bit_set[1])) << endl;
kcout << "Address Of Header: " << hex_number((UIntPtr)ptr_bit_set) << endl;
if (rw)
@@ -123,7 +123,10 @@ namespace Kernel
kcout << "BMPMgr: Freed pointer!\r";
kcout << "Magic Number: " << hex_number(ptr_bit_set[0]) << endl;
- kcout << "Size of pointer: " << hex_number(ptr_bit_set[1]) << endl;
+ kcout << "Size of pointer (KIB): " << number(KIB(ptr_bit_set[1])) << endl;
+ kcout << "Size of pointer (MIB): " << number(MIB(ptr_bit_set[1])) << endl;
+ kcout << "Size of pointer (GIB): " << number(GIB(ptr_bit_set[1])) << endl;
+ kcout << "Size of pointer (TIB): " << number(TIB(ptr_bit_set[1])) << endl;
kcout << "Address Of Header: " << hex_number((UIntPtr)ptr_bit_set) << endl;
ptr_bit_set[0] = cBitMpMagic;
diff --git a/dev/ZKA/HALKit/AMD64/HalMPContextSwitch.asm b/dev/ZKA/HALKit/AMD64/HalMPContextSwitch.asm
index c26a346f..6b00715d 100644
--- a/dev/ZKA/HALKit/AMD64/HalMPContextSwitch.asm
+++ b/dev/ZKA/HALKit/AMD64/HalMPContextSwitch.asm
@@ -34,12 +34,13 @@ mp_do_context_switch:
mov r11, gs
mov r12, fs
- mov r11, 0x202
-
mov fs, [r8 + (8 * 4)]
mov gs, [r8 + (8 * 9)]
mov r8, [r8]
+ mov r11, 0x202
+ mov rsp, rdx
+
o64 sysret
;; @brief Gets the current stack frame.