summaryrefslogtreecommitdiffhomepage
path: root/dev/ZKA/HALKit
diff options
context:
space:
mode:
Diffstat (limited to 'dev/ZKA/HALKit')
-rw-r--r--dev/ZKA/HALKit/AMD64/HalBMPMgr.cxx10
1 files changed, 5 insertions, 5 deletions
diff --git a/dev/ZKA/HALKit/AMD64/HalBMPMgr.cxx b/dev/ZKA/HALKit/AMD64/HalBMPMgr.cxx
index bdca5c9f..ce6bd42c 100644
--- a/dev/ZKA/HALKit/AMD64/HalBMPMgr.cxx
+++ b/dev/ZKA/HALKit/AMD64/HalBMPMgr.cxx
@@ -73,11 +73,11 @@ namespace Kernel
/// @return The new address which was found.
auto FindBitMap(VoidPtr base_ptr, SizeT size, Bool rw, Bool user) -> VoidPtr
{
- auto base = reinterpret_cast<UIntPtr>(base_ptr);
+ VoidPtr base = base_ptr + kPageSize;
- while (base_ptr && size)
+ while (base && size)
{
- UIntPtr* ptr_bit_set = reinterpret_cast<UIntPtr*>(base_ptr);
+ UIntPtr* ptr_bit_set = reinterpret_cast<UIntPtr*>(base);
if (ptr_bit_set[cBitMapMagIdx] == cBitMpMagic)
{
@@ -107,9 +107,9 @@ namespace Kernel
return (VoidPtr)ptr_bit_set;
}
- base_ptr = reinterpret_cast<VoidPtr>(reinterpret_cast<UIntPtr>(base_ptr) + (ptr_bit_set[0] != cBitMpMagic ? size : ptr_bit_set[1]));
+ base = reinterpret_cast<VoidPtr>(reinterpret_cast<UIntPtr>(base_ptr) + (ptr_bit_set[0] != cBitMpMagic ? size : ptr_bit_set[1]));
- if ((UIntPtr)base_ptr < ((base) + kHandoverHeader->f_BitMapSize))
+ if ((UIntPtr)base_ptr < (reinterpret_cast<UIntPtr>(base) + kHandoverHeader->f_BitMapSize))
return nullptr;
}