chore: fix almost *ALL* warnings.
[lunaix-os.git] / lunaix-os / arch / x86 / hhk.c
index 997bbdf86bcd886a84c0f37179f8aa2f8fc181bf..49221222d3cb47a2b0285806475a37ca47ffcec3 100644 (file)
@@ -7,7 +7,7 @@
 #define SET_PDE(ptd, pde_index, pde) *((ptd_t*)ptd + pde_index) = pde;
 #define SET_PTE(ptd, pt_index, pte_index, pte)                                 \
     *(PT_ADDR(ptd, pt_index) + pte_index) = pte;
 #define SET_PDE(ptd, pde_index, pde) *((ptd_t*)ptd + pde_index) = pde;
 #define SET_PTE(ptd, pt_index, pte_index, pte)                                 \
     *(PT_ADDR(ptd, pt_index) + pte_index) = pte;
-#define sym_val(sym) (uintptr_t)(&sym)
+#define sym_val(sym) (ptr_t)(&sym)
 
 #define KERNEL_PAGE_COUNT                                                      \
     ((sym_val(__kernel_end) - sym_val(__kernel_start) + 0x1000 - 1) >> 12);
 
 #define KERNEL_PAGE_COUNT                                                      \
     ((sym_val(__kernel_end) - sym_val(__kernel_start) + 0x1000 - 1) >> 12);
 #define PG_TABLE_STACK 8
 
 // Provided by linker (see linker.ld)
 #define PG_TABLE_STACK 8
 
 // Provided by linker (see linker.ld)
-extern uint8_t __kernel_start;
-extern uint8_t __kernel_end;
-extern uint8_t __init_hhk_end;
-extern uint8_t _k_stack;
+extern u8_t __kernel_start;
+extern u8_t __kernel_end;
+extern u8_t __init_hhk_end;
+extern u8_t _k_stack;
 
 void
 _init_page(ptd_t* ptd)
 
 void
 _init_page(ptd_t* ptd)
@@ -36,7 +36,7 @@ _init_page(ptd_t* ptd)
 
     // 对低1MiB空间进行对等映射(Identity
     // mapping),也包括了我们的VGA,方便内核操作。
 
     // 对低1MiB空间进行对等映射(Identity
     // mapping),也包括了我们的VGA,方便内核操作。
