Commit Graph

51669 Commits

Author SHA1 Message Date
zhanghongyu c831c8cc56 cmake: add needed file to cmake script for build sim
nuttx/crypto/chachapoly.c:232: undefined reference to `timingsafe_bcmp'

Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2023-11-07 17:39:03 +01:00
zhanghongyu 3610b25c91 cmake: add include path for special source
fix the cmake build error.

Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2023-11-07 17:39:03 +01:00
zhanghongyu 766e4a4154 libs/libc: adapt the cmake script from the makefile
fix the cmake build error.

Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2023-11-07 17:39:03 +01:00
Zhe Weng 6403965075 Documentation: Add netdev description with multiple IPv6 addresses
Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2023-11-07 19:30:36 +08:00
Zhe Weng 4c99ad1ba9 net/utils: Switch argument order of net_ipv6_pref2mask
When implementing IPv6-related logic, we found the `net_ipv6_pref2mask`
and `net_ipv6addr_copy` are using different argument order:
```
net_ipv6addr_copy(ifaddr->addr, addr);
net_ipv6_pref2mask(preflen, ifaddr->mask);
```
Change the order to:
```
net_ipv6addr_copy(ifaddr->addr, addr);
net_ipv6_pref2mask(ifaddr->mask, preflen);
```

Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2023-11-07 19:30:36 +08:00
Zhe Weng 3e4d847f42 net/netdev: Support managing multiple IPv6 addresses by ioctl
1. Supporting `SIOCSIFADDR` and `SIOCDIFADDR` with Linux in6_ifreq struct to manage ipv6 addresses.
   Ref: https://man7.org/linux/man-pages/man7/netdevice.7.html
2. Supporting alias like 'eth0:0' for multiple IPv6 addresses, to keep previous ioctl `SIOCGLIFADDR`, `SIOCSLIFADDR`, `SIOCGLIFNETMASK` and `SIOCSLIFNETMASK` working.
   Ref: https://man7.org/linux/man-pages/man8/ifconfig.8.html

Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2023-11-07 19:30:36 +08:00
Zhe Weng 7f421a46ca net/procfs: Support printing multiple IPv6 address per netdev
Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2023-11-07 19:30:36 +08:00
Zhe Weng 2b9633e652 net: Support multiple IPv6 address per netdev
Note that user-space related code, like procfs and lifreq related ioctl commands, are not touched in this commit.

Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2023-11-07 19:30:36 +08:00
Zhe Weng 96233e0c42 net/netdev: Support multiple IPv6 addresses per device
Compatible with previous usage, because may network drivers are using old member name to print logs, and there's no significant need to change them now.

Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2023-11-07 19:30:36 +08:00
Zhe Weng c7845f5b25 netlink: Explicitly set ip address for netlink notify
Prepare for multiple IPv6 addresses per net device, then we can notify
add/remove of a single address later.

Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2023-11-07 19:30:36 +08:00
chao an 85a375cd7d drivers/serial: check the remote device before get name
| #0 0x2119bf1 in rpmsg_get_cpuname rptun/rptun.c:1157
| #1 0x24f97bd in uart_rpmsg_device_destroy serial/uart_rpmsg.c:342
| #2 0x2117d56 in rptun_dev_stop rptun/rptun.c:883
| #3 0x21181d7 in rptun_do_ioctl rptun/rptun.c:922
| #4 0x2119721 in rptun_ioctl_foreach rptun/rptun.c:1086

Signed-off-by: chao an <anchao@xiaomi.com>
2023-11-07 18:27:05 +08:00
chao an 93ff6f9703 drivers/rptun: check the status before stop remote proc
Race condition if the remote proc is stoped during initialization phase

| #0  0x0249f959 in rpmsg_destroy_ept (ept=0xffffffc0) at open-amp/lib/rpmsg/rpmsg.c:376
| #1  0x024a938c in rpmsg_deinit_vdev (rvdev=0xf2303a48) at open-amp/lib/rpmsg/rpmsg_virtio.c:971
| #2  0x02117e33 in rptun_dev_stop (rproc=0xf2303a04, stop_ns=true) at rptun/rptun.c:891
| #3  0x021181d8 in rptun_do_ioctl (priv=0xf2303a00, cmd=11010, arg=0) at rptun/rptun.c:922
| #4  0x02119722 in rptun_ioctl_foreach (cpuname=0x0, cmd=11010, value=0) at rptun/rptun.c:1086
| #5  0x0211b9df in rptun_poweroff (cpuname=0x0) at rptun/rptun.c:1378
| #6  0x02053aa6 in board_power_off (status=0) at sim/sim_head.c:206
| #7  0x0253d65c in boardctl (cmd=65283, arg=0) at boardctl.c:400
| #8  0x021eb497 in cmd_poweroff (vtbl=0xef606280, argc=1, argv=0xef9b73e0) at nsh_syscmds.c:356
| #9  0x021cdb4d in nsh_command (vtbl=0xef606280, argc=1, argv=0xef9b73e0) at nsh_command.c:1164
| #10 0x021baa72 in nsh_execute (vtbl=0xef606280, argc=1, argv=0xef9b73e0, redirfile=0x0, oflags=0) at nsh_parse.c:845
| #11 0x021c6b0a in nsh_parse_command (vtbl=0xef606280, cmdline=0xef606708 "poweroff") at nsh_parse.c:2744
| #12 0x021c7166 in nsh_parse (vtbl=0xef606280, cmdline=0xef606708 "poweroff") at nsh_parse.c:2828
| #13 0x0221fa2f in nsh_session (pstate=0xef606280, login=1, argc=1, argv=0xef7a7860) at nsh_session.c:245
| #14 0x021f8c04 in nsh_consolemain (argc=1, argv=0xef7a7860) at nsh_consolemain.c:75
| #15 0x021b77eb in nsh_main (argc=1, argv=0xef7a7860) at nsh_main.c:74
| #16 0x02166ddf in nxtask_startup (entrypt=0x21b76ca <nsh_main>, argc=1, argv=0xef7a7860) at sched/task_startup.c:70
| #17 0x020b363c in nxtask_start () at task/task_start.c:134

Signed-off-by: chao an <anchao@xiaomi.com>
2023-11-07 18:27:05 +08:00
Huang Qi 0995e17927 sched: Check for zero sleep time and yield CPU if
necessary

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2023-11-07 18:26:54 +08:00
chao an d410a6e1a6 libc/realpath: allocate link buffer of pseudofs to save stack
The link buffer of pseudofs will occupy too much of stack, allocate from
the heap to save the stack usage.

Signed-off-by: chao an <anchao@xiaomi.com>
2023-11-07 09:05:50 +08:00
raiden00pl 4d65d9908b Documentation: migrate "Auto-Mounter" from wiki
link: https://cwiki.apache.org/confluence/display/NUTTX/Auto-Mounter
2023-11-06 18:42:17 -03:00
raiden00pl 1c6e5cc0c4 Documentation: migrate "Work Queue Deadlocks" from wiki
link: https://cwiki.apache.org/confluence/display/NUTTX/Work+Queue+Deadlocks
2023-11-06 18:42:17 -03:00
raiden00pl 2d8c4e6645 Documentation: migrate "SLIP Configuration" from wiki
link: https://cwiki.apache.org/confluence/display/NUTTX/SLIP+Configuration
2023-11-06 18:42:17 -03:00
raiden00pl 8a8111c2fc Documentation: migrate "CONFIG_NET_GUARDSIZE" from wiki
link: https://cwiki.apache.org/confluence/display/NUTTX/CONFIG_NET_GUARDSIZE
2023-11-06 18:42:17 -03:00
raiden00pl 1f9e17f5c7 Documentation: add SystemView configuration instructions 2023-11-06 18:42:17 -03:00
raiden00pl caef223268 Documentation: migrate "CNxConsole Keyboard Input" from wiki
link: https://cwiki.apache.org/confluence/display/NUTTX/CNxConsole+Keyboard+Input
2023-11-06 18:42:17 -03:00
raiden00pl 200f709092 Documentation: migrate "NxTerm Example" from wiki
link: https://cwiki.apache.org/confluence/display/NUTTX/NxTerm+Example
2023-11-06 18:42:17 -03:00
Tiago Medicci Serrano 59107e5573 esp32s3: Fix issue regarding IRAM-enabled ISRs by fixing the linker
After https://github.com/apache/nuttx/pull/11007/ was merged, the
path for some files changed, requiring the linker to be fixed to
make it run from the internal memory once again.
2023-11-06 18:41:34 -03:00
raiden00pl 607792d452 fs_files.c: make sure that fs_getfilep is not interrupted when holding mutex
this fixes the issue https://github.com/apache/nuttx/issues/6012
2023-11-07 01:07:57 +08:00
Michal Lenc 784aa526b1 documentation/contributing: remove copyright notice in file header
Copyright notice and author contact/information should not be included
in file header anymore. Only standard Apache 2.0 licensing information
should be used.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
2023-11-07 01:01:18 +08:00
Zhe Weng d1c73b6ed6 net/tcp: Support initial sequence number described in RFC 6528
Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2023-11-06 09:04:09 +08:00
Zhe Weng 5096a2c9fd net/tcp: Take out get random process as common function
Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2023-11-06 09:04:09 +08:00
raiden00pl 2214eecddc Documentation: migrate "Testing TCP/IP Network Stacks" from wiki
link: https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139629530
2023-11-06 09:03:07 +08:00
raiden00pl afa9e29272 Documentation: migrate "Effects of Disabling Interrupts or Pre-Emption on Response Latency" from wiki
link: https://cwiki.apache.org/confluence/display/NUTTX/Effects+of+Disabling+Interrupts+or+Pre-Emption+on+Response+Latency
2023-11-06 09:03:07 +08:00
raiden00pl 0b17238714 Documentation: migrate "Per-Thread Interrupt Controls" from wiki
link: https://cwiki.apache.org/confluence/display/NUTTX/Per-Thread+Interrupt+Controls
2023-11-06 09:03:07 +08:00
raiden00pl ffc5434a8c sched/Kconfig: RW_SPINLOCK depends on SPINLOCK 2023-11-05 12:11:28 +08:00
raiden00pl 34476b497f sched/semaphore/spinlock.c: cosmetics 2023-11-05 12:11:28 +08:00
raiden00pl fdc671fa3e Documentation: migrate "Critical Section Monitor" from wiki
links: https://cwiki.apache.org/confluence/display/NUTTX/Critical+Section+Monitor
2023-11-05 12:11:14 +08:00
raiden00pl f96064db75 Documentation: migrate "SMP Critical Sections" from wiki
links: https://cwiki.apache.org/confluence/display/NUTTX/SMP+Critical+Sections
2023-11-05 12:11:14 +08:00
raiden00pl 20fd7f588f Documentation: CONFIG_USER_ENTRYPOINT was changed to CONFIG_INIT_ENTRYPOINT 2023-11-05 12:11:14 +08:00
raiden00pl adc557f545 Documentation: migrate "apps/tools/mkromfsimg.sh" from wiki
link https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139629538
2023-11-05 12:11:14 +08:00
raiden00pl 3b23a693ac Documentation: migrate "Linux Processes vs NuttX Tasks" from wiki
link: https://cwiki.apache.org/confluence/display/NUTTX/Linux+Processes+vs+NuttX+Tasks
2023-11-05 12:11:14 +08:00
raiden00pl 03b4ec60a5 Documentation: migrate "Running Applications from NSH" from wiki
link: https://cwiki.apache.org/confluence/display/NUTTX/Running+Applications+from+NSH
2023-11-05 12:11:14 +08:00
raiden00pl de564d38e9 Documentation: migrate "Wide Font Support" from wiki
link: https://cwiki.apache.org/confluence/display/NUTTX/Wide+Font+Support
2023-11-05 12:11:14 +08:00
raiden00pl 63558cf72f Documentation: migrate "NuttX Graphics Subsystem (NX)" from wiki
link to wiki: https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139629474
2023-11-05 12:11:14 +08:00
raiden00pl bfd342b4eb Documentation: fix warning 2023-11-05 12:11:14 +08:00
zhanghongyu 43ecf36d78 udp: modify ipv4 multicast to allow different conn to join simultaneously
add ref count for ipv4 multicast and leave the multicast group when close
behavior alignment with linux.

Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2023-11-04 17:56:06 +08:00
zhanghongyu 7c322c250a sim_netdriver: some sim defconfig have problems when using the network
if the configured SIM_NETDEV_BUFSIZE < host MTU, there will be issues with access out of bounds

Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2023-11-04 17:53:25 +08:00
zhanghongyu 3a9c193bf7 ioctl: add SIOCGIWNAME support
some tools use this command to distinguish which device returned via getifaddrs() are wireless network device.

Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2023-11-04 17:52:47 +08:00
daniellizewski c08ccbef02 Usrsock fallback with ENETDOWN 2023-11-03 22:49:27 +08:00
zhanghongyu c8f9e409dc ioctl: add definitions related to ethtool
We reuse the linux platform code when adapting the matter library, in order to compile through, so first add the ethtool related definition

Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2023-11-03 22:37:50 +08:00
liqinhui 2d27dc0ef0 simwifi: For scan results, parse and translate the Chinese ssid encoded by the wpa_cli.
Because there is no pre-encoding length of the ssid, the ssid including
the Chinese characters whose length is less than 32 after encoding
cann't be translated.
For example, the ssid name is `word人`. After encoding it is `world\xe4\xba\xba` and will not be decoded.

Signed-off-by: liqinhui <liqinhui@xiaomi.com>
2023-11-03 22:29:43 +08:00
raiden00pl ede4b6b0ab boards/b-g431b-esc1: rework board to not use CONFIG_STM32_USE_LEGACY_PINMAP=y 2023-11-03 22:25:46 +08:00
raiden00pl 24c7e355d9 arch/stm32: remove unused STM32_UART_RXDMA and STM32_UART_TXDMA flags
These flags are not used in the code.
SERIAL_HAVE_RXDMA and SERIAL_HAVE_TXDMA flags are used instead.

STM32_UART_TXDMA flag is not even defined in Kconfig
2023-11-03 22:24:31 +08:00
raiden00pl 3220a59a3e arch/stm32: STM32_FOC_G4_ADCCHAN0_WORKAROUND depend on STM32G4 2023-11-03 22:24:31 +08:00
Zhe Weng c95fd46be3 net: Simplify getting value for different domain
Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2023-11-03 22:23:50 +08:00