From be78fcb0acc665d4db8edb9cda53f6863d27dd85 Mon Sep 17 00:00:00 2001 From: Kimplul Date: Fri, 7 Jan 2022 16:32:05 +0200 Subject: Improved header dependency tree --- arch/riscv64/include/cpu.h | 1 + arch/riscv64/include/pages.h | 4 ---- arch/riscv64/include/types.h | 9 +++++++++ arch/riscv64/include/vmem.h | 1 - arch/riscv64/init/init.c | 4 ++-- arch/riscv64/kernel/cpu.c | 2 +- arch/riscv64/kernel/irq.c | 2 +- arch/riscv64/kernel/vmem.c | 4 +--- 8 files changed, 15 insertions(+), 12 deletions(-) create mode 100644 arch/riscv64/include/cpu.h create mode 100644 arch/riscv64/include/types.h (limited to 'arch') diff --git a/arch/riscv64/include/cpu.h b/arch/riscv64/include/cpu.h new file mode 100644 index 0000000..40a8c17 --- /dev/null +++ b/arch/riscv64/include/cpu.h @@ -0,0 +1 @@ +/* empty */ diff --git a/arch/riscv64/include/pages.h b/arch/riscv64/include/pages.h index 362499a..643d3b4 100644 --- a/arch/riscv64/include/pages.h +++ b/arch/riscv64/include/pages.h @@ -1,8 +1,6 @@ #ifndef APOS_RISCV_PAGES_H #define APOS_RISCV_PAGES_H -#include - #define MM_KPAGE MM_O0 #define MM_MPAGE MM_O1 #define MM_GPAGE MM_O2 @@ -13,6 +11,4 @@ #define MM_GPAGE_SIZE SZ_1G #define MM_TPAGE_SIZE SZ_512G -typedef uint64_t pm_t; - #endif /* APOS_RISCV_PAGES_H */ diff --git a/arch/riscv64/include/types.h b/arch/riscv64/include/types.h new file mode 100644 index 0000000..3e1c08b --- /dev/null +++ b/arch/riscv64/include/types.h @@ -0,0 +1,9 @@ +#ifndef APOS_RISCV_TYPES_H +#define APOS_RISCV_TYPES_H + +#include + +typedef size_t vm_t; +typedef size_t pm_t; + +#endif /* APOS_RISCV_TYPES_H */ diff --git a/arch/riscv64/include/vmem.h b/arch/riscv64/include/vmem.h index 228b24b..115f2b0 100644 --- a/arch/riscv64/include/vmem.h +++ b/arch/riscv64/include/vmem.h @@ -19,7 +19,6 @@ enum mm_mode { Sv32, }; -typedef size_t vm_t; struct __packed vm_branch { struct vm_branch *leaf[512]; }; diff --git a/arch/riscv64/init/init.c b/arch/riscv64/init/init.c index 7aecfb5..94f9777 100644 --- a/arch/riscv64/init/init.c +++ b/arch/riscv64/init/init.c @@ -61,12 +61,12 @@ void init(void *fdt) { extern char *__init_end; extern void jump_to_kernel(void *k, void *fdt); - void (*kernel_main)(void *fdt) = (void (*)(void *))(VM_KERN); + init_bootmem(); move_kernel(); __va_reg(sp); __va_reg(fp); __va_reg(gp); + jump_to_kernel((void *)VM_KERN, __va(fdt)); - //kernel_main(__va(fdt)); } diff --git a/arch/riscv64/kernel/cpu.c b/arch/riscv64/kernel/cpu.c index 6ae4ee7..3583a94 100644 --- a/arch/riscv64/kernel/cpu.c +++ b/arch/riscv64/kernel/cpu.c @@ -1,4 +1,4 @@ -#include +#include id_t cpu_id() { diff --git a/arch/riscv64/kernel/irq.c b/arch/riscv64/kernel/irq.c index f844dd1..a88288f 100644 --- a/arch/riscv64/kernel/irq.c +++ b/arch/riscv64/kernel/irq.c @@ -1,6 +1,6 @@ -#include #include #include +#include #include void init_irq(void *fdt) diff --git a/arch/riscv64/kernel/vmem.c b/arch/riscv64/kernel/vmem.c index bc1a74e..146f30f 100644 --- a/arch/riscv64/kernel/vmem.c +++ b/arch/riscv64/kernel/vmem.c @@ -3,9 +3,7 @@ #include #include #include -#include -#include -#include +#include #include #define pte_ppn(pte) (((pm_t)(pte)) >> 10) -- cgit v1.3