Add syscall support for insmod and rmmod

This commit is contained in:
Gregory Nutt
2015-12-12 11:11:09 -06:00
parent 040835de00
commit 303123deb9
5 changed files with 47 additions and 6 deletions
+2
View File
@@ -28,6 +28,7 @@
"getenv","stdlib.h","!defined(CONFIG_DISABLE_ENVIRON)","FAR char*","FAR const char*"
"getpid","unistd.h","","pid_t"
"getsockopt","sys/socket.h","CONFIG_NSOCKET_DESCRIPTORS > 0 && defined(CONFIG_NET)","int","int","int","int","FAR void*","FAR socklen_t*"
"insmod","nuttx/module.h",defined(CONFIG_MODULE),"int","FAR struct module_s *"
"ioctl","sys/ioctl.h","!defined(CONFIG_LIBC_IOCTL_VARIADIC) && (CONFIG_NSOCKET_DESCRIPTORS > 0 || CONFIG_NFILE_DESCRIPTORS > 0)","int","int","int","unsigned long"
"kill","signal.h","!defined(CONFIG_DISABLE_SIGNALS)","int","pid_t","int"
"listen","sys/socket.h","CONFIG_NSOCKET_DESCRIPTORS > 0 && defined(CONFIG_NET)","int","int","int"
@@ -97,6 +98,7 @@
"rename","stdio.h","CONFIG_NFILE_DESCRIPTORS > 0 && !defined(CONFIG_DISABLE_MOUNTPOINT)","int","FAR const char*","FAR const char*"
"rewinddir","dirent.h","CONFIG_NFILE_DESCRIPTORS > 0","void","FAR DIR*"
"rmdir","unistd.h","CONFIG_NFILE_DESCRIPTORS > 0 && !defined(CONFIG_DISABLE_MOUNTPOINT)","int","FAR const char*"
"rmmod","nuttx/module.h",defined(CONFIG_MODULE),"int","FAR struct module_s *"
"sched_getparam","sched.h","","int","pid_t","struct sched_param*"
"sched_getscheduler","sched.h","","int","pid_t"
"sched_getstreams","nuttx/sched.h","CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_NFILE_STREAMS > 0","FAR struct streamlist*"
1 _exit unistd.h void int
28 getenv stdlib.h !defined(CONFIG_DISABLE_ENVIRON) FAR char* FAR const char*
29 getpid unistd.h pid_t
30 getsockopt sys/socket.h CONFIG_NSOCKET_DESCRIPTORS > 0 && defined(CONFIG_NET) int int
31 insmod nuttx/module.h defined(CONFIG_MODULE) int FAR struct module_s *
32 ioctl sys/ioctl.h !defined(CONFIG_LIBC_IOCTL_VARIADIC) && (CONFIG_NSOCKET_DESCRIPTORS > 0 || CONFIG_NFILE_DESCRIPTORS > 0) int int
33 kill signal.h !defined(CONFIG_DISABLE_SIGNALS) int pid_t
34 listen sys/socket.h CONFIG_NSOCKET_DESCRIPTORS > 0 && defined(CONFIG_NET) int int
98 rename stdio.h CONFIG_NFILE_DESCRIPTORS > 0 && !defined(CONFIG_DISABLE_MOUNTPOINT) int FAR const char*
99 rewinddir dirent.h CONFIG_NFILE_DESCRIPTORS > 0 void FAR DIR*
100 rmdir unistd.h CONFIG_NFILE_DESCRIPTORS > 0 && !defined(CONFIG_DISABLE_MOUNTPOINT) int FAR const char*
101 rmmod nuttx/module.h defined(CONFIG_MODULE) int FAR struct module_s *
102 sched_getparam sched.h int pid_t
103 sched_getscheduler sched.h int pid_t
104 sched_getstreams nuttx/sched.h CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_NFILE_STREAMS > 0 FAR struct streamlist*
+9
View File
@@ -106,6 +106,15 @@ SYSCALL_LOOKUP(up_assert, 2, STUB_up_assert)
# endif
#endif
/* The following can only be defined if we are configured to load
* OS modules from a file system.
*/
#ifdef CONFIG_MODULE
SYSCALL_LOOKUP(insmod, 1, STUB_insmod)
SYSCALL_LOOKUP(rmmod, 1, STUB_rmmod)
#endif
/* The following can only be defined if we are configured to execute
* programs from a file system.
*/
+9
View File
@@ -107,6 +107,15 @@ uintptr_t STUB_wait(int nbr, uintptr_t parm1);
uintptr_t STUB_waitid(int nbr, uintptr_t parm1, uintptr_t parm2,
uintptr_t parm3, uintptr_t parm4);
/* The following can only be defined if we are configured to load
* OS modules from a file system.
*/
#ifdef CONFIG_MODULE
uintptr_t STUB_insmod(int nbr, uintptr_t parm1);
uintptr_t STUB_rmmod(int nbr, uintptr_t parm1);
#endif
/* The following can only be defined if we are configured to execute
* programs from a file system.
*/