You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2021/03/11 04:17:31 UTC

[incubator-nuttx] branch master updated: hostfs: Document the backends and restrictions

This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git


The following commit(s) were added to refs/heads/master by this push:
     new 8d33f7a  hostfs: Document the backends and restrictions
8d33f7a is described below

commit 8d33f7adee8b1d5c374444013ca414f474db756a
Author: YAMAMOTO Takashi <ya...@midokura.com>
AuthorDate: Thu Mar 11 11:04:00 2021 +0900

    hostfs: Document the backends and restrictions
---
 fs/hostfs/Kconfig | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/fs/hostfs/Kconfig b/fs/hostfs/Kconfig
index 2d69006..0395f66 100644
--- a/fs/hostfs/Kconfig
+++ b/fs/hostfs/Kconfig
@@ -19,6 +19,24 @@ config FS_HOSTFS
 		be passed to the 'mount()' routine using the optional 'void *data'
 		parameter.
 
+		The backend implementation is arch-dependent.
+		As of writing this, it's implemented for sim, arm and xtensa.
+
+		Note: depending on the backend implementions, hostfs might
+		only provide very restricted subset of filesystem operations.
+
+		Sim: It's implemented with direct calls to the host OS API.
+		It likely consumes a lot of stack than ordinary NuttX codebase.
+		You likely need to make task stack sizes huge (e.g. 64KB) to
+		avoid stack overrun.
+
+		Arm, xtensa: It's implemented using a special CPU instruction
+		to trigger a trap for a hypervisor.
+		If you are using qemu, it has the `-semihosting` command line
+		option to enable the handling of the trap.
+		Theoretically, it can work for other environments as well.
+		E.g. a real hardware + JTAG + OpenOCD.
+
 config FS_HOSTFS_RPMSG
 	bool "Host File System Rpmsg"
 	default n
@@ -28,6 +46,9 @@ config FS_HOSTFS_RPMSG
 		Use Host file system to mount directories through rpmsg.
 		This is the driver that sending the message.
 
+		This effectively replaces the ordinary hostfs backend.
+		Right now, there is no way to enable both backends.
+
 config FS_HOSTFS_RPMSG_SERVER
 	bool "Host File System Rpmsg Server"
 	default n