tests/linux: use Akaros's CFLAGS
[akaros.git] / kern / arch / riscv / trap.h
index 64af828..8a4102e 100644 (file)
@@ -1,5 +1,4 @@
-#ifndef ROS_ARCH_TRAP_H
-#define ROS_ARCH_TRAP_H
+#pragma once
 
 #ifdef __riscv64
 # define SIZEOF_HW_TRAPFRAME (36*8)
 #warning "make sure this poke vector is okay"
 /* this is for an ipi that just wakes a core, but has no handler (for now) */
 #define I_POKE_CORE 254
+#define I_POKE_GUEST 253
 
 static inline bool in_kernel(struct hw_trapframe *hw_tf)
 {
        return hw_tf->sr & SR_PS;
 }
 
-static inline uintptr_t get_hwtf_pc(struct hw_trapframe *hw_tf)
-{
-       #warning "fix me"
-       return 0;
-       //return hw_tf->tf_rip;
-}
-
-static inline uintptr_t get_hwtf_fp(struct hw_trapframe *hw_tf)
-{
-       /* do you even have frame pointers?  this is used for backtrace, but if you
-        * don't use FPs, we'll need to change up our parameters or something. */
-       #warning "fix me"
-       return 0;
-       //return hw_tf->tf_rbp;
-}
-
 static inline void __attribute__((always_inline))
 set_stack_pointer(uintptr_t sp)
 {
@@ -59,6 +43,13 @@ set_frame_pointer(uintptr_t fp)
 void handle_trap(struct hw_trapframe *hw_tf);
 int emulate_fpu(struct hw_trapframe *hw_tf);
 
-#endif
+static inline bool arch_ctx_is_partial(struct user_context *ctx)
+{
+       return FALSE;
+}
+
+static inline void arch_finalize_ctx(struct user_context *ctx)
+{
+}
 
 #endif