T119: implement syscall and monitor interface to debug_print_capabilities
[barrelfish] / include / barrelfish_kpi / syscalls.h
index c0dab56..96a55f3 100644 (file)
@@ -27,7 +27,7 @@ struct sysret {
 };
 
 /// Macro used for constructing return values from single-value syscalls
-#define SYSRET(x) (struct sysret){ .error = x, .value = 0 }
+#define SYSRET(x) (struct sysret){ /*error*/ x, /*value*/ 0 }
 #endif // __ASSEMBLER__
 
 /*
@@ -48,12 +48,23 @@ struct sysret {
 #define SYSCALL_NOP                 5     ///< No operation
 #define SYSCALL_PRINT               6     ///< Write to console
 
-/* Architecture-specific syscalls 
+/* Architecture-specific syscalls
  * FIXME: shouldn't these be in an arch-specific header? -AB */
+#ifdef __ARM_ARCH_7M__  //cortex-m3 on pandaboard
+//overwrite unused syscall instead of creating yet another global one
+#define SYSCALL_RESUME_CONTEXT      7     ///< Resume a context that the dispatcher can't
+#else
 #define SYSCALL_X86_FPU_TRAP_ON     7     ///< Turn FPU trap on (x86)
+#endif  //__ARM_ARCH_7M__
+
+
 #define SYSCALL_X86_RELOAD_LDT      8     ///< Reload the LDT register (x86_64)
+#define SYSCALL_SUSPEND             9     ///< Suspend the CPU
+#define SYSCALL_GET_ABS_TIME        10    ///< Get time elapsed since boot
+
+#define SYSCALL_DEBUG_PRINT_CAPABILITIES 11
 
-#define SYSCALL_COUNT               9     ///< Number of syscalls [0..SYSCALL_COUNT - 1]
+#define SYSCALL_COUNT               12     ///< Number of syscalls [0..SYSCALL_COUNT - 1]
 
 /*
  * To understand system calls it might be helpful to know that there