From 960330c5d843d1aa96aa191fc27f72da563293ea Mon Sep 17 00:00:00 2001 From: Kimplul Date: Mon, 23 May 2022 21:31:48 +0300 Subject: new include structure, make parse easier for doxy --- include/apos/syscalls.h | 2 +- include/apos/tcb.h | 2 +- include/arch/arch.h | 6 ++++++ include/arch/cpu.h | 7 ++++++- include/arch/irq.h | 6 ++++++ include/arch/lock.h | 15 +++++++++++++++ include/arch/pmem.h | 7 ++++++- include/arch/tcb.h | 15 +++++++++++++++ include/arch/timer.h | 6 ++++++ include/arch/types.h | 6 +++++- include/arch/vmem.h | 6 +++++- 11 files changed, 72 insertions(+), 6 deletions(-) create mode 100644 include/arch/lock.h create mode 100644 include/arch/tcb.h (limited to 'include') diff --git a/include/apos/syscalls.h b/include/apos/syscalls.h index e89d07a..e1513c4 100644 --- a/include/apos/syscalls.h +++ b/include/apos/syscalls.h @@ -40,7 +40,7 @@ enum { SYS_EXEC, /* execute new binary in process space */ SYS_KILL, /* kill thread */ SYS_SIGNAL, /* send signal to process (kill etc.) */ - SYS_SWAP /* switch running process */ + SYS_SWAP, /* switch running process */ /* kernel management */ SYS_CONF, /* config system parameters (stack size etc.) */ diff --git a/include/apos/tcb.h b/include/apos/tcb.h index 89b594d..572041d 100644 --- a/include/apos/tcb.h +++ b/include/apos/tcb.h @@ -8,7 +8,7 @@ #include #include -#include /* arch-specific data */ +#include /* arch-specific data */ /* process(/main) threads don't have any previous threads */ #define is_proc(t) (!t->prev) diff --git a/include/arch/arch.h b/include/arch/arch.h index 801e363..c19b039 100644 --- a/include/arch/arch.h +++ b/include/arch/arch.h @@ -9,6 +9,12 @@ #include +#if defined(riscv64) +#include "../../arch/riscv64/include/arch.h" +#elif defined(riscv32) +#include "../../arch/riscv32/include/arch.h" +#endif + stat_t setup_arch(void *fdt); #endif /* APOS_ARCH_H */ diff --git a/include/arch/cpu.h b/include/arch/cpu.h index cf7abde..23b2911 100644 --- a/include/arch/cpu.h +++ b/include/arch/cpu.h @@ -8,7 +8,12 @@ */ #include -#include + +#if defined(riscv64) +#include "../../arch/riscv64/include/cpu.h" +#elif defined(riscv32) +#include "../../arch/riscv32/include/cpu.h" +#endif id_t cpu_id(); /* TODO: add more cpu handling functions */ diff --git a/include/arch/irq.h b/include/arch/irq.h index 15ad893..5526b18 100644 --- a/include/arch/irq.h +++ b/include/arch/irq.h @@ -7,6 +7,12 @@ * arch/whatever/kernel/irq.c */ +#if defined(riscv64) +#include "../../arch/riscv64/include/irq.h" +#elif defined(riscv32) +#include "../../arch/riscv32/include/irq.h" +#endif + void init_irq(void *fdt); void handle_irq(); void enable_irq(); diff --git a/include/arch/lock.h b/include/arch/lock.h new file mode 100644 index 0000000..9d80eb9 --- /dev/null +++ b/include/arch/lock.h @@ -0,0 +1,15 @@ +#ifndef APOS_ARCH_LOCK_H +#define APOS_ARCH_LOCK_H + +/** + * @file lock.h + * Arch-specific lock stuff. + */ + +#if defined(riscv64) +#include "../../arch/riscv64/include/lock.h" +#if defined(riscv32) +#include "../../arch/riscv32/include/lock.h" +#endif + +#endif /* APOS_ARCH_LOCK_H */ diff --git a/include/arch/pmem.h b/include/arch/pmem.h index e492426..c9423b2 100644 --- a/include/arch/pmem.h +++ b/include/arch/pmem.h @@ -9,7 +9,12 @@ #include /* NUM_ORDERS */ #include -#include + +#if defined(riscv64) +#include "../../arch/riscv64/include/pmem.h" +#elif defined(riscv32) +#include "../../arch/riscv32/include/pmem.h" +#endif stat_t stat_pmem_conf(void *fdt, size_t *max_order, size_t *base_bits, size_t bits[NUM_ORDERS]); diff --git a/include/arch/tcb.h b/include/arch/tcb.h new file mode 100644 index 0000000..7d2543a --- /dev/null +++ b/include/arch/tcb.h @@ -0,0 +1,15 @@ +#ifndef APOS_ARCH_TCB_H +#define APOS_ARCH_TCB_H + +/** + * @file lock.h + * Arch-specific tcb stuff. + */ + +#if defined(riscv64) +#include "../../arch/riscv64/include/tcb.h" +#elif defined(riscv32) +#include "../../arch/riscv32/include/tcb.h" +#endif + +#endif /* APOS_ARCH_TCB_H */ diff --git a/include/arch/timer.h b/include/arch/timer.h index b4b2197..a94fda4 100644 --- a/include/arch/timer.h +++ b/include/arch/timer.h @@ -9,6 +9,12 @@ #include +#if defined(riscv64) +#include "../../arch/riscv64/include/timer.h" +#elif defined(riscv32) +#include "../../arch/riscv32/include/timer.h" +#endif + /* return hardware timer frequency */ ticks_t stat_timer(); diff --git a/include/arch/types.h b/include/arch/types.h index d8e93a9..c77af6f 100644 --- a/include/arch/types.h +++ b/include/arch/types.h @@ -11,6 +11,10 @@ * \todo Fix incorrect include file reference in doxygen. */ -#include +#if defined(riscv64) +#include "../../arch/riscv64/include/types.h" +#elif defined(riscv32) +#include "../../arch/riscv64/include/types.h" +#endif #endif /* APOS_ARCH_TYPES_H */ diff --git a/include/arch/vmem.h b/include/arch/vmem.h index e123b47..29dab99 100644 --- a/include/arch/vmem.h +++ b/include/arch/vmem.h @@ -7,7 +7,11 @@ * arch/whatever/kernel/vmem.c */ -#include +#if defined(riscv64) +#include "../../arch/riscv64/include/vmem.h" +#elif defined(riscv32) +#include "../../arch/riscv32/include/vmem.h" +#endif stat_t map_vpage(struct vmem *branch, pm_t paddr, vm_t vaddr, vmflags_t flags, enum mm_order order); -- cgit v1.3