user/vmm: add and use a load_elf function
[akaros.git] / kern / include / monitor.h
index 8d7af4c..5f1aac3 100644 (file)
@@ -1,5 +1,4 @@
-#ifndef ROS_KERN_MONITOR_H
-#define ROS_KERN_MONITOR_H
+#pragma once
 #ifndef ROS_KERNEL
 # error "This is a ROS kernel header; user programs should not #include it"
 #endif
@@ -7,19 +6,39 @@
 // Activate the kernel monitor,
 // optionally providing a trap frame indicating the current state
 // (NULL if none).
-void (IN_HANDLER monitor)(trapframe_t *tf);
+void monitor(struct hw_trapframe *hw_tf);
+void emit_monitor_backtrace(int type, void *tf);
+int onecmd(int argc, char *argv[], struct hw_trapframe *hw_tf);
+void __run_mon(uint32_t srcid, long a0, long a1, long a2);
 
 // Functions implementing monitor commands.
-int mon_help(int argc, char *NTS *NT COUNT(argc) argv, trapframe_t *tf);
-int mon_kerninfo(int argc, char *NTS *NT COUNT(argc) argv, trapframe_t *tf);
-int mon_backtrace(int argc, char *NTS *NT COUNT(argc) argv, trapframe_t *tf);
-int mon_reboot(int argc, char *NTS *NT COUNT(argc) argv, trapframe_t *tf);
-int mon_showmapping(int argc, char *NTS *NT COUNT(argc) argv, trapframe_t *tf);
-int mon_setmapperm(int argc, char *NTS *NT COUNT(argc) argv, trapframe_t *tf);
-int mon_cpuinfo(int argc, char *NTS *NT COUNT(argc) argv, trapframe_t *tf);
-int mon_nanwan(int argc, char *NTS *NT COUNT(argc) argv, trapframe_t *tf);
-int mon_kfs_ls(int argc, char *NTS *NT COUNT(argc) argv, trapframe_t *tf);
-int mon_kfs_run(int argc, char *NTS *NT COUNT(argc) argv, trapframe_t *tf);
-int mon_manager(int argc, char *NTS *NT COUNT(argc) argv, trapframe_t *tf);
-
-#endif // !ROS_KERN_MONITOR_H
+int mon_help(int argc, char **argv, struct hw_trapframe *hw_tf);
+int mon_kerninfo(int argc, char **argv, struct hw_trapframe *hw_tf);
+int mon_backtrace(int argc, char **argv, struct hw_trapframe *hw_tf);
+int mon_ps(int argc, char **argv, struct hw_trapframe *hw_tf);
+int mon_reboot(int argc, char **argv, struct hw_trapframe *hw_tf);
+int mon_showmapping(int argc, char **argv, struct hw_trapframe *hw_tf);
+int mon_sm(int argc, char **argv, struct hw_trapframe *hw_tf);
+int mon_cpuinfo(int argc, char **argv, struct hw_trapframe *hw_tf);
+int mon_nanwan(int argc, char **argv, struct hw_trapframe *hw_tf);
+int mon_bin_ls(int argc, char **argv, struct hw_trapframe *hw_tf);
+int mon_bin_run(int argc, char **argv, struct hw_trapframe *hw_tf);
+int mon_manager(int argc, char **argv, struct hw_trapframe *hw_tf);
+int mon_procinfo(int argc, char **argv, struct hw_trapframe *hw_tf);
+int mon_pip(int argc, char **argv, struct hw_trapframe *hw_tf);
+int mon_kill(int argc, char **argv, struct hw_trapframe *hw_tf);
+int mon_exit(int argc, char **argv, struct hw_trapframe *hw_tf);
+int mon_kfunc(int argc, char **argv, struct hw_trapframe *hw_tf);
+int mon_notify(int argc, char **argv, struct hw_trapframe *hw_tf);
+int mon_measure(int argc, char **argv, struct hw_trapframe *hw_tf);
+int mon_trace(int argc, char **argv, struct hw_trapframe *hw_tf);
+int mon_monitor(int argc, char **argv, struct hw_trapframe *hw_tf);
+int mon_fs(int argc, char **argv, struct hw_trapframe *hw_tf);
+int mon_shell(int argc, char **argv, struct hw_trapframe *hw_tf);
+int mon_alarm(int argc, char **argv, struct hw_trapframe *hw_tf);
+int mon_msr(int argc, char **argv, struct hw_trapframe *hw_tf);
+int mon_db(int argc, char **argv, struct hw_trapframe *hw_tf);
+int mon_px(int argc, char **argv, struct hw_trapframe *hw_tf);
+int mon_kpfret(int argc, char **argv, struct hw_trapframe *hw_tf);
+int mon_ks(int argc, char **argv, struct hw_trapframe *hw_tf);
+int mon_coreinfo(int argc, char **argv, struct hw_trapframe *hw_tf);