incubator-nuttx/drivers/syslog/Kconfig

245 lines
6.9 KiB
Plaintext
Raw Normal View History

#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
menu "System Logging"
2016-06-19 23:52:34 +08:00
# Selected if the architecture has its own, built-in SYSLOGging enabled
config ARCH_SYSLOG
bool
default n
# Selected if the SYSLOG device supports multi-byte write operations
config SYSLOG_WRITE
bool
default n
config RAMLOG
bool "RAM log device support"
default n
---help---
This is a driver that was intended to support debugging output,
aka syslogging, when the normal serial output is not available.
For example, if you are using a telnet or USB serial console,
the debug output will get lost. However, the RAMLOG device should
be usable even if system logging is disabled.
This driver is similar to a pipe in that it saves the debugging
output in a FIFO in RAM. It differs from a pipe in numerous
details as needed to support logging.
if RAMLOG
config RAMLOG_BUFSIZE
int "RAMLOG buffer size"
default 1024
depends on RAMLOG_SYSLOG
---help---
Size of the console RAM log. Default: 1024
config RAMLOG_CRLF
bool "RAMLOG CR/LF"
default n
---help---
Pre-pend a carriage return before every linefeed that goes into the
RAM log.
config RAMLOG_NONBLOCKING
bool "RAMLOG non-block reads"
default y
---help---
Reading from the RAMLOG will never block if the RAMLOG is empty. If the RAMLOG
is empty, then zero is returned (usually interpreted as end-of-file).
config RAMLOG_NPOLLWAITERS
int "RAMLOG number of poll waiters"
default 4
---help---
The maximum number of threads that may be waiting on the poll method.
endif
config DRIVER_NOTE
bool "Scheduler instrumentation driver"
default n
depends on SCHED_INSTRUMENTATION_BUFFER && SCHED_NOTE_GET
---help---
2016-06-19 23:52:34 +08:00
Enable building a serial driver that can be used by an application
to read data from the in-memory, scheduler instrumentation "note"
2016-06-19 23:52:34 +08:00
buffer.
config SYSLOG_BUFFER
bool "Use buffered output"
default n
depends on SYSLOG_WRITE
select MM_IOB
---help---
Enables an buffering logic that will be used to serialize debug
output from concurrent tasks. This enables allocation of one buffer
per thread, each of size CONFIG_IOB_BUFSIZE.
The use of SYSLOG buffering is optional. If not enabled, however,
then the output from multiple tasks that attempt to generate SYSLOG
output may be interleaved and difficult to read.
config SYSLOG_INTBUFFER
bool "Use interrupt buffer"
default n
---help---
Enables an interrupt buffer that will be used to serialize debug
output from interrupt handlers.
config SYSLOG_INTBUFSIZE
int "Interrupt buffer size"
default 512
depends on SYSLOG_INTBUFFER
---help---
The size of the interrupt buffer in bytes.
config SYSLOG_TIMESTAMP
bool "Prepend timestamp to syslog message"
default n
---help---
Prepend timestamp to syslog message.
2017-08-04 22:02:52 +08:00
config SYSLOG_TIMESTAMP_REALTIME
bool "Use wall-clock for syslog timestamp"
default n
depends on SYSLOG_TIMESTAMP
---help---
Use wall-clock (CLOCK_REALTIME) for timestamp. By default,
CLOCK_MONOTONIC, if enabled, will be used or the system timer
is not.
config SYSLOG_PREFIX
bool "Prepend prefix to syslog message"
default n
---help---
Prepend prefix to syslog message.
config SYSLOG_PREFIX_STRING
string "Prefix string"
depends on SYSLOG_PREFIX
default ""
---help---
The prefix string to be prepend.
choice
prompt "System log device"
default SYSLOG_CONSOLE if !ARCH_LOWPUTC
default SYSLOG_DEFAULT if ARCH_LOWPUTC
depends on !ARCH_SYSLOG
config SYSLOG_CHAR
bool "Log to a character device"
select SYSLOG_WRITE
---help---
Enable the generic character device for the SYSLOG. The full path to the
SYSLOG device is provided by SYSLOG_DEVPATH. A valid character device (or
file) must exist at this path. It will by opened by syslog_initialize.
config RAMLOG_SYSLOG
bool "Use RAMLOG for SYSLOG"
depends on RAMLOG && !ARCH_SYSLOG
---help---
Use the RAM logging device for the syslogging interface. If this
feature is enabled (along with SYSLOG), then all debug output (only)
will be re-directed to the circular buffer in RAM. This RAM log can
be viewed from NSH using the 'dmesg' command.
config SYSLOG_CONSOLE
bool "Log to /dev/console"
depends on DEV_CONSOLE
select SYSLOG_WRITE
---help---
Use the system console as a SYSLOG output device.
This commit brings in the drivers needed to support OpenAMP. These changes were ported from https://github.com/FishsemiCode/nuttx. The current state: Most drivers do now compile but are not yet verfied. This port was effort of a number of people, I rather arbitrarily gave authorship to Guiding Li because he has the largest number of fundamental quashed commits from the Xiamoi repository. Squashed commit of the following: Author: Xiang Xiao <xiaoxiang@pinecone.net> include/nuttx/b2c.h and libx/libc/string: Add non-standard string functions to deal with cases where there are more than 8-bits in a type char. Author: Gregory Nutt <gnutt@nuttx.org> Fix several build issues/missing definitiona needed for OpenAMP build in drivers/. Add OpenAMP code has been reviewed and ran through tools/nxstyle (with all reports accounted for). Author: Xiang Xiao <xiaoxiang@xiaomi.com> tools/: Fix the minor issue in Makefile Author: Gregory Nutt <gnutt@nuttx.org> drivers/rptun/rptun.c: Review for coding standard. Run against tools/nxstyle. tools/LibTargets.mk: Fix some TABs that were turned into spaces by a copy-paste. fs/hostfs: Add configure and build support for hostfs RPC. drivers/timer: Add configure and build support for syslog RTC. drivers/syslog: Add configure and build support for syslog RPC. drivers/serial: Add configure and build support for serial RPC. Kconfig, tools/*.mk. openamp/: Add basic OpenAMP build support. drivers/rptun: Add configure and build support for OpenAMP tunnel drivers. drivers/net: Update Make.defs and Kconfig for OpenSDA support. Remove drivers/clk/clk-rpmsg.c drivers/power/rpmsg_regulator.c. These depend on upstreaming support for a new subsystem based on the clk/regulator is model from Linux. Removed because we want to separate the activities. We will just try to get the basic OpenAMP support in place for now. Remove drivers/misc/misc_rpmsg.c and include/nuttx/misc/misc_rpmsg.h. These are specific to the Xiaomi application. Author: zhuyanlin <zhuyanlin@pinecone.net> This commit brings in the OpenAMP OS driver/RPC components from https://github.com/FishsemiCode/nuttx. Initial commit is source files only. Additional changes to Kconfig and Make.defs files still needed. Author: Jianli Dong <dongjianli@pinecone.net> This commit brings in the OpenAMP OS driver/RPC components from https://github.com/FishsemiCode/nuttx. Initial commit is source files only. Additional changes to Kconfig and Make.defs files still needed. Author: Guiding Li <liguiding@pinecone.net> This commit brings in the OpenAMP OS driver/RPC components from https://github.com/FishsemiCode/nuttx. Initial commit is source files only. Additional changes to Kconfig and Make.defs files still needed.
2019-11-03 01:30:33 +08:00
config SYSLOG_RPMSG
bool "Log to RPMSG"
depends on OPENAMP
depends on SCHED_WORKQUEUE
select SYSLOG_WRITE
---help---
Use the rpmsg as a SYSLOG output device, send message to remote proc.
config SYSLOG_DEFAULT
bool "Default SYSLOG device"
---help---
syslog() interfaces will be present, but all output will go to the
up_putc(ARCH_LOWPUTC == y) or bit-bucket(ARCH_LOWPUTC == n).
endchoice
This commit brings in the drivers needed to support OpenAMP. These changes were ported from https://github.com/FishsemiCode/nuttx. The current state: Most drivers do now compile but are not yet verfied. This port was effort of a number of people, I rather arbitrarily gave authorship to Guiding Li because he has the largest number of fundamental quashed commits from the Xiamoi repository. Squashed commit of the following: Author: Xiang Xiao <xiaoxiang@pinecone.net> include/nuttx/b2c.h and libx/libc/string: Add non-standard string functions to deal with cases where there are more than 8-bits in a type char. Author: Gregory Nutt <gnutt@nuttx.org> Fix several build issues/missing definitiona needed for OpenAMP build in drivers/. Add OpenAMP code has been reviewed and ran through tools/nxstyle (with all reports accounted for). Author: Xiang Xiao <xiaoxiang@xiaomi.com> tools/: Fix the minor issue in Makefile Author: Gregory Nutt <gnutt@nuttx.org> drivers/rptun/rptun.c: Review for coding standard. Run against tools/nxstyle. tools/LibTargets.mk: Fix some TABs that were turned into spaces by a copy-paste. fs/hostfs: Add configure and build support for hostfs RPC. drivers/timer: Add configure and build support for syslog RTC. drivers/syslog: Add configure and build support for syslog RPC. drivers/serial: Add configure and build support for serial RPC. Kconfig, tools/*.mk. openamp/: Add basic OpenAMP build support. drivers/rptun: Add configure and build support for OpenAMP tunnel drivers. drivers/net: Update Make.defs and Kconfig for OpenSDA support. Remove drivers/clk/clk-rpmsg.c drivers/power/rpmsg_regulator.c. These depend on upstreaming support for a new subsystem based on the clk/regulator is model from Linux. Removed because we want to separate the activities. We will just try to get the basic OpenAMP support in place for now. Remove drivers/misc/misc_rpmsg.c and include/nuttx/misc/misc_rpmsg.h. These are specific to the Xiaomi application. Author: zhuyanlin <zhuyanlin@pinecone.net> This commit brings in the OpenAMP OS driver/RPC components from https://github.com/FishsemiCode/nuttx. Initial commit is source files only. Additional changes to Kconfig and Make.defs files still needed. Author: Jianli Dong <dongjianli@pinecone.net> This commit brings in the OpenAMP OS driver/RPC components from https://github.com/FishsemiCode/nuttx. Initial commit is source files only. Additional changes to Kconfig and Make.defs files still needed. Author: Guiding Li <liguiding@pinecone.net> This commit brings in the OpenAMP OS driver/RPC components from https://github.com/FishsemiCode/nuttx. Initial commit is source files only. Additional changes to Kconfig and Make.defs files still needed.
2019-11-03 01:30:33 +08:00
config SYSLOG_RPMSG_WORK_DELAY
int "SYSLOG RPMSG work delay(ms)"
default 100
depends on SYSLOG_RPMSG
config SYSLOG_RPMSG_SERVER
bool "Enable RPMSG server for SYSLOG"
default n
depends on OPENAMP
---help---
Use rpmsg to receive message from remote proc.
config SYSLOG_FILE
bool "Syslog file output"
default n
select SYSLOG_WRITE
---help---
Build in support to use a file to collect SYSLOG output. File SYSLOG
channels differ from other SYSLOG channels in that they cannot be
established until after fully booting and mounting the target file
system. The function syslog_file_channel() would need to be called
from board-specific bring-up logic AFTER mounting the file system
containing 'devpath'.
NOTE interrupt level SYSLOG output will be lost in this case unless
the interrupt buffer is used.
config CONSOLE_SYSLOG
bool "Use SYSLOG for /dev/console"
default n
depends on DEV_CONSOLE && !SYSLOG_CONSOLE
---help---
Use the syslog logging device as a system console. If this feature is
enabled (along with DEV_CONSOLE), then all console output will be
re-directed to syslog output (syslog_putc). This is useful, for
example, if the only console is a Telnet console. Then in that case,
console output from non-Telnet threads will go to the syslog output.
config SYSLOG_CHAR_CRLF
bool "SYSLOG device CR/LF"
default y
depends on SYSLOG_CHAR
---help---
Pre-pend a carriage return before every linefeed that goes to the
character device.
config SYSLOG_DEVPATH
string "System log device"
default "/dev/ttyS1"
depends on SYSLOG_CHAR
---help---
The full path to the system logging device. For the RAMLOG SYSLOG device,
this is normally "/dev/ramlog". For character SYSLOG devices, it should be
some other existing character device (or file) supported by the configuration
(such as "/dev/ttyS1")/
config SYSLOG_CHARDEV
bool "SYSLOG character device"
default n
---help---
Enables support for a simple character driver at /dev/syslog whose
write() method will transfer data to the SYSLOG device. This can be
useful if, for example, you want to redirect the output of a program
to the SYSLOG.
NOTE that unlike other syslog output, this data is unformatted raw
byte output with no time-stamping or any other SYSLOG features
supported.
endmenu # System logging