diff --git a/x64/src/common/inc/kernel/s_boot.h b/x64/src/common/inc/kernel/s_boot.h index 8290674..870992d 100644 --- a/x64/src/common/inc/kernel/s_boot.h +++ b/x64/src/common/inc/kernel/s_boot.h @@ -1,6 +1,8 @@ #ifndef _S_BOOT_H_ #define _S_BOOT_H_ #include "g_abi.h" +#include "s_pmm.h" + // // HAL Boot Info // @@ -9,6 +11,7 @@ typedef struct uint64_t krnl_start; uint64_t krnl_end; k_hal_intr_info_t intr_info; + linked_list_t pmm_info; char cpu_vd_str[13]; } k_hal_boot_info_t; diff --git a/x64/src/common/inc/kernel/s_intr.h b/x64/src/common/inc/kernel/s_intr.h index 974cc55..810e048 100644 --- a/x64/src/common/inc/kernel/s_intr.h +++ b/x64/src/common/inc/kernel/s_intr.h @@ -32,6 +32,8 @@ extern KAPI k_irql_t k_set_irql(k_irql_t irql); extern KAPI k_irql_t k_get_irql(); +extern KAPI void k_set_timer_timeout(uint64_t timeout); + // Interrupt handler registration // context is a parameter passed by the kernel. HAL must pass back. // intr_stack is a parameter passed by the HAL. Used by some HAL interrupt context functions. diff --git a/x64/src/common/inc/kernel/s_pmm.h b/x64/src/common/inc/kernel/s_pmm.h index 0d4f9b9..c924293 100644 --- a/x64/src/common/inc/kernel/s_pmm.h +++ b/x64/src/common/inc/kernel/s_pmm.h @@ -14,15 +14,10 @@ typedef uint64_t k_physical_addr_t; // if unalignment is detected, the kernel bug checks. typedef struct { + linked_list_node_t list_node; k_physical_addr_t base; uint64_t size; uint32_t attr; } k_pmm_node_t; -typedef struct -{ - uint64_t num_of_nodes; - k_pmm_node_t nodes[]; -} k_pmm_info_t; - #endif \ No newline at end of file