aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/apos/syscalls.h2
-rw-r--r--include/apos/tcb.h2
-rw-r--r--include/arch/arch.h6
-rw-r--r--include/arch/cpu.h7
-rw-r--r--include/arch/irq.h6
-rw-r--r--include/arch/lock.h15
-rw-r--r--include/arch/pmem.h7
-rw-r--r--include/arch/tcb.h15
-rw-r--r--include/arch/timer.h6
-rw-r--r--include/arch/types.h6
-rw-r--r--include/arch/vmem.h6
11 files changed, 72 insertions, 6 deletions
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 <apos/mem_regions.h>
#include <apos/types.h>
-#include <tcb.h> /* arch-specific data */
+#include <arch/tcb.h> /* 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 <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);