Commit Graph

47115 Commits

Author SHA1 Message Date
zhanghongyu
db4840564d dns: Reduce the dns_lock granularity
When a7 curl calls dns_query via usrsock, it will wait a usrsock
response with the dns lock held. If a7 rptun recv a dns_addnameserver
event from another core at this time, rptun waits the lock held by
curl in callback. Then curl will never get its usrsock response with
rptun blocked, so the deadlock occurs.

This change will break lock when do usrsock request.

Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2022-11-11 20:07:05 +08:00
ligd
8aa5145273 rptun: fix race-condition on g_rptun_cb & g_rptun_priv
both rptun_dev_start() & rpmsg_register_callback() will use
these two lists

Signed-off-by: ligd <liguiding1@xiaomi.com>
2022-11-11 20:04:33 +08:00
ligd
f599527e1e rptun: fix rptun sem post too much
_assert
/media/liangchaozhong/ssd/86v1ap/nuttx/libs/libc/assert/lib_assert.c:36
nxsem_post
/media/liangchaozhong/ssd/86v1ap/nuttx/sched/semaphore/sem_post.c:91 (discriminator 1)
rptun_wakeup_rx
/media/liangchaozhong/ssd/86v1ap/nuttx/drivers/rptun/rptun.c:374
rpmsg_virtio_rx_callback
/media/liangchaozhong/ssd/86v1ap/nuttx/openamp/open-amp/lib/rpmsg/rpmsg_virtio.c:377
rproc_virtio_notified
/media/liangchaozhong/ssd/86v1ap/nuttx/openamp/open-amp/lib/remoteproc/remoteproc_virtio.c:342
remoteproc_get_notification
/media/liangchaozhong/ssd/86v1ap/nuttx/openamp/open-amp/lib/remoteproc/remoteproc.c:998
nxtask_start
/media/liangchaozhong/ssd/86v1ap/nuttx/sched/task/task_start.c:129

Signed-off-by: ligd <liguiding1@xiaomi.com>
2022-11-11 20:04:33 +08:00
ligd
b33a925787 armv7-r: fix arm_gic_nlines redefines
Signed-off-by: ligd <liguiding1@xiaomi.com>
2022-11-11 20:01:55 +08:00
Zhe Weng
b1ad547deb Documentation: add NAT description
Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2022-11-11 14:36:55 +08:00
Zhe Weng
a3a669a5f6 net/nat: Add UDP support
Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2022-11-11 14:36:55 +08:00
Zhe Weng
8d401db5b9 net/nat: Add ICMP ECHO (REQUEST & REPLY) support
Support ICMP ECHO REQUEST & REPLY. Id of ICMP is processed like port of TCP in NAT. However, our ICMP stack doesn't have a method to manage id allocation like tcp_selectport(), the id is set by apps (like icmp_ping.c) without conflict avoidance, so not adding such conflict avoidance logic to ICMP stack when implementing NAT.

Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2022-11-11 14:36:55 +08:00
Zhe Weng
f498102512 net: select NAT external port by tcp_selectport for TCP
Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2022-11-11 14:36:55 +08:00
Zhe Weng
8239ddeef4 net/nat: Add TCP entry expiration logic
Add TCP entry expiration logic for NAT, with entries changed from sq to dq for fast removal.

Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2022-11-11 14:36:55 +08:00
Zhe Weng
0a4e01d712 net: verify NAT port usage in tcp_selectport
Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2022-11-11 14:36:55 +08:00
Zhe Weng
b595430578 net: add basic NAT workflow
Add basic functions for NAT (NAPT), remaining some logic unimplemented (UDP, ICMP, port assignment, etc). NAT for TCP can work now (unless port conflicts).
Outbound: LAN ->  Forward  ->  NAT(only if targeting at WAN)  -> WAN
Inbound:  WAN ->  NAT(only from WAN, change dest) -> Forward  -> LAN

Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2022-11-11 14:36:55 +08:00
anjiahao
634bdeaa5c pthread_barrier:don't destory when barrier used
this is fix a ltp test case and update
the error code of pthread_barrierdestroy

