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

View File

@ -48,7 +48,8 @@
#if defined(CONFIG_ARCH_CORTEXA5) || defined(CONFIG_ARCH_CORTEXA8)
# 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>
#elif defined(CONFIG_ARCH_CORTEXM0)
# include <arch/armv6-m/syscall.h>

@ -1 +1 @@
Subproject commit f4e939c34ba99a915db9fbed755c22e7bf12e102
Subproject commit 93157fa75469e17cf752d6add88ff5dc522fcdfb

View File

@ -303,9 +303,11 @@
# endif
# if !defined(CONFIG_DISABLE_MOUNTPOINT)
# define SYS_fsync (__SYS_mountpoint+0)
# define SYS_mkdir (__SYS_mountpoint+1)
# define SYS_mount (__SYS_mountpoint+2)
# if defined(CONFIG_FS_READABLE)
# define SYS_mount (__SYS_mountpoint+0)
# endif
# define SYS_fsync (__SYS_mountpoint+1)
# define SYS_mkdir (__SYS_mountpoint+2)
# define SYS_rename (__SYS_mountpoint+3)
# define SYS_rmdir (__SYS_mountpoint+4)
# define SYS_umount2 (__SYS_mountpoint+5)

View File

@ -51,9 +51,8 @@ config SYS_NNEST
system call processing cause a call back into the user space code,
and (3) the user space code performs another system call.
In the current design, this can happen only under one condition:
When the kernel calls back into user space in order to allocate user
space memory. So it is expected that the maximum nesting level will
be only 2.
I don't believe that any nested system calls will occur in the
current design so the default maximum nesting level of 2 should be
more than sufficient.
endif # LIB_SYSCALL

View File

@ -217,9 +217,11 @@ SYSCALL_LOOKUP(up_assert, 2, STUB_up_assert)
# endif
# 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(mkdir, 2, STUB_mkdir)
SYSCALL_LOOKUP(mount, 5, STUB_mount)
SYSCALL_LOOKUP(rename, 2, STUB_rename)
SYSCALL_LOOKUP(rmdir, 1, STUB_rmdir)
SYSCALL_LOOKUP(umount2, 2, STUB_umount2)