VMM: Replace the old virtio in vmrunkernel with the new virtio
[akaros.git] / kern / arch / riscv / trap.h
index 9ff985b..46fae1f 100644 (file)
@@ -42,6 +42,15 @@ static inline uintptr_t get_hwtf_fp(struct hw_trapframe *hw_tf)
        //return hw_tf->tf_rbp;
 }
 
+static inline uintptr_t get_hwtf_sp(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_rsp;
+}
+
 static inline uintptr_t get_swtf_pc(struct sw_trapframe *sw_tf)
 {
        #warning "fix me"
@@ -56,6 +65,31 @@ static inline uintptr_t get_swtf_fp(struct sw_trapframe *sw_tf)
        //return sw_tf->tf_rbp;
 }
 
+static inline uintptr_t get_swtf_sp(struct sw_trapframe *sw_tf)
+{
+       #warning "fix me"
+       return 0;
+       //return sw_tf->tf_rsp;
+}
+
+static inline uintptr_t get_vmtf_pc(struct vm_trapframe *vm_tf)
+{
+       #warning "fix me"
+       return 0;
+}
+
+static inline uintptr_t get_vmtf_fp(struct vm_trapframe *vm_tf)
+{
+       #warning "fix me"
+       return 0;
+}
+
+static inline uintptr_t get_vmtf_sp(struct vm_trapframe *vm_tf)
+{
+       #warning "fix me"
+       return 0;
+}
+
 static inline void __attribute__((always_inline))
 set_stack_pointer(uintptr_t sp)
 {
@@ -72,4 +106,13 @@ set_frame_pointer(uintptr_t fp)
 void handle_trap(struct hw_trapframe *hw_tf);
 int emulate_fpu(struct hw_trapframe *hw_tf);
 
+static inline bool arch_ctx_is_partial(struct user_context *ctx)
+{
+       return FALSE;
+}
+
+static inline void arch_finalize_ctx(struct user_context *ctx)
+{
+}
+
 #endif