ltptcase is : apps/testing/ltp/ltp/testcases/open_posix_testsuite/conformance/interfaces/pthread_barrier_destroy/2-1.c
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2022-11-11 08:56:48 +08:00
ligd
a9c647d418 semaphore: move param check to sem_xx level
for the speed improve

Signed-off-by: ligd <liguiding1@xiaomi.com>
2022-11-10 22:36:21 +08:00
ligd
a4b378a583 mqueue: use to DEBUGASSERT to cover some param check
for the speed improve

Signed-off-by: ligd <liguiding1@xiaomi.com>
2022-11-10 22:36:21 +08:00
simbit18
a522a8eeaf tools/Win.mk
fix shell conditional
2022-11-10 10:39:25 +08:00
Xiang Xiao
36abcda0d2 lib/netdb: Rename dns_sem[take|give] with dns_[lock|unlock]
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-09 21:38:10 +01:00
Xiang Xiao
898093a822 libc/stdio: Remove the one line mutex wrapper
and call nxmutex api directly

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-09 21:38:10 +01:00
YAMAMOTO Takashi
0f2206e9a8 esp32-devkitc/wamr_wasi_debug: bump WAMR version 2022-11-09 18:20:05 +08:00
YAMAMOTO Takashi
316f6aea71 group_setupidlefiles: fall back to /dev/null if /dev/console is disabled
Tested with a modified nsh on esp32-devkitc.
```
 int main(int argc, FAR char *argv[])
  {
  +  int fd = open("/dev/null", O_RDWR);
  +  _info("hey _info %d\n", fd);
  +  write(1, "hey stdout\n", 11);
  +  write(2, "hey stderr\n", 11);
```
2022-11-09 17:06:38 +08:00
ligd
4501490302 hwspinlock: add hwspinlock driver for multi CPU
The design follow Linux kernel:
https://www.kernel.org/doc/html/latest/locking/hwspinlock.html

Signed-off-by: ligd <liguiding@pinecone.net>
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-09 09:12:01 +01:00
zouboan
77cbd3379c tools: Fix an error of make -C tools -f Makefile.host clean 2022-11-09 13:50:15 +08:00
zouboan
afd3c65cf6 tools/Win.mk Fix some issue caused by out-sync of Win.mk and Unix.mk 2022-11-09 13:50:15 +08:00
anjiahao
0c26658906 random_pool:add a new api arc4random
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2022-11-09 06:41:19 +01:00
Xiang Xiao
352006af6d boards/esp32-lyrat: Remove CONFIG_MM_CIRCBUF=y from audio config
since this config is removed from:
commit a446b5816f
Author: Xiang Xiao <xiaoxiang@xiaomi.com>
Date:   Sun Nov 6 00:18:52 2022 +0800

    mm/circbuf: Remove MM_CIRCBUF option from Kconfig

    since the linker can remove the unused object file from the final image

    Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-08 18:24:07 -03:00
Xiang Xiao
faf16fb810 vfs/epoll: Protect epoll_ctl by mutex
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-08 22:06:46 +01:00
Xiang Xiao
7231a5f044 vfs/epoll: Replace sem_t with mutex_t for locking usage
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-08 22:06:46 +01:00
simbit18
c4d654946f tools/incdir.bat
Fix mistakes in comments
2022-11-09 01:38:12 +08:00
Michael Jung
b401db5ca4 prctl syscall is present unconditionally
I had a link problem regarding prctl while CONFIG_TASK_NAME_SIZE was
defined 0 and building in protected mode.  Turns out in monolithic
build prctl is present no matter what CONFIG_TASK_NAME_SIZE, but in
protected mode build its only present if CONFIG_TASK_NAME_SIZE > 0.
So, bring protected mode build in sync with the monolithic one.

