Commit Graph

49124 Commits

Author SHA1 Message Date
zhangyuan21
884be2bdb9 assert: Distinguish between assert and exception
CURRENT_REGS may change during assert handling, so pass
in the 'regs' parameter at the entry point of _assert.

Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2023-05-03 14:49:32 +08:00
Tiago Medicci Serrano
5a1efdecfd documentation: add references to RTP Tools' defconfigs
Added examples of using the RTP Tools (`rtpdump`, in particular)
to receive RTP packets and 1) print the data and/or 2) playback
audio content through I2S.
2023-05-03 07:57:11 +02:00
Tiago Medicci Serrano
0f808a352a boards/esp32-lyrat/configs: add defconfig for RTP Tools
RTP Tools is a set of small applications that can be used for
processing RTP data. This application is able to receive RTP
packets and write the content to a FIFO. `nxplayer` then reads
from the FIFO, enabling using NuttX as a RTP receiver for audio
applications.

This is particularly useful to stream uncompressed audio through
Wi-Fi to remote speakers.
2023-05-03 07:57:11 +02:00
Tiago Medicci Serrano
34dbfa0370 boards/sim/configs: add defconfig for RTP Tools
RTP Tools is a set of small applications that can be used for
processing RTP data. This `defconfig` builds the `rtpdump` and
is able to receive RTP packets and print the contents.
2023-05-03 07:57:11 +02:00
Lwazi Dube
e2083354f1 arch/arm/sama5: Use a recursive mutex to fix OHCI deadlock.
Unplugging a USB device from an OHCI root hub will cause
a deadlock if DRVR_EPFREE is called from sam_rhsc_bottomhalf. A
typical call chain looks like this: sam_rhsc_bottomhalf->
CLASS_DISCONNECTED->usbhost_destroy->DRVR_EPFREE. In this case
DRVR_EPFREE tries to lock a locked mutex. A recursive mutex
prevents this deadlock.
2023-05-03 12:53:30 +08:00
simbit18
79574c18d8 arch: Fix nxstyle errors
error: Long line found
2023-05-02 18:31:40 -06:00
Petro Karashchenko
fa07c90522 mm/tlsf: fix compilation warnings
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2023-05-02 18:29:29 -06:00
Petro Karashchenko
5a298e8685 mm: memory allocations return valid pointer when request 0 size
This change introduce 2 items:
1. If the size of the space requested is 0, the behavior is implementation-defined:
   either a null pointer shall be returned, or the behavior shall be as if the size
   were some non-zero value, except that the behavior is undefined if the returned
   pointer is used to access an object.

   Change the behavior to be similar to Linux and Android and allocates an object
   of a minimum size instead of returning null pointer.

   https://pubs.opengroup.org/onlinepubs/9699919799/functions/malloc.html
   https://pubs.opengroup.org/onlinepubs/9699919799/functions/calloc.html
   https://pubs.opengroup.org/onlinepubs/9699919799/functions/realloc.html

2. The description of realloc() has been modified from previous versions of this
   standard to align with the ISO/IEC 9899:1999 standard. Previous versions explicitly
   permitted a call to realloc (p, 0) to free the space pointed to by p and return
   a null pointer. While this behavior could be interpreted as permitted by this
   version of the standard, the C language committee have indicated that this
   interpretation is incorrect. Applications should assume that if realloc() returns
   a null pointer, the space pointed to by p has not been freed. Since this could lead
   to double-frees, implementations should also set errno if a null pointer actually
   indicates a failure, and applications should only free the space if errno was changed.

   Do not free memory of zero-length reallocation is requested

   https://pubs.opengroup.org/onlinepubs/9699919799/functions/realloc.html

