diff options
Diffstat (limited to 'include/arch')
| -rw-r--r-- | include/arch/arch.h | 6 | ||||
| -rw-r--r-- | include/arch/cpu.h | 7 | ||||
| -rw-r--r-- | include/arch/irq.h | 6 | ||||
| -rw-r--r-- | include/arch/lock.h | 15 | ||||
| -rw-r--r-- | include/arch/pmem.h | 7 | ||||
| -rw-r--r-- | include/arch/tcb.h | 15 | ||||
| -rw-r--r-- | include/arch/timer.h | 6 | ||||
| -rw-r--r-- | include/arch/types.h | 6 | ||||
| -rw-r--r-- | include/arch/vmem.h | 6 |
9 files changed, 70 insertions, 4 deletions
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 <apos/types.h> +#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 <apos/types.h> -#include <cpu.h> + +#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 <apos/mem.h> /* NUM_ORDERS */ #include <apos/types.h> -#include <pmem.h> + +#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 <apos/timer.h> +#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 <types.h> +#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 <vmem.h> +#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); |
