// -*- C++ -*- (c) 2016 Jan Mrázek #include #include #include #include "fault.hpp" #include namespace __sc { // Mapping of syscodes to implementations #define SYSCALL(n,...) extern void n ( __dios::Context& ctx, int *err, void *retval, va_list vl ); #include } // namespace __sc namespace __sc_passthru { // Mapping of syscodes to implementations #define SYSCALL(n,...) extern void n ( __dios::Context& ctx, int *err, void *retval, va_list vl ); #include } // namespace __sc_passthru namespace __dios { const SC_Handler _DiOS_SysCalls_Virt[ SYS_MAXSYSCALL ] = { #define SYSCALL(n,...) [ SYS_ ## n ] = __sc::n, #include #undef SYSCALL }; const SC_Handler _DiOS_SysCalls_Passthru[ SYS_MAXSYSCALL ] = { #define SYSCALL(n,...) [ SYS_ ## n ] = __sc_passthru::n, #include #undef SYSCALL }; const SC_Handler *_DiOS_SysCalls = _DiOS_SysCalls_Virt; const SchedCommand _DiOS_SysCallsSched[ SYS_MAXSYSCALL ] = { #define SYSCALL(n, sched,...) [ SYS_ ## n ] = sched, #include #undef SYSCALL }; } // namespace _dios