Commit Graph

49974 Commits

Author SHA1 Message Date
Zhe Weng
3d5eae2497 arch/arm64: Enable FPU for qemu-armv8a:netnsh_smp and netnsh_smp_hv
When reading https://github.com/apache/nuttx-apps/pull/1793, I found a previous problem https://github.com/apache/nuttx-apps/pull/1454#discussion_r1045718067 now still exists on current master (inf in iperf bandwidth).

By step-by-step debugging, I found a value of 1000000.0 stored in register d8 is overwritten as 0 after context switch, then fdiv results in inf because of divided by 0. Finally I found that ARCH_FPU is not enabled while compiler is using FPU, and may lose values in floating-point registers.

Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2023-07-12 10:04:13 -03:00
raiden00pl
ad6361f0cc cmake: fix build after c33d1c9c97 (vfork -> fork) 2023-07-12 09:47:54 -03:00
Zhe Weng
4ffd2cc84c net/nat: Fix compiler warning
We found warning of "%x" mismatch with "in_addr_t" on some platforms.

Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2023-07-12 19:29:14 +08:00
yinshengkai
9c6f48e57b drivers/segger: add RTT serial support
usage:
  1. Connect Jlink, start JLinkGDBServer
     JLinkGDBServer -if SWD -device stm32h743zi -speed 16000
  2. Listen to the RTT port data and forward it to the virtual serial port
     sudo socat -d -d PTY,link=/dev/ttyRTT0,raw,ignoreeof TCP:127.0.0.1:19021,reuseaddr
  3. Read serial data
     minicom -D /dev/ttyRTT0

Performance:(STM32H743, 400MHZ)
time "dd if=/dev/zero of=/dev/console bs=512 count=2048"
6.67 sec  157KB/s

Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-07-12 09:54:50 +08:00
yinshengkai
e1553e8407 drivers/rtt: check whether Jlink is connected
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-07-12 09:54:50 +08:00
yanghuatao
980462bf27 set CONFIG_PTHREAD_STACK_MIN as DEFAULT_MM_PGSIZE`s default value and
sysconf add param _SC_THREAD_STACK_MIN deal

make the pthread_exit pass the ltp/open_posix_testsuite/pthread_exit/1-2.c testcase
(1) in pthread_exit/1-2.c testcase, if sysconf(_SC_THREAD_STACK_MIN) % sysconf(_SC_PAGESIZE) is not zero, will report error and test failed, so set CONFIG_PTHREAD_STACK_MIN as DEFAULT_MM_PGSIZE`s default value.
(2) in function sysconf add param _SC_THREAD_STACK_MIN deal.

Signed-off-by: yanghuatao <yanghuatao@xiaomi.com>
2023-07-12 03:32:26 +08:00
Zhe Weng
c253bb91a2 drivers/net: Add wireless ops in upper-half driver
Take the idea from Linux's iw_handler array and esp32c3_wlan's wlan_ops_s, and make it a common logic of upper-half driver.

Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2023-07-12 03:32:02 +08:00
liqinhui
a7a47621fa net/local: Support the socketpair interface of local udp socket.
Add the proccessing logic of udp socketpair, and modify the
logic of sending and receiving for udp socketpair.

Verification:
 - Use the socketpair interface to create a pair of local udp sockets,
   and perform read and write operations.

Signed-off-by: liqinhui <liqinhui@xiaomi.com>
2023-07-12 03:31:43 +08:00
raiden00pl
92040a2bdf cmake: convert some stm32 boards 2023-07-11 15:52:56 -03:00
raiden00pl
6dcfe61b0e cmake: add support for stm32h7 2023-07-11 15:52:56 -03:00
raiden00pl
ab6fd2e6c8 cmake: add support for stm32f7 2023-07-11 15:52:56 -03:00
raiden00pl
ca3d213402 cmake: sync arch/stm32/CMakeLists.txt with Make.defs 2023-07-11 15:52:56 -03:00
lile7
a3db142fbf drivers/video: use kmm_free(buff) to free memory instead of realloc(buff, 0) which is abandoned
ref: 89d61f4eb4

Signed-off-by: lile7 <lile7@xiaomi.com>
2023-07-12 02:33:17 +08:00
guoshichao
c33d1c9c97 sched/task/fork: add fork implementation
1. as we can use fork to implement vfork, so we rename the vfork to
fork, and use the fork method as the base to implement vfork method
2. create the vfork function as a libc function based on fork
function

Signed-off-by: guoshichao <guoshichao@xiaomi.com>
2023-07-12 02:27:37 +08:00
rongyichang
5d7864fbcb drivers/spi: add support for qspi hwfeatures
add QSPI_BITORDER and QSPI_WORD_REVERSE hwfeatures