-    for (uint32_t i = 0; i < 256; i++) {
+    for (u32_t i = 0; i < 256; i++) {
         SET_PTE(ptd,
                 PG_TABLE_IDENTITY,
                 i,
         SET_PTE(ptd,
                 PG_TABLE_IDENTITY,
                 i,
@@ -46,7 +46,7 @@ _init_page(ptd_t* ptd)
     // 对等映射我们的hhk_init,这样一来,当分页与地址转换开启后,我们依然能够照常执行最终的
     // jmp 指令来跳转至
     //  内核的入口点
     // 对等映射我们的hhk_init,这样一来,当分页与地址转换开启后,我们依然能够照常执行最终的
     // jmp 指令来跳转至
     //  内核的入口点
-    for (uint32_t i = 0; i < HHK_PAGE_COUNT; i++) {
+    for (u32_t i = 0; i < HHK_PAGE_COUNT; i++) {
         SET_PTE(ptd,
                 PG_TABLE_IDENTITY,
                 256 + i,
         SET_PTE(ptd,
                 PG_TABLE_IDENTITY,
                 256 + i,
@@ -57,14 +57,14 @@ _init_page(ptd_t* ptd)
 
     // 这里是一些计算,主要是计算应当映射进的 页目录 与 页表 的条目索引(Entry
     // Index)
 
     // 这里是一些计算,主要是计算应当映射进的 页目录 与 页表 的条目索引(Entry
     // Index)
-    uint32_t kernel_pde_index = L1_INDEX(sym_val(__kernel_start));
-    uint32_t kernel_pte_index = L2_INDEX(sym_val(__kernel_start));
-    uint32_t kernel_pg_counts = KERNEL_PAGE_COUNT;
+    u32_t kernel_pde_index = L1_INDEX(sym_val(__kernel_start));
+    u32_t kernel_pte_index = L2_INDEX(sym_val(__kernel_start));
+    u32_t kernel_pg_counts = KERNEL_PAGE_COUNT;
 
     // 将内核所需要的页表注册进页目录
     //  当然,就现在而言,我们的内核只占用不到50个页(每个页表包含1024个页)
     //  这里分配了3个页表(12MiB),未雨绸缪。
 
     // 将内核所需要的页表注册进页目录
     //  当然,就现在而言,我们的内核只占用不到50个页(每个页表包含1024个页)
     //  这里分配了3个页表(12MiB),未雨绸缪。
-    for (uint32_t i = 0; i < PG_TABLE_STACK - PG_TABLE_KERNEL; i++) {
+    for (u32_t i = 0; i < PG_TABLE_STACK - PG_TABLE_KERNEL; i++) {
         SET_PDE(ptd,
                 kernel_pde_index + i,
                 NEW_L1_ENTRY(PG_PREM_URW, PT_ADDR(ptd, PG_TABLE_KERNEL + i)))
         SET_PDE(ptd,
                 kernel_pde_index + i,
                 NEW_L1_ENTRY(PG_PREM_URW, PT_ADDR(ptd, PG_TABLE_KERNEL + i)))
@@ -79,10 +79,10 @@ _init_page(ptd_t* ptd)
     }
 
     // 计算内核.text段的物理地址
     }
 
     // 计算内核.text段的物理地址
-    uintptr_t kernel_pm = V2P(&__kernel_start);
+    ptr_t kernel_pm = V2P(&__kernel_start);
 
     // 重映射内核至高半区地址(>=0xC0000000)
 
     // 重映射内核至高半区地址(>=0xC0000000)
-    for (uint32_t i = 0; i < kernel_pg_counts; i++) {
+    for (u32_t i = 0; i < kernel_pg_counts; i++) {
         // FIXME: 只是用作用户模式(R3)测试!
         //        在实际中,内核代码除了极少部分需要暴露给R3(如从信号返回),其余的应为R0。
         SET_PTE(ptd,
         // FIXME: 只是用作用户模式(R3)测试!
         //        在实际中,内核代码除了极少部分需要暴露给R3(如从信号返回),其余的应为R0。
         SET_PTE(ptd,
@@ -95,8 +95,8 @@ _init_page(ptd_t* ptd)
     SET_PDE(ptd, PG_MAX_ENTRIES - 1, NEW_L1_ENTRY(T_SELF_REF_PERM, ptd));
 }
 
     SET_PDE(ptd, PG_MAX_ENTRIES - 1, NEW_L1_ENTRY(T_SELF_REF_PERM, ptd));
 }
 
-uint32_t
-__save_subset(uint8_t* destination, uint8_t* base, unsigned int size)
+u32_t
+__save_subset(u8_t* destination, u8_t* base, unsigned int size)
 {
     unsigned int i = 0;
     for (; i < size; i++) {
 {
     unsigned int i = 0;
     for (; i < size; i++) {
@@ -106,36 +106,34 @@ __save_subset(uint8_t* destination, uint8_t* base, unsigned int size)
 }
 
 void
 }
 
 void
-_save_multiboot_info(multiboot_info_t* info, uint8_t* destination)
+_save_multiboot_info(multiboot_info_t* info, u8_t* destination)
 {
 {
-    uint32_t current = 0;
-    uint8_t* info_b = (uint8_t*)info;
+    u32_t current = 0;
+    u8_t* info_b = (u8_t*)info;
     for (; current < sizeof(multiboot_info_t); current++) {
         *(destination + current) = *(info_b + current);
     }
 
     for (; current < sizeof(multiboot_info_t); current++) {
         *(destination + current) = *(info_b + current);
     }
 
-    ((multiboot_info_t*)destination)->mmap_addr =
-      (uintptr_t)destination + current;
+    ((multiboot_info_t*)destination)->mmap_addr = (ptr_t)destination + current;
     current += __save_subset(
     current += __save_subset(
-      destination + current, (uint8_t*)info->mmap_addr, info->mmap_length);
+      destination + current, (u8_t*)info->mmap_addr, info->mmap_length);
 
     if (present(info->flags, MULTIBOOT_INFO_DRIVE_INFO)) {
         ((multiboot_info_t*)destination)->drives_addr =
 
     if (present(info->flags, MULTIBOOT_INFO_DRIVE_INFO)) {
         ((multiboot_info_t*)destination)->drives_addr =
-          (uintptr_t)destination + current;
-        current += __save_subset(destination + current,
-                                 (uint8_t*)info->drives_addr,
-                                 info->drives_length);
+          (ptr_t)destination + current;
+        current += __save_subset(
+          destination + current, (u8_t*)info->drives_addr, info->drives_length);
     }
 }
 
 void
     }
 }
 
 void
-_hhk_init(ptd_t* ptd, uint32_t kpg_size)
+_hhk_init(ptd_t* ptd, u32_t kpg_size)
 {
 
     // 初始化 kpg 全为0
     //      P.s. 真没想到GRUB会在这里留下一堆垃圾! 老子的页表全乱套了!
 {
 
     // 初始化 kpg 全为0
     //      P.s. 真没想到GRUB会在这里留下一堆垃圾! 老子的页表全乱套了!
-    uint8_t* kpg = (uint8_t*)ptd;
-    for (uint32_t i = 0; i < kpg_size; i++) {
+    u8_t* kpg = (u8_t*)ptd;
+    for (u32_t i = 0; i < kpg_size; i++) {
         *(kpg + i) = 0;
     }
 
         *(kpg + i) = 0;
     }