kernel: allow for net calls without level 2
authorBrett Gordon <beretta42@gmail.com>
Tue, 21 Feb 2017 19:06:05 +0000 (14:06 -0500)
committerBrett Gordon <beretta42@gmail.com>
Tue, 21 Feb 2017 19:11:30 +0000 (14:11 -0500)
Kernel/include/kdata.h
Kernel/kdata.c

index f65be26..f573d69 100644 (file)
@@ -84,15 +84,15 @@ struct runload {
 extern struct runload loadavg[];
 
 // the system call dispatch table
-#ifdef CONFIG_LEVEL_2
 #ifdef CONFIG_NET
 #define FUZIX_SYSCALL_COUNT 99
 #else
+#ifdef CONFIG_LEVEL_2
 #define FUZIX_SYSCALL_COUNT 80
-#endif
 #else
 #define FUZIX_SYSCALL_COUNT 66
 #endif
+#endif
 
 typedef arg_t (*syscall_t)(void);
 extern const syscall_t syscall_dispatch[FUZIX_SYSCALL_COUNT];
index 49e6974..786b6f1 100644 (file)
@@ -102,14 +102,15 @@ const syscall_t syscall_dispatch[FUZIX_SYSCALL_COUNT] = {
        _acct,                  /* FUZIX system call 63 */
        _memalloc,              /* FUZIX system call 64 */
        _memfree,               /* FUZIX system call 65 */
-       /* Level 2 calls */
-#if defined(CONFIG_LEVEL_2)
+       /* Level 2 calls and Networking calls */
+#if defined(CONFIG_LEVEL_2) || defined(CONFIG_NET)
        _nosys,                 /* 66-71 reserved */
        _nosys,
        _nosys,
        _nosys,
        _nosys,
        _nosys,
+#ifdef CONFIG_LEVEL_2
        _select,                /* FUZIX system call 72 */
        _setgroups,             /* FUZIX system call 73 */
        _getgroups,             /* FUZIX system call 74 */
@@ -118,6 +119,16 @@ const syscall_t syscall_dispatch[FUZIX_SYSCALL_COUNT] = {
        _setpgid,               /* FUZIX system call 77 */
        _setsid,                /* FUZIX system call 78 */
        _getsid,                /* FUZIX system call 79 */
+#else
+       _nosys,                 /* FUZIX system call 72 */
+       _nosys,                 /* FUZIX system call 73 */
+       _nosys,                 /* FUZIX system call 74 */
+       _nosys,                 /* FUZIX system call 75 */
+       _nosys,                 /* FUZIX system call 76 */
+       _nosys,                 /* FUZIX system call 77 */
+       _nosys,                 /* FUZIX system call 78 */
+       _nosys,                 /* FUZIX system call 79 */
+#endif
        _nosys,                 /* 80-89 reserved */
        _nosys,
        _nosys,
@@ -128,7 +139,7 @@ const syscall_t syscall_dispatch[FUZIX_SYSCALL_COUNT] = {
        _nosys,
        _nosys,
        _nosys,
-#if defined(CONFIG_NET)                /* For now require L2 */
+#ifdef CONFIG_NET              /* For now require L2 */
        _socket,                /* FUZIX system call 90 */
        _listen,                /* FUZIX system call 91 */
        _bind,                  /* FUZIX system call 92 */