]> rtime.felk.cvut.cz Git - l4.git/blobdiff - kernel/fiasco/src/kern/syscalls.cpp
update
[l4.git] / kernel / fiasco / src / kern / syscalls.cpp
index cabc8259b8fabfe681dff02b377622cf434630b1..69b3a44ed651ff3f8c9bccf588568a81a8098d19 100644 (file)
@@ -1,49 +1,18 @@
-INTERFACE:
-
-class Sys_ex_regs_frame;
-
-
-IMPLEMENTATION:
-
-#include <cstdio>
-
-#include "l4_types.h"
+//---------------------------------------------------------------------------
+IMPLEMENTATION [debug]:
 
-#include "config.h"
-#include "entry_frame.h"
-#include "feature.h"
-#include "irq.h"
-#include "logdefs.h"
-#include "map_util.h"
-#include "processor.h"
-#include "ram_quota.h"
 #include "space.h"
-#include "std_macros.h"
 #include "task.h"
 #include "thread.h"
-#include "thread_state.h"
-#include "warn.h"
-
-class Syscalls : public Thread
-{
-
-public:
-  void sys_invoke_object();
-protected:
-  Syscalls();
-};
 
+class Syscalls : public Thread { };
 
-extern "C" void sys_invoke_debug(Kobject *o, Syscall_frame *f) __attribute__((weak));
-
+extern "C" void sys_invoke_debug(Kobject *o, Syscall_frame *f);
 
 PUBLIC inline NOEXPORT ALWAYS_INLINE
 void
 Syscalls::sys_invoke_debug()
 {
-  if (!&::sys_invoke_debug)
-    return;
-
   Syscall_frame *f = this->regs();
   //printf("sys_invoke_debugger(f=%p, obj=%lx)\n", f, f->ref().raw());
   Kobject_iface *o = space()->obj_space()->lookup_local(f->ref().cap());
@@ -60,6 +29,12 @@ Syscalls::sys_invoke_debug()
 extern "C" void sys_invoke_debug_wrapper()
 { static_cast<Syscalls*>(current_thread())->sys_invoke_debug(); }
 
+//---------------------------------------------------------------------------
+IMPLEMENTATION [!debug]:
+
+#include "thread.h"
+
+extern "C" void sys_invoke_debug_wrapper() {}
 
 //---------------------------------------------------------------------------
 INTERFACE [ia32 || ux || amd64]: