p-szafonimateusz
0932fccfb2
drivers/net/{e1000|igc}: reset TX ring when disconnected
...
drivers/net/{e1000|igc}: reset TX ring when disconnected
Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2024-11-27 02:46:04 +08:00
p-szafonimateusz
ada47439bd
drivers/net/{e1000|igc}: fix link status crash
...
netdev_lower_carrier_xxx API can't be used in interrupt context
Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2024-11-27 02:46:04 +08:00
p-szafonimateusz
5e48f2a3d8
drivers/net/igc: make Interrupt Throttle configurable
...
make Interrupt Throttle configurable for igc
Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2024-11-27 02:46:04 +08:00
p-szafonimateusz
bf4eadf735
drivers/net/{e1000|igc}: configure RX/TX descriptors from Kconfig
...
configure E1000/IGC RX/TX descriptors from Kconfig
Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2024-11-27 02:46:04 +08:00
wangjianyu3
3d5cf53624
Documentation/esp32s3-devkit: Add doc for esp32s3-devkit/TXTABLE
...
More details
https://github.com/apache/nuttx/pull/9936
https://nuttx.apache.org/docs/latest/components/filesystem/partition.html#text-based-partition-table
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-11-27 02:45:44 +08:00
wangjianyu3
c2228c39ac
esp32s3-devkit/txtable: Initializing configuration for TXTABLE
...
USB ADB is enabled - Based on esp32s3-devkit/adb
Build
./tools/configure.sh -l esp32s3-devkit:txtable
make -j16
make flash ESPTOOL_PORT=/dev/ttyACMx
Test
$ adb -s 1234 shell
nsh> cat /etc/txtable.txt
TXTABLE0
data 0x100000 0
nsh> ls -l /dev/data
frw-rw-rw- 1044480 /dev/data
nsh>
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-11-27 02:45:44 +08:00
wangjianyu3
57595a7937
boards/xtensa/esp32s3: Add TXTABLE support for esp32s3
...
TXTABLE - Text based Partition Table
https://github.com/apache/nuttx/pull/9936
https://nuttx.apache.org/docs/latest/components/filesystem/partition.html#text-based-partition-table
Configuration
+ CONFIG_TXTABLE_PARTITION=y
The backup text partition table
+ CONFIG_TXTABLE_DEFAULT_PARTITION=1
nsh> cat /etc/txtable.txt
TXTABLE0
data 0x100000 0
Update txtable at runtime
dd if=/dev/zero of=/dev/txtable
cat /etc/txtable.txt > /dev/txtable
Runtime - Partition devices "data" and "txtable" were registered
# /dev/data - The partition descirbed by txtable
# /dev/txtable - Mapping to the last eraseblock of MTD
nsh> ls -l /dev/
/dev:
dr--r--r-- 0 adb0/
crw-rw-rw- 0 console
frw-rw-rw- 1044480 data
frw-rw-rw- 1048576 esp32s3flash
c-w--w--w- 0 log
crw-rw-rw- 0 null
crw-rw-rw- 0 ptmx
dr--r--r-- 0 pts/
brw-rw-rw- 1024 ram0
crw-rw-rw- 0 ttyS0
frw-rw-rw- 4096 txtable
crw-rw-rw- 0 zero
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-11-27 02:45:44 +08:00
simbit18
430c2ecf46
arch/risc-v/src/cmake/Toolchain.cmake: Msys2 Cmake fixed nuttx/config.h: No such file or directory
...
fixed
/qemu-rv/qemu_rv_head.S:25:10: fatal error: nuttx/config.h: No such file or directory
25 | #include <nuttx/config.h>
| ^~~~~~~~~~~~~~~~
compilation terminated.
added
# override the responsible file flag
if(CMAKE_GENERATOR MATCHES "Ninja")
set(CMAKE_C_RESPONSE_FILE_FLAG "$DEFINES $INCLUDES $FLAGS @")
set(CMAKE_CXX_RESPONSE_FILE_FLAG "$DEFINES $INCLUDES $FLAGS @")
set(CMAKE_ASM_RESPONSE_FILE_FLAG "$DEFINES $INCLUDES $FLAGS @")
endif()
2024-11-27 02:35:48 +08:00
Xiang Xiao
573115734d
Revert "drivers/pipes: return after short write if buffer is full"
...
This reverts commit d0680fd1bc
.
2024-11-26 11:08:02 -03:00
hujun5
610efc8f1a
arm: remove up_set_current_regs/up_current_regs
...
reason:
up_set_current_regs initially had two functions:
1: To mark the entry into an interrupt state.
2: To record the context before an interrupt/exception. If we switch to
a new task, we need to store the upcoming context regs by calling up_set_current_regs(regs).
Currently, we record the context in other ways, so the second function is obsolete.
Therefore, we need to rename up_set_current_regs to better reflect its actual meaning,
which is solely to mark an interrupt.
Signed-off-by: hujun5 <hujun5@xiaomi.com>
2024-11-26 20:04:54 +08:00
wangmingrong1
cdbf5c6ebe
Fix compilation errors
...
CC: gcov.c gcov.c: In function 'gcov_stdout_dump':
gcov.c:146:50: error: passing argument 3 of '__gcov_info_to_gcda' from incompatible pointer type [-Werror=incompatible-pointer-types]
146 | __gcov_info_to_gcda(info, stdout_filename, stdout_dump, NULL, &arg);
| ^~~~~~~~~~~
| |
| void (*)(const void *, size_t, void *) {aka void (*)(const void *, long unsigned int, void *)}
In file included from gcov.c:25:
/mnt/vela/github/NX/nuttx/include/gcov.h:139:44: note: expected 'void (*)(const void *, unsigned int, void *)' but argument is of type 'void (*)(const void *, size_t, void *)' {aka 'void (*)(const void *, long unsigned int, void *)'}
139 | FAR void (*dump)(FAR const void *,
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
140 | unsigned int, FAR void *),
| ~~~~~~~~~~~~~~~~~~~~~~~~~
libgcc/gcov.c: In function 'gcov_process_path.constprop':
libgcc/gcov.c:235:29: error: 'filename' may be used uninitialized [-Werror=maybe-uninitialized]
235 | tokens[token_count++] = filename;
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
libgcc/gcov.c:189:13: note: 'filename' was declared here
189 | FAR char *filename;
Signed-off-by: wangmingrong1 <wangmingrong1@xiaomi.com>
2024-11-26 19:25:24 +08:00
wangjianyu3
d83ab55e00
fs/partition/txtable: Fix panic when no txtable was found in last eraseblock
...
Panic occured if no txtable was found in last eraseblock of MTD device and `CONFIG_TXTABLE_DEFAULT_PARTITION` was disabled
Backtrace
sched_dumpstack
/workspace/nuttx/libs/libc/sched/sched_dumpstack.c:71
dump_assert_info
/workspace/nuttx/sched/misc/assert.c:718
xtensa_user_panic
/workspace/nuttx/arch/xtensa/src/common/xtensa_assert.c:188 (discriminator 1)
xtensa_user
??:?
_xtensa_user_handler
/workspace/nuttx/arch/xtensa/src/common/xtensa_user_handler.S:194
??
??:0
parse_txtable_partition
/workspace/nuttx/fs/partition/fs_txtable.c:136
parse_partition
/workspace/nuttx/fs/partition/fs_partition.c:165
parse_mtd_partition
/workspace/nuttx/fs/partition/fs_partition.c:291
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-11-26 18:23:06 +08:00
chao an
401e8eb062
sched/lockcount: replace all lockcount check to nxsched_islocked_tcb()
...
replace all lockcount check to nxsched_islocked_tcb()
Signed-off-by: chao an <anchao@lixiang.com>
2024-11-26 16:35:20 +08:00
chao an
4dda9800b4
espressif/mcpwm: fix compile error
...
continue work of PR #14938
Signed-off-by: chao an <anchao@lixiang.com>
2024-11-26 16:34:19 +08:00
wangjianyu3
5fabe091f3
boards/xtensa/esp32s3: Treat return value that greater than zero as succ
...
board_spiflash_init() => init_storage_partition() => parse_mtd_partition()
`parse_mtd_partition()` may return value that greater than zero when succ
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-11-26 16:33:26 +08:00
wangmingrong1
eff13d6004
gcov: Add usage documentation
...
Signed-off-by: wangmingrong1 <wangmingrong1@xiaomi.com>
2024-11-26 16:32:50 +08:00
wangjianyu3
22e8e65789
boards/esp32s3: Add depends ESP32-S3-WROOM-1-N8R8 for ESP32S3_DEVKIT
...
Env
esp32s3-devkit:usbnsh
Problem
The `CONFIG_ARCH_BOARD_ESP32S3_DEVKIT` will be disabled if `CONFIG_ARCH_CHIP_ESP32S3WROOM1N8R8` selected
$ diff defconfig boards/xtensa/esp32s3/esp32s3-devkit/configs/usbnsh/defconfig
7a8
> # CONFIG_ARCH_LEDS is not set
10a12
> CONFIG_ARCH_BOARD="esp32s3-devkit"
12,15c14
< CONFIG_ARCH_BOARD_CUSTOM=y
< CONFIG_ARCH_BOARD_CUSTOM_DIR=""
< CONFIG_ARCH_BOARD_CUSTOM_DIR_RELPATH=y
< CONFIG_ARCH_BOARD_CUSTOM_NAME=""
---
> CONFIG_ARCH_BOARD_ESP32S3_DEVKIT=y
18c17
< CONFIG_ARCH_CHIP_ESP32S3WROOM1N8R8=y
---
> CONFIG_ARCH_CHIP_ESP32S3WROOM1N4=y
And command make fails
No directory at /workspace/nuttx//src
make[1]: *** [tools/Unix.mk:320: arch/xtensa/src/board/board] Error 1
make: *** [tools/Unix.mk:700: menuconfig] Error 2
With this patch
$ diff defconfig boards/xtensa/esp32s3/esp32s3-devkit/configs/usbnsh/defconfig
17c17
< CONFIG_ARCH_CHIP_ESP32S3WROOM1N8R8=y
---
> CONFIG_ARCH_CHIP_ESP32S3WROOM1N4=y
Link: https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32s3/esp32-s3-devkitc-1/user_guide.html
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-11-26 14:06:31 +08:00
wangmingrong1
d2dc2c796d
Path Error
...
Signed-off-by: wangmingrong1 <wangmingrong1@xiaomi.com>
2024-11-26 13:50:53 +08:00
buxiasen
3e24aab208
stream_getc: use lib_stream_eof instead of EOF
...
Will case scanftest break #14778 , at " %4c%n" case.
scanf use INT_MAX cause EOF break.
Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2024-11-26 10:25:36 +08:00
Jinliang Li
f3213efc7f
armv8-r/libc: optimize libc string apis with asm
...
Optimize libc string apis(memcpy/memset/memmove/memchr/strcmp/strlen)
with arm32 assembly instruction including vfp and neon.
Add arch releated elf parsing
Signed-off-by: Jinliang Li <lijinliang1@lixiang.com>
2024-11-26 10:22:12 +08:00
hujun5
f5136b2afa
spinlock: remove recursive locks with write_lock_irqsave/read_lock_irqsave
...
reason:
1 There is a similar PR, https://github.com/apache/nuttx/pull/14079 ,
2 Currently, no one is using recursive locks with write_lock_irqsave/read_lock_irqsave.
3 Nested spinlock is harmful, prone to abuse and leading to a decline in code quality and performance
4 Nested spinlock is also not available in Linux.
5 In our future plans, nested usage of enter_critical_section and spin_lock_irqsave will also be removed.
Signed-off-by: hujun5 <hujun5@xiaomi.com>
2024-11-26 10:21:04 +08:00
hujun5
33226a9bb7
use spin_lock_wo_note replace spin_lock in csection
...
reason:
spin_lock_wo_note/spin_unlock_wo_note should be called in matching pairs.
This commit fixes the regression from https://github.com/apache/nuttx/pull/13933
Signed-off-by: hujun5 <hujun5@xiaomi.com>
2024-11-26 10:17:18 +08:00
simbit18
00f831028f
[ci] platforms: added toolchains
...
add toolchains for macOS on Apple Intel
xtensa-esp32s2
xtensa-esp32s3
add toolchains for macOS on Apple Silicon
xtensa-esp32s2
xtensa-esp32s3
add install for ubuntu.sh
xtensa-esp32s2
xtensa-esp32s3
add install for linux.sh
xtensa-esp32s2
xtensa-esp32s3
2024-11-26 10:14:42 +08:00
hujun5
eb65c5a8cd
note: Remove enter_critical_section from the sched_note module to avoid recursive calls.
...
Signed-off-by: hujun5 <hujun5@xiaomi.com>
2024-11-26 10:14:02 +08:00
hujun5
111a0746c2
arm64: change name saved_reg to saved_regs
...
reason:
saved_regs is more meaningful and used by all other arch
Signed-off-by: hujun5 <hujun5@xiaomi.com>
2024-11-26 10:09:31 +08:00
hujun5
53548509b1
fix build error
...
common/espressif/esp_rmt.c: In function 'rmt_set_tx_thr_intr_en':
common/espressif/esp_rmt.c:654:48: error: passing argument 1 of 'spin_lock_irqsave' makes pointer from integer without a cast [-Werror=int-conversion]
654 | flags = spin_lock_irqsave(g_rmtdev_common.rmt_spinlock);
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~
| |
| spinlock_t {aka unsigned char}
/home/hujun5/downloads1/vela_sim/nuttx/include/nuttx/spinlock.h:617:55: note: expected 'volatile spinlock_t *' {aka 'volatile unsigned char *'} but argument is of type 'spinlock_t' {aka 'unsigned char'}
617 | irqstate_t spin_lock_irqsave(FAR volatile spinlock_t *lock)
| ~~~~~~~~~~~~~~~~~~~~~^~~~
CC: nsh_script.c common/espressif/esp_rmt.c:662:48: error: passing argument 1 of 'spin_lock_irqsave' makes pointer from integer without a cast [-Werror=int-conversion]
662 | flags = spin_lock_irqsave(g_rmtdev_common.rmt_spinlock);
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~
| |
| spinlock_t {aka unsigned char}
/home/hujun5/downloads1/vela_sim/nuttx/include/nuttx/spinlock.h:617:55: note: expected '
Signed-off-by: hujun5 <hujun5@xiaomi.com>
2024-11-26 09:03:29 +08:00
YAMAMOTO Takashi
92b9a30878
fs/littlefs: make CONFIG_FS_LITTLEFS_VERSION include the "v" prefix
...
To allow other tags/branches like "devel" and even sha256 hash.
2024-11-25 20:15:53 -03:00
Neo Xu
224a8f4b28
Documentation: fix nuttxgdb related commands
...
Now we should load tools/gdb/gdbinit.py script
Signed-off-by: Neo Xu <neo.xu1990@gmail.com>
2024-11-25 18:43:23 -03:00
hujun5
34e79f9618
spinlock: use spin_lock_init replace spin_initialize
...
reason:
1: spin_lock_init and spin_initialize have similar functionalities.
2: spin_lock and spin_unlock should be called in matching pairs.
Signed-off-by: hujun5 <hujun5@xiaomi.com>
2024-11-26 00:02:44 +08:00
yinshengkai
e69903c939
tools/gdb: Add a singleton class for macros
...
Usage:
macro = Macro("nuttx/nuttx")
print(macro.CONFIG_MM_BACKTRACE)
if macro.CONFIG_MM_BACKTRACE:
print("mm backtrace is enabled")
else:
print("mm backtrace is disabled")
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2024-11-25 22:58:53 +08:00
yinshengkai
9eaec7ba49
tools/gdb: move the macros cache files to a temporary directory
...
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2024-11-25 22:58:53 +08:00
yinshengkai
7aa2dc24cd
tools/gdb: fix checkpatch warning
...
Use Python raw strings to avoid escaping:
SyntaxWarning: invalid escape sequence '\?'
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2024-11-25 22:58:53 +08:00
chao an
24add5eeaf
spelling: fix spelling typo premp -> preemp
...
Signed-off-by: chao an <anchao@lixiang.com>
2024-11-25 22:05:05 +08:00
chao an
6ffb001fdf
spelling: fix spelling typo premption -> preemption
...
Signed-off-by: chao an <anchao@lixiang.com>
2024-11-25 22:05:05 +08:00
wangmingrong1
47e33c6433
clang/gcov: Add a way to directly dump memory address
...
Signed-off-by: wangmingrong1 <wangmingrong1@xiaomi.com>
2024-11-25 18:03:19 +08:00
wangmingrong1
a73217d1d6
Clang/gcov: Supports gcc standard output interface "__gcov_dump"
...
Signed-off-by: wangmingrong1 <wangmingrong1@xiaomi.com>
2024-11-25 18:03:19 +08:00
hujun5
03f430edf7
fix some build error
...
hujun5@hujun5-OptiPlex-7070:~/downloads1/vela_sim/nuttx$ make -j12
chip/qemu_boot.c: In function 'up_cpu_start':
chip/qemu_boot.c:102:3: warning: implicit declaration of function 'sched_note_cpu_start' [-Wimplicit-function-declaration]
102 | sched_note_cpu_start(this_task(), cpu);
| ^~~~~~~~~~~~~~~~~~~~
chip/qemu_boot.c:102:24: warning: implicit declaration of function 'this_task' [-Wimplicit-function-declaration]
102 | sched_note_cpu_start(this_task(), cpu);
| ^~~~~~~~~
Signed-off-by: hujun5 <hujun5@xiaomi.com>
2024-11-25 17:10:50 +08:00
xuxingliang
8031c9c1de
gdb/mm: cache global variables to save time of memleak check
...
Signed-off-by: xuxingliang <xuxingliang@xiaomi.com>
2024-11-25 13:37:42 +08:00
xuxingliang
a0e9b82a79
tools/gdb: always use name to read register
...
For unknown reason, for some cases, GDB refuses to read register using descriptor. Let's stick to the register name.
Signed-off-by: xuxingliang <xuxingliang@xiaomi.com>
2024-11-25 13:37:42 +08:00
xuxingliang
9881fbae28
tools/gdb: fix thread command not working
...
`thread` is a GDB prefix command. Use `define` can only change it to a
user prefix command. In this case, `thread 3` is unable to pass
the argument 3 to python.
Use python code to register command to overwrite this behavior. It may
not work with future GDB, but all is good for now.
Signed-off-by: xuxingliang <xuxingliang@xiaomi.com>
2024-11-25 13:37:42 +08:00
xuxingliang
efb890abd3
gdb/diagnose: use unified message for command error
...
Signed-off-by: xuxingliang <xuxingliang@xiaomi.com>
2024-11-25 13:37:42 +08:00
xuxingliang
5b477aacca
gdb/diag: catch gdb.error in diagnositics
...
gdb.error could report if memory is corrupted. Save and report the exception and continue to next command.
Signed-off-by: xuxingliang <xuxingliang@xiaomi.com>
2024-11-25 13:37:42 +08:00
xuxingliang
191dbcc4f1
gdb/debug: add debugpy to debug python code
...
Usage:
(gdb) debugpy
Waiting for connection at localhost:5678
In VSCode, add new configuration in launch.
{
"name": "Python Debugger: Remote Attach",
"type": "debugpy",
"request": "attach",
"connect": {
"host": "localhost",
"port": 5678
}
}
and launch.
Signed-off-by: xuxingliang <xuxingliang@xiaomi.com>
2024-11-25 13:37:30 +08:00
xuxingliang
6119a5ea63
gdb: print trace back when some modules failed to load
...
Signed-off-by: xuxingliang <xuxingliang@xiaomi.com>
2024-11-25 13:37:19 +08:00
yangao1
400790d40b
tools/gdb/gdbinit.py:add hint
...
Signed-off-by: yangao1 <yangao1@xiaomi.com>
2024-11-25 13:37:19 +08:00
xuxingliang
db9b5c4cee
tools/gdb: register commands gracefully
...
Report any error and continue to try to register next command.
Signed-off-by: xuxingliang <xuxingliang@xiaomi.com>
2024-11-25 13:37:19 +08:00
xuxingliang
65a93e972c
tools/gdb: guide user for correct usage of nuttxgdb
...
Should use gdbinit.py instead of package __init__.py. Report the correct usage if user try to source the package directly.
Signed-off-by: xuxingliang <xuxingliang@xiaomi.com>
2024-11-25 13:37:19 +08:00
dependabot[bot]
99b3190ba3
build(deps): bump codelytv/pr-size-labeler from 1.10.1 to 1.10.2
...
Bumps [codelytv/pr-size-labeler](https://github.com/codelytv/pr-size-labeler ) from 1.10.1 to 1.10.2.
- [Release notes](https://github.com/codelytv/pr-size-labeler/releases )
- [Commits](https://github.com/codelytv/pr-size-labeler/compare/v1.10.1...v1.10.2 )
---
updated-dependencies:
- dependency-name: codelytv/pr-size-labeler
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-11-25 13:37:09 +08:00
xuxingliang
358261af19
tools/gdb: avoid direct access to tcb['name']
...
It could be disabled at compile time. Use utils.get_task_name to handle it
Signed-off-by: xuxingliang <xuxingliang@xiaomi.com>
2024-11-25 00:42:34 +08:00
xuxingliang
41c4eb08c0
gdb/mm: fix prev free judging and region search
...
1. The prev free flag should use field size instead of preceding to compare.
2. If not prev-free, then prevnode should be None.
3. Cast type to mm_freenode_s in order to access flink, blink when node is free.
4. Heap itself is also included in first region.
Signed-off-by: xuxingliang <xuxingliang@xiaomi.com>
2024-11-25 00:42:34 +08:00