Syscall fixes: Add support for Cortex-M7; mount syscall has to be suppressed if there are no mountable file systems

This commit is contained in:
Gregory Nutt
2015-07-21 11:20:46 -06:00
parent 05c66b7cc6
commit 2a7416238a
5 changed files with 14 additions and 10 deletions
+2 -1
View File
@@ -48,7 +48,8 @@
#if defined(CONFIG_ARCH_CORTEXA5) || defined(CONFIG_ARCH_CORTEXA8) #if defined(CONFIG_ARCH_CORTEXA5) || defined(CONFIG_ARCH_CORTEXA8)
# include <arch/armv7-a/syscall.h> # include <arch/armv7-a/syscall.h>
#elif defined(CONFIG_ARCH_CORTEXM3) || defined(CONFIG_ARCH_CORTEXM4) #elif defined(CONFIG_ARCH_CORTEXM3) || defined(CONFIG_ARCH_CORTEXM4) || \
defined(CONFIG_ARCH_CORTEXM7)
# include <arch/armv7-m/syscall.h> # include <arch/armv7-m/syscall.h>
#elif defined(CONFIG_ARCH_CORTEXM0) #elif defined(CONFIG_ARCH_CORTEXM0)
# include <arch/armv6-m/syscall.h> # include <arch/armv6-m/syscall.h>
+1 -1
Submodule configs updated: f4e939c34b...93157fa754
+5 -3
View File
@@ -303,9 +303,11 @@
# endif # endif
# if !defined(CONFIG_DISABLE_MOUNTPOINT) # if !defined(CONFIG_DISABLE_MOUNTPOINT)
# define SYS_fsync (__SYS_mountpoint+0) # if defined(CONFIG_FS_READABLE)
# define SYS_mkdir (__SYS_mountpoint+1) # define SYS_mount (__SYS_mountpoint+0)
# define SYS_mount (__SYS_mountpoint+2) # endif
# define SYS_fsync (__SYS_mountpoint+1)
# define SYS_mkdir (__SYS_mountpoint+2)
# define SYS_rename (__SYS_mountpoint+3) # define SYS_rename (__SYS_mountpoint+3)
# define SYS_rmdir (__SYS_mountpoint+4) # define SYS_rmdir (__SYS_mountpoint+4)
# define SYS_umount2 (__SYS_mountpoint+5) # define SYS_umount2 (__SYS_mountpoint+5)
+3 -4
View File
@@ -51,9 +51,8 @@ config SYS_NNEST
system call processing cause a call back into the user space code, system call processing cause a call back into the user space code,
and (3) the user space code performs another system call. and (3) the user space code performs another system call.
In the current design, this can happen only under one condition: I don't believe that any nested system calls will occur in the
When the kernel calls back into user space in order to allocate user current design so the default maximum nesting level of 2 should be
space memory. So it is expected that the maximum nesting level will more than sufficient.
be only 2.
endif # LIB_SYSCALL endif # LIB_SYSCALL
+3 -1
View File
@@ -217,9 +217,11 @@ SYSCALL_LOOKUP(up_assert, 2, STUB_up_assert)
# endif # endif
# if !defined(CONFIG_DISABLE_MOUNTPOINT) # if !defined(CONFIG_DISABLE_MOUNTPOINT)
# if defined(CONFIG_FS_READABLE)
SYSCALL_LOOKUP(mount, 5, STUB_mount)
# endif
SYSCALL_LOOKUP(fsync, 1, STUB_fsync) SYSCALL_LOOKUP(fsync, 1, STUB_fsync)
SYSCALL_LOOKUP(mkdir, 2, STUB_mkdir) SYSCALL_LOOKUP(mkdir, 2, STUB_mkdir)
SYSCALL_LOOKUP(mount, 5, STUB_mount)
SYSCALL_LOOKUP(rename, 2, STUB_rename) SYSCALL_LOOKUP(rename, 2, STUB_rename)
SYSCALL_LOOKUP(rmdir, 1, STUB_rmdir) SYSCALL_LOOKUP(rmdir, 1, STUB_rmdir)
SYSCALL_LOOKUP(umount2, 2, STUB_umount2) SYSCALL_LOOKUP(umount2, 2, STUB_umount2)