Signed-off-by: rongyichang <rongyichang@xiaomi.com>
2023-07-12 01:42:25 +08:00
raiden00pl
1f641fd63b cmake: fix NUTTX_COMMON_DIR definition 2023-07-12 01:01:19 +08:00
simbit18
9681c52517 Fix nuttx coding style
Remove TABs
Fix indentation
2023-07-11 23:32:17 +08:00
yanghuatao
2529f371ee change clockid_t type from uint8_t to int
make the clock_getres pass the ltp/open_posix_testsuite/clock_getres testcases, posix has no explain about clockid_t type, referrence linux: 858fd168a9/include/linux/types.h (L27) and 858fd168a9/include/uapi/asm-generic/posix_types.h (L96)

Signed-off-by: yanghuatao <yanghuatao@xiaomi.com>
2023-07-11 22:36:23 +08:00
yinshengkai
81553deb53 time: add up_perf_init weak_function
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-07-11 10:09:25 -03:00
yanghuatao
e9d7210d02 sim/posix_test: fix shm_open() return file descriptor associated with FD_CLOEXEC
Make the pthread_setspecific pass the shm_open/11-1.c testcases. Function shm_open() should return a file descriptor for the shared memory object associated with FD_CLOEXEC. Reference to https://pubs.opengroup.org/onlinepubs/9699919799/functions/shm_open.html and https://github.com/lattera/glibc/blob/master/sysdeps/posix/shm_open.c#LL38C1-L38C1

Signed-off-by: yanghuatao <yanghuatao@xiaomi.com>
2023-07-11 13:30:34 +08:00
yanghuatao
24e3cdf0c0 libc/pthread: remove unsed compare code in pthread_rwlock_init()
In nuttx function pthread_rwlock_init param attr is useless, so remove it to make rwlock_init pass rwlock_init/1-1.c and rwlock_init/3-1.c testcases.

Signed-off-by: yanghuatao <yanghuatao@xiaomi.com>
2023-07-11 13:29:37 +08:00
Fotis Panagiotopoulos
8d0b271ab6 Added missing semicolon to dead-lock detection. 2023-07-11 11:18:46 +08:00
Xiang Xiao
9dc59e9109 Fix error: Mixed case identifier found
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-07-10 23:03:17 +03:00
Xiang Xiao
ebcb03dce9 libc/symtab: Don't include symtab.h in the header files
to unify the inclusion of symtab.h only from the source files

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-07-10 23:03:17 +03:00
Xiang Xiao
229293f9f8 binfmt: Move [elf|nxflat]_[un]initialize to private header file
like what builtin binary format do

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-07-10 23:03:17 +03:00
liuzhao
899471c6bd add support for YT8512 phy 2023-07-11 03:40:53 +08:00
simbit18
af247276d5 Fix nuttx coding style
Remove TABs
Fix indentation
2023-07-11 02:33:45 +08:00
yanghuatao
4d9f67940c nuttx/toolchain: Add macro _LDBL_EQ_DBL to nuttx/arch/arm64/src/Toolchain.defs
Fix goldfish build toolchain math library error:
/mnt/yang/vela_Goldfish/nuttx/include/libcxx/cmath:454:9: error: 'nexttowardf' has not been declared in '::'
  454 | using ::nexttowardf;
      |         ^~~~~~~~~~~
/mnt/yang/vela_Goldfish/nuttx/include/libcxx/cmath:472:9: error: 'acosl' has not been declared in '::'
  472 | using ::acosl;
      |         ^~~~~
/mnt/yang/vela_Goldfish/nuttx/include/libcxx/cmath:473:9: error: 'asinl' has not been declared in '::'
  473 | using ::asinl;
      |         ^~~~~

Signed-off-by: yanghuatao <yanghuatao@xiaomi.com>
2023-07-11 00:44:45 +08:00
yanghuatao
cd5e1169df libm/libmcs: Fix undefined symbol `fesetround'
Fix build error:apps/interpreters/quickjs/quickjs/quickjs.c:11852:(.text.js_ecvt1.constprop.0+0xfc): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `fesetround'