Co-authored-by: fangxinyong <fangxinyong@xiaomi.com>
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2023-05-02 18:29:29 -06:00
Tiago Medicci Serrano
ea276b20ef audio/pcm_decode: fix warnings regarding unused functions and vars
* 'pcm_dump' available if 'CONFIG_DEBUG_AUDIO_INFO' is set
instead of using the 'CONFIG_PCM_DEBUG'.
* 'pcm_leuint16' and 'pcm_leuint32' available if
'CONFIG_AUDIO_FORMAT_RAW' is not set (once 'pcm_parsewav', which
is available under the same condition, use them).
* 'headersize' var, from 'pcm_enqueuebuffer' declared only if
'CONFIG_AUDIO_FORMAT_RAW' is not set (as it's used by the code
defined by the same condition).
2023-05-02 19:19:14 +03:00
Xiang Xiao
7a725019bc mtd/nand: Add nand_raw_initialize to skip the probing
Since not all nand devices follow ONFI spec, nand_raw_initialize could be used to skip ONFI special action

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-05-02 15:02:38 +02:00
Xiang Xiao
b4814811f5 mtd/nand: Implement MTDIOC_ERASESECTORS ioctl
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-05-02 12:15:56 +02:00
Xiang Xiao
3fc882df9e mtd/nand: Implement MTDIOC_ERASESTATE ioctl
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-05-02 12:15:56 +02:00
Xiang Xiao
3c54e66683 mtd/nand: Fix the comment and remove the uneeded inclusion
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-05-01 22:47:00 +03:00
Xiang Xiao
25a1191763 mtd/nand: Correct the check of erasing bad blocks
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-05-01 22:47:00 +03:00
Xiang Xiao
c1680d2f03 mtd/nand: Call nandmodel_getdevpagesize directly to get the page number
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-05-01 22:47:00 +03:00
Stuart Ianna
4e2a8d4492 libc: Add setbuffer to stdio.
The setbuffer() function is a wrapper around setvbuf() which
enables full buffering on a buffer allocated by the caller, assuming
buffer is not a null pointer.
2023-05-01 11:24:41 +03:00
Stuart Ianna
a9fc76c848 include/err: Enforce c linkage for err and warn functions.
This change ensures that xx_func names are not mangled by a c++ compiler
and can be correctly resolved when loaded at runtime.
2023-05-01 12:48:55 +08:00
Tiago Medicci Serrano
f7d64fec9f boards/esp32-devkitc: substitute ramtest to mm on defconfigs
The defconfigs that test PSRAM on ESP32 contain the `ramtest` app,
but it doesn't test the memory correctly as it try to access the
memory directly. The memory, however, is being used by the system's
heap and `ramtest` can mess with it. Therefore, it makes sense to
test using `mm` testing app.
2023-04-30 11:31:23 +08:00
Tiago Medicci Serrano
a49a367226 signal: add macro NSIG 2023-04-30 11:18:29 +08:00
Lwazi Dube
0356d1403d wireless/bluetooth: Initialize private bt_driver_s member. 2023-04-30 00:41:22 +08:00
anjiahao
78bff8e9c5 sig_timewait:changes the macro for waitticks
use SYSTEM_TIME64 inside of LONG LONG better

Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-04-30 00:41:06 +08:00
Michal Lenc
02aa7bcefe mtd: add support for MTDIOC_ERASESECTORS ioctl
Current driver supports MTDIOC_BULKERASE ioctl that erases the entire
device. The added ioctl MTDIOC_ERASESECTORS adds possibility to erase
just sectors defined by the user.

This is similar to MEMERASE call in Linux kernel.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
2023-04-29 21:23:08 +08:00
Tiago Medicci Serrano
5afa727eef documentantion/applications: add WAPI documentation
Initial documentation of the WAPI (Wireless API). Currently, `wapi`
is the only interface provided to handle Wi-Fi networking from the
userspace.
2023-04-29 14:35:09 +08:00
Tiago Medicci Serrano
bec4ed482d wireless: add IW_AUTH_WPA_VERSION_WPA3 to support WPA3
Add the `IW_AUTH_WPA_VERSION_WPA3` bit field to support selecting
WPA3-SAE networks using the `IW_AUTH_WPA_VERSION` command.

This commit is necessary to enable `wapi`'s support for WPA3.
2023-04-29 14:35:09 +08:00
anjiahao
0c9ca52f37 tty:support tty c_cc VMIN & VTIME
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-04-29 13:48:52 +08:00
yanghuatao
e9dfa0094f libm/libmcs: add math library libmcs support
add math library libmcs support
(1)open menuconfig  (2)close math.h:build setup->Customize Header Files->math.h (3) select libmcs:Library Rountines->Select math library->Math Library fram LibmCS (4)build

Signed-off-by: yanghuatao <yanghuatao@xiaomi.com>
2023-04-29 13:47:28 +08:00
TimJTi
9c66f14e38 SAMA5D2 Class D 2023-04-29 13:46:04 +08:00
simbit18
eed360c0ad arch: Fix nxstyle errors
error: Long line found
2023-04-28 15:00:33 -03:00
Huang Qi
9de449c8b6 drivers/telnet: Refused to enter character mode
Refuse SGA to work in line mode, it's OK for modern rich featured telnet clients.

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2023-04-28 13:44:51 +03:00
Masayuki Ishikawa
8355ab9070 drivers: wireless: Fix mtu info for gs2200m
Summary:
- I noticed that mtu info with ifconfig shows incorrect size.
- This commit fixes this issue.

Impact:
- None

Testing:
- Tested with spresense:wifi_smp

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2023-04-28 18:25:37 +08:00
Huang Qi
0d3abe6ebb boards/k210: Use 8 byte align in linker script
I noticed sometimes once config changed, it will not launch to shell,
maybe due to
K210 is a 64-bit platform and without misaligned memory access support.

This patch may fix this problem, it will not introduce new issues at least.

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2023-04-28 18:22:09 +08:00
Radek Pesina
d58c445ac5 Add patch for littlefs to use kmm_malloc/free on kernel with MMU. 2023-04-28 16:45:05 +08:00
chao an
c87da0d115 tools/nxstyle: add white files list to allow assembly headers to pass ci checks
Signed-off-by: chao an <anchao@xiaomi.com>
2023-04-28 09:51:52 +08:00
chao an
9fa097ab69 newlib: libc: memcpy M-profile PACBTI-enablement
Add function prologue/epilogue to conditionally add BTI landing pads
and/or PAC code generation & authentication instructions depending on
compilation flags.

Signed-off-by: chao an <anchao@xiaomi.com>
2023-04-28 09:51:52 +08:00
wangchen
d197ca9967 net/procfs: Support to show MTU in netdev statistics
Usage:
ifconfig (interfacename)
example:
ifconfig eth0
eth0	Link encap:Ethernet HWaddr 42:d3:59:ad:5a:2f at RUNNING mtu 1500
	inet addr:10.0.1.2 DRaddr:10.0.1.1 Mask:255.255.255.0
	inet6 addr: fe80::40d3:59ff:fead:5a2f/64
	inet6 DRaddr: ::/64

Signed-off-by: wangchen <wangchen41@xiaomi.com>
2023-04-28 09:45:21 +08:00
Tiago Medicci Serrano
d4e7fe55c7 drivers/pipe: fix blocking file_pipe
Similar to the fix introduced by
4d6a8663fa, it's necessary to set
one end of the file_pipe as non-blocking temporarily while opening
the other end to avoid it blocking unexpectedily.
2023-04-28 09:42:17 +08:00
zhangyuan21
f48693eaf5 arch: Return directly when arch not support interrupt context save
Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2023-04-27 23:21:05 +03:00
simbit18
20faf08930 arch/avr/include/avr/avr.h: Fix nxstyle errors
error: Long line found
2023-04-27 23:20:40 +03:00
Ville Juven
7184d1f5f9 arch/risc-v: Fix save/load FPU macros
The macros destroy t0, t1, t2 when used, make them explicitly restore them
so they are safe to use from where-ever
2023-04-28 00:54:39 +08:00
zhangyuan21
4a4386c822 Revert "arch/armv7ar: use robust code sequences for cache maintenance"
This reverts commit 69fd539886.

Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2023-04-27 20:21:57 +08:00
chao an
5945f080b9 boars/spawn_proxy: remove all CONFIG_POSIX_SPAWN_PROXY_STACKSIZE
Signed-off-by: chao an <anchao@xiaomi.com>
2023-04-27 17:35:58 +08:00
chao an
507c8145a9 sched/spawn: remove spawn proxy thread to simplify task/posix_spawn()
The spawn proxy thread is a special existence in NuttX, usually some developers
spend a lot of time on stack overflow of spawn proxy thread:

https://github.com/apache/nuttx/issues/9046
https://github.com/apache/nuttx/pull/9081

In order to avoid similar issues, this PR will remove spawn proxy thread to simplify
the process of task/posix_spawn().

1. Postpone the related processing of spawn file actions until after task_init()
2. Delete the temporary thread of spawn proxy and related global variables

Signed-off-by: chao an <anchao@xiaomi.com>
2023-04-27 17:35:58 +08:00
zhangyuan21
89ae45be18 arch/risc-v: change up_saveusercontext to assembly code
minidump will backtrace failure when use C code to save user context,
because the stack push operation in C code can disrupt the stack information.

Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2023-04-27 17:34:30 +08:00
SPRESENSE
307839ab6d drivers/spi/spi_bitbang: Add private data on spi_bitbang
Add private data for spi_bitbang low-level driver to add an instance
specific private data.
And add spi_destroy_bitbang() to clean up a driver instance.
2023-04-27 17:06:14 +08:00
SPRESENSE
e542ef9175 drivers/video: Support spot position setting
Add new control id V4L2_CID_EXPOSURE_METERING_SPOT_POSITION
to support spot position setting in spot exposure metering.
2023-04-27 17:05:32 +08:00
Radek Pesina
3ba792cb52 Fix missing instantiation of return value in rwb_mediaremoved. 2023-04-27 17:03:25 +08:00
Radek Pesina
a0e2f29bdf Add option for selecting coherent DMA. 2023-04-27 16:41:00 +08:00
chao an
60d188353c arm/unwind: EABI unwind needs frame pointer support
Signed-off-by: chao an <anchao@xiaomi.com>
2023-04-27 16:38:40 +08:00
Lucas Saavedra Vaz
18d2653e4e boards/xtensa/ttgo_t_display_esp32: Fix LCD colors 2023-04-27 02:18:32 +08:00
Lucas Saavedra Vaz
7f32b7973b boards/xtensa/esp32s2-kaluga-1: Add support for LCD displays 2023-04-27 02:18:32 +08:00