Signed-off-by: Michael Jung <michael.jung@secore.ly>
2022-11-09 01:21:16 +08:00
Xiang Xiao
33dabe3c38 sim: Always enable full UBSan feature to catch more error
since the resource is plenty on simulator

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-08 10:18:27 -03:00
Xiang Xiao
d6b5a345a4 mm: Let MM_SMALL and MM_REGIONS depend on MM_DEFAULT_MANAGER
since these options are coupled with the default heap implementation

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-08 10:18:27 -03:00
Xiang Xiao
38d1244751 mm/mempool: Remove MM_MEMPOOL option from Kconfig
since the linker can remove the unused object file from the final image

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-08 10:18:27 -03:00
Xiang Xiao
a446b5816f mm/circbuf: Remove MM_CIRCBUF option from Kconfig
since the linker can remove the unused object file from the final image

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-08 10:18:27 -03:00
Lucas Saavedra Vaz
bcafc77cf8 boards/esp32-lyrat: Add support for the ES8388 codec 2022-11-08 10:03:18 -03:00
Lucas Saavedra Vaz
fa0ccce046 audio: Add support for the ES8388 codec (output) 2022-11-08 10:03:18 -03:00
Masayuki Ishikawa
6bd285814d boards: esp32-devkitc: Update elf/defconfig
Summary:
- This commit adds the following configs to elf/defconfig
  +CONFIG_DEBUG_FULLOPT=y
  +CONFIG_DEBUG_SYMBOLS=y
  +CONFIG_STACK_COLORATION=y

Impact:
- None

Testing:
- Tested with esp32-devkitc (QEMU and board)

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2022-11-08 10:03:00 -03:00
Xiang Xiao
7dcf35cf64 mm: Remove the unused macro MM_IS_ALLOCATED
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-08 14:57:48 +09:00
Xiang Xiao
7ad4b573fb openamp: update openmap lib version to 2022.10.0
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-07 17:14:58 -03:00
Lucas Saavedra Vaz
22ce6e8a9c boards/xtensa: Added support for the ESP32-S2-Kaluga-1 board 2022-11-07 14:23:09 -03:00
Xiang Xiao
ac893ffcfe sensors/mpu60x0: Remove the simple mpu_lock/mpu_unlock
call nxmutex_lock and nxmutex_unlock directly

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-07 18:22:33 +01:00
Gustavo Henrique Nihei
f0cf1ea69e boards/esp32s3: Improve documentation on the IRAM upper limit definition
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-11-08 00:49:03 +08:00
Gustavo Henrique Nihei
3cb6d103c5 xtensa/esp32s3: Extend IRAM region according to IDFboot v4.4.2
This change syncs the NuttX application image IRAM upper limit to the
start of the IRAM region used by the IDF 2nd stage bootloader.

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-11-08 00:49:03 +08:00
Masayuki Ishikawa
bbe2fd3b80 boards: Fix the CI build errors for telnetd
Summary:
- This commit fixes the CI build errors regressed by
  https://github.com/apache/incubator-nuttx/pull/7351

Impact:
- None

Testing:
- Build only

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2022-11-07 16:06:00 +01:00
Xiang Xiao
69f8ac8ed0 Revert "arm/lc823450: Fix error: unknown pragma ignored"
This reverts commit 206e2a8eec.
2022-11-08 00:03:54 +09:00
chao an
80a2d058b8 lib/atexit: correct return value of exitfunc lock
Signed-off-by: chao an <anchao@xiaomi.com>
2022-11-07 18:14:30 +08:00
chao an
df55f0137a sensor/mpu60x0: correct mutex usage
Signed-off-by: chao an <anchao@xiaomi.com>
2022-11-07 18:14:30 +08:00
chao an
4b5e3ddf51 lpwan/sx127x: correct device unlock interface to nxmutex_unlock()
Signed-off-by: chao an <anchao@xiaomi.com>
2022-11-07 18:12:25 +08:00
Xiang Xiao
ace71efe77 drivers/mbox: Don't reference the nonexistent CONFIG_MBOX
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-07 10:14:20 +01:00
Xiang Xiao
a7e99346a1 net/tcp: Make TCP_MAXRTX and TCP_MAXSYNRTX configurable
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-07 10:05:57 +01:00
Xiang Xiao
85b4177913 mm: Remove mm_ prefix from mm_[add|free]_delaylist
follow the convention of other static mm functions

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-07 10:01:52 +01:00
Xiang Xiao
b567e09c3c mm: Restore the return type of mm_lock from bool to int
Fix the issue reported here better:
https://github.com/apache/incubator-nuttx/pull/6995

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-07 10:01:52 +01:00