Signed-off-by: yanghuatao <yanghuatao@xiaomi.com>
2023-07-11 00:25:16 +08:00
Xiang Xiao
813b652ba5 elf: Move 32/64bit generic mapping from risc-v/arch_elf.c to elfxx.h
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-07-10 13:09:47 -03:00
Xiang Xiao
5849cf71d8 libc/symtab: Move SYMTAB_XXX from unistd/Kconfig to symtab/Kconfig
Make code and config in the same location

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-07-10 13:09:47 -03:00
Sunny
2a5f48c3fd libs/libc/stdlib: fix strtoul,strtoull bugs when value outside range
Prototype:
  unsigned long strtoul(FAR const char *nptr, FAR char **endptr, int base);
  unsigned long long strtoull(FAR const char *nptr,  FAR char **endptr, int base);

If endptr is not NULL, strtoul()/strtoull() should store the address of the first
invalid character in *endptr. And if the correct value is outside the range of
representable values, {ULONG_MAX} or {ULLONG_MAX} shall be returned and errno set
to [ERANGE].

With such code:
  strtoul("34592348345343453453455645765736575865767", &endptr, 10);

It indeed returns ULONG_MAX and sets errno to ERANGE. But after strtoul
return, endptr points to "3455645765736575865767", not NULL.

Signed-off-by: Sunny <zxcvbnm37425@gmail.com>
2023-07-10 19:07:27 +03:00
simbit18
3ef9f4a0b7 arch/arm/src/lpc2378/lpc23xx_uart.h: Fix nuttx coding style
Remove TABs
2023-07-10 22:24:59 +08:00
simbit18
14b4d3b8ea arch/arm/src/lpc2378/lpc23xx_pinsel.h: Fix nuttx coding style
Remove TABs
2023-07-10 22:24:59 +08:00
simbit18
13924bb901 arch/arm/src/lc823450/lc823450_spifi2.h: Fix nuttx coding style
Remove TABs
2023-07-10 22:24:59 +08:00
simbit18
d6182ee36e arch/arm/src/armv8-r/arm_arch_timer.h: Fix nuttx coding style
Remove TABs
2023-07-10 22:24:59 +08:00
simbit18
6dc930b82b arch/arm/src/armv7-r/gic.h: Fix nuttx coding style
Remove TABs
Fix indentation
2023-07-10 22:24:59 +08:00
simbit18
7d69f8cbcd arch/arm/src/armv7-r/arm_timer.c: Fix nuttx coding style
Remove TABs
2023-07-10 22:24:59 +08:00
simbit18
05578896e2 arch/arm/src/armv7-a/arm_timer.c: Fix nxstyle errors
Remove TABs
2023-07-10 22:24:59 +08:00
raiden00pl
389df1ec1f cmake: add intial support for nrf91 2023-07-10 22:24:44 +08:00
raiden00pl
f1bb29820e cmake: add intial support for nrf53 2023-07-10 22:24:44 +08:00
raiden00pl
59e261e92f cmake: add initial support for nrf52 2023-07-10 22:24:44 +08:00
raiden00pl
52d67a85d0 cmake: add missing bt_services.c 2023-07-10 22:24:44 +08:00
raiden00pl
2115679db3 cmake: add missing crypto 2023-07-10 22:24:44 +08:00
raiden00pl
88e01fd335 cmake: define NUTTX_COMMON_DIR 2023-07-10 22:24:44 +08:00
raiden00pl
409cb61d49 arch/nrfxx: unify Make.defs 2023-07-10 22:24:44 +08:00
Zhe Weng
fef52b11ee openamp/libmetal: Check CONFIG_HAVE_ATOMICS instead of HAVE_STDATOMIC_H in atomic.h
When we use libmetal with other headers using stdatomic.h, we'll get
symbol conflict if we don't enable HAVE_STDATOMIC_H in libmetal.  The
best solution might be using cmake to detect headers automatically, but
we can't.  Fortunately we have CONFIG_HAVE_ATOMICS macro now, which can
replace HAVE_STDATOMIC_H when we're not using cmake.

Note: 2-Steps to use CONFIG_HAVE_ATOMICS
1. Include compiler.h for CONFIG_HAVE_ATOMICS definition
2. Check CONFIG_HAVE_ATOMICS instead of HAVE_STDATOMIC_H

Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2023-07-10 20:44:16 +08:00
Lucas Saavedra Vaz
22e777cf08 tools: Fix BASE_DEFCONFIG generation 2023-07-10 19:54:06 +08:00
Alin Jerpelea
f36f2d6a60 documentation: Add release notes for 12.2.1 release
This is a local copy taken from the confluence notes
https://cwiki.apache.org/confluence/display/NUTTX/NuttX+12.2.1

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2023-07-10 19:53:02 +08:00
Alan Carvalho de Assis
357dc9c6f4 esp32s2-saola-1: Add SPI Flash example 2023-07-10 17:56:46 +08:00