#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#

config FS_HOSTFS
	bool "Host File System"
	default n
	depends on !DISABLE_MOUNTPOINT
	---help---
		The Host file system provides a mechanism to mount directories
		from the host OS during simulation mode.  The host directory
		to be "mounted" is specified during the mount command using
		the -o command line switch, such as:

			mount -t hostfs -o fs=/home/user/nuttx_root /host

		For non-NSH operation, the option "fs=home/user/nuttx_root" would
		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
	depends on FS_HOSTFS
	depends on OPENAMP
	---help---
		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
	depends on OPENAMP
	---help---
		Use Host file system to mount directories through rpmsg.
		This is the driver that receiving the message.