summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/HALKit/AMD64/Processor.h
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-05-25 09:56:46 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-05-25 09:56:46 +0200
commit5b30cacacf0f0ca6fb06bb34389f04b05ceb2b15 (patch)
tree85c1fb5b167d3089483affe7060155a7d148d641 /dev/kernel/HALKit/AMD64/Processor.h
parentef3e3db6fafb43afd3e254b17c7169c603cdf416 (diff)
kernel!: lots of changes, see commit details.
refactor(hal): unify file naming and drop redundant architecture suffixes feat(build): rename kernel and bootloader to 'ne_kernel' and 'ne_bootz' refactor(memory): replace mm_get_phys_address with mm_get_page_addr feat(bitmap): track bitmap allocator usage and add out-of-memory error fix(heap): correct heap magic naming and alignment logic chore(fs): downgrade HeFS disk size check to warning chore(tools): clean up formatting in 'ping' and 'manual' docs(design): update OS_DESIGN.drawio to reflect Hypr86 and new layout Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/HALKit/AMD64/Processor.h')
-rw-r--r--dev/kernel/HALKit/AMD64/Processor.h13
1 files changed, 3 insertions, 10 deletions
diff --git a/dev/kernel/HALKit/AMD64/Processor.h b/dev/kernel/HALKit/AMD64/Processor.h
index 5a70b465..80dc7a1d 100644
--- a/dev/kernel/HALKit/AMD64/Processor.h
+++ b/dev/kernel/HALKit/AMD64/Processor.h
@@ -174,16 +174,7 @@ Void mp_init_cores(VoidPtr vendor_ptr) noexcept;
/// @retval true it does exists.
/// @retval false it doesn't.
/***********************************************************************************/
-inline Bool hal_has_msr() noexcept {
- static UInt32 eax, unused, edx; // eax, edx
-
- __get_cpuid(1, &eax, &unused, &unused, &edx);
-
- // edx returns the flag for MSR (which is 1 shifted to 5.)
- return edx & (1 << 5);
-}
-
-UIntPtr mm_get_phys_address(VoidPtr virtual_address);
+Bool hal_has_msr() noexcept;
/***********************************************************************************/
/// @brief Get Model specific register inside core.
@@ -271,6 +262,8 @@ EXTERN_C Void rt_sti();
EXTERN_C Void rt_cld();
EXTERN_C Void rt_std();
+EXTERN_C UIntPtr mm_get_page_addr(VoidPtr virtual_address);
+
EXTERN_C Int32 mm_memory_fence(VoidPtr virtual_address);
} // namespace Kernel::HAL