Commit Graph

52013 Commits

Author SHA1 Message Date
liaoao cf27a8484f rpmsgblk: use a fixed length struct to transfer between two cpus
It may cause out_of_bounds when two side have different configuartion
on NAME_MAX and FS_LARGEFILE(affects size of blkcnt_t)

Signed-off-by: liaoao <liaoao@xiaomi.com>
2023-11-22 08:08:12 -08:00
liaoao 4b25a0dfa5 rpmsgblk: check if the block device has been removed before calling its ops
it may cause use after free if server has removed block device before calling
its operations,such as:
server: rm /dev/testrpmsgblk
client: ls /dev/testrpmsgblk

Signed-off-by: liaoao <liaoao@xiaomi.com>
2023-11-22 08:08:12 -08:00
liaoao 12d66da892 rpmsgblk: do not actually unlink blockdevice in rpmsgblk client
rpmsgblk client should not affect the server's use of blockdevice.

Signed-off-by: liaoao <liaoao@xiaomi.com>
2023-11-22 08:08:12 -08:00
liaoao 27f672d55a rpmsgblk: bind block inode to ept when create ept
A segmentfault might happen when read/write/unlink ops called without an open
ops called because it bind ept's ops in rpmsgblk_open_handler.

proxy> rm /dev/ram1
segmentfault

proxy> ls /dev/ram1
segmentfault

Signed-off-by: liaoao <liaoao@xiaomi.com>
2023-11-22 08:08:12 -08:00
Ville Juven 57de6484e9 task/pthread_cancelpt: Fix task_delete from another task group
PR #11165 causes an unnecessary regression; task_delete no longer works,
if the deleted task is from another group.

The logic that prevents this comes from:

nxnotify_cancellation() ->
tls_get_info_pid() ->
nxsched_get_stackinfo()

Which checks for permissions, which does not make sense in this case since
it is the kernel asking for the stack information.

Fix this by partially reverting 11165 and implementing a direct path for
the kernel to query for any tasks TLS.
2023-11-22 08:05:58 -08:00
Eero Nurkkala 83f5ca6158 risc-v/mpfs: ihc: cleanup DEBUGASSERTs and irq enabling
Replace DEBUGASSERTs with sanity checks. DEBUGASSERT()s are
not necessarily enabled at all, thus risking the functionality
especially in that case. Remove PANICs as well.

Don't enable the ihc irq too early. If enabled, and the master
is already up, the irq is being issued so that the system gets
stuck or is severely slowed down. Master may be already up if
this NuttX hart only is rebooted, for example.

Signed-off-by: Eero Nurkkala <eero.nurkkala@offcode.fi>
2023-11-22 08:05:36 -08:00
Petteri Aimonen 0648a61668 sigaction: Expand si_user for non-kernel signals
Commit 9244b5a737 added support
for non-standard field si_user that is useful for passing context
pointers to signal handlers.

This commits makes it work for all signals, not just SA_KERNELHAND.
Previously si_user for normal signals was uninitialized garbage.
2023-11-22 08:00:43 -08:00
chao an 59cf308eff sched/taskspawn: fix spawn fail if enable FDCHECK
protect file descriptor before compare

Signed-off-by: chao an <anchao@xiaomi.com>
2023-11-22 16:05:36 +01:00
jianglianfang 817e02c0c8 video/fb: move wdog from fb_chardev_s to fb_paninfo_s
every pan_info should have it own wdog

Signed-off-by: jianglianfang <jianglianfang@xiaomi.com>
2023-11-22 02:01:20 -08:00
jianglianfang 10991cf5f4 video/fb: wait when the vsync queue is full in FBIO_WAITFORVSYNC
In FBIO_WAITFORVSYNC mode, if vsync queue is full it should wait
until fb_sem_post.

Signed-off-by: jianglianfang <jianglianfang@xiaomi.com>
2023-11-22 02:01:20 -08:00
chao an e560111dbb tiva/sock_can: correct mutex lock cycle
Signed-off-by: chao an <anchao@xiaomi.com>
2023-11-22 01:57:44 -08:00
chao an 6bbb7c0046 fs/spiffs: correct mutex lock cycle of spiffs
This PR will fix the below issues:
1. double lock() on dup
2. use after free on unbind

Signed-off-by: chao an <anchao@xiaomi.com>
2023-11-22 01:57:44 -08:00
qinshijing e5eabbb411 arch/sim: sim support 16bbp
Signed-off-by: qinshijing <qinshijing@xiaomi.com>
2023-11-21 21:53:06 -08:00
anjiahao 749655d785 tcbinfo:remove total_num form tcbinfo.
total_num is not required
test:

make -f tools/Makefile.host
cp tools/jlink-nuttx /opt/SEGGER/JLink_V786a/libnuttxplugin.so
JLinkGDBServer -if SWD -speed 5000 -device STM32F429ZI -NoGui 1 -rtos libnuttxplugin

can run normally

Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-11-21 21:52:24 -08:00
hujun5 1a65f5ed88 sched_lock refine: remove sched_[un]lock in xxx_waitsample
Signed-off-by: hujun5 <hujun5@xiaomi.com>
2023-11-21 20:03:43 -08:00
hujun5 b2e6d7b9d7 fs/tmpfs: fix an integer overflow
newsize = newsize + CONFIG_FS_TMPFS_FILE_ALLOCGUARD;

When newsize is a large value,
adding a relatively small value can cause the result to become very small,
resulting in program logic errors.
For example:
0xffffffff + 0x2 = 1

Signed-off-by: hujun5 <hujun5@xiaomi.com>
2023-11-21 20:02:00 -08:00
liqinhui be32247e73 simwifi: Escapes the special characters of ssid in the scan results.
The ssid format refers to the format of ssid displayed on the mobile
phone.

Signed-off-by: liqinhui <liqinhui@xiaomi.com>
2023-11-21 17:05:32 -08:00
liqinhui 7c13116007 simwifi: Connect the wifi whose ssid contains the special charaters.
When setting the essid that contains the special characters (\"'),
we need to add an escape (\) for them.

Signed-off-by: liqinhui <liqinhui@xiaomi.com>
2023-11-21 08:00:13 -08:00
liaoao 4446b34b2c list: search prev item in reverse order
Signed-off-by: liaoao <liaoao@xiaomi.com>
2023-11-21 07:59:42 -08:00
chenrun1 f12c4fb887 Revert "libc/lib_bzero:Add bzero prototype." 2023-11-21 07:56:52 -08:00
liaoao 6e604741f6 arm64_vector: no need to save x0 to sp
It will cause an incorrect sp value saved in context when saving X0 to sp.

Signed-off-by: liaoao <liaoao@xiaomi.com>
2023-11-21 07:56:19 -08:00
halyssonJr bc64559bac add support to q-enconder 2023-11-21 04:05:41 -08:00
Eero Nurkkala 1cb879773a risc-v/mpfs/opensbi: update opensbi to version 1.3.1
Version 1.3.1 is the latest tagged version as of November
the 21st, 2023.  This patch prepares the required changes
to make v1.3.1 work.

Signed-off-by: Eero Nurkkala <eero.nurkkala@offcode.fi>
2023-11-21 04:04:47 -08:00
zhanghu5 6a6538c1b8 clock.h: use CONFIG_DEBUG_SCHED to test init ticks
Signed-off-by: zhanghu5 <zhanghu5@xiaomi.com>
2023-11-21 04:01:39 -08:00
Xiang Xiao eddd90de78 poll: pollsetup should notify only one fd passd by caller
since it's redundant to iterate the whole fds array in setup

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-11-21 09:07:17 +01:00
Xiang Xiao 11b3adf17f drivers/rtc/rpmsg: Move clock_synchronize rpmsg_rtc_server_settime
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-11-20 13:28:09 +01:00
Xiang Xiao 67bff06a24 drivers/rtc: Skip clock_synchronize if settime return positive value
so driver implementer could call clock_synchronize by self

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-11-20 13:28:09 +01:00
Xiang Xiao e6ebcb62b1 drivers/rtc: Return -ENOTTY if lower half doesn't implement the corresponding callback
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-11-20 13:28:09 +01:00
Xiang Xiao 673cb18a7a drivers/mmcsd: mmcsd_sdinitialize should save csd register into priv->csd
just like what mmcsd_mmcinitialize do

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-11-19 20:24:30 +01:00
Xiang Xiao 20783635d4 arch/sim: Remove the wrong comment from up_allocate_heap
forget from https://github.com/apache/nuttx/pull/11043

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-11-19 20:23:30 +01:00
Xiang Xiao ab2a4838d7 board/sim: Enable the tick lock in smp config
to improve the ci coverage

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-11-19 20:22:50 +01:00
Xiang Xiao b2f75c2f3d spinlock: Move the inclusion of stdatomic.h to source file
to make rwlock work with c++ source code

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-11-19 20:22:50 +01:00
Xiang Xiao f35ec7727d Fix syslog/ramlog.c:698:7: warning: implicit declaration of function ‘spin_lock_init’
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-11-19 20:22:50 +01:00
Rodrigo Sim a3e3e0b1ec stm32f401rc-rs485: Add buttons support 2023-11-18 17:07:32 -08:00
raiden00pl 014029c649 boards: add support for ODrive V3.6 board 2023-11-18 17:07:20 -08:00
raiden00pl 9a51197523 drivers/foc: add support for drv8301 power-stage driver 2023-11-18 17:07:20 -08:00
raiden00pl 4bad6048f0 drivers/foc: add support for FOC power-stage driver
There are ICs available on the market that integrate various power inverter
features. The driver for such a device must be tightly coupled to a FOC device
as using it as a separate device doesn't make sense.
2023-11-18 17:07:20 -08:00
Jonathan Kimmitt f4b77f078b skeleton.c doesn't compile without this patch if ioctls are enabled 2023-11-18 17:05:53 -08:00
bertrand f5374e71f3 Fix compilation and fix SAM_DMAC_CHINTENCLR settings 2023-11-18 18:39:30 -03:00
Jorge Guzman 46b8b057da linum-stm32h753bi: Add support to RTC and alarm
Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
2023-11-18 18:38:41 -03:00
Petteri Aimonen 2cf56e0fb3 stm32: Add support for Ethernet packet timestamping and PTP timer
Adds support for hardware timestamping of received Ethernet packets.
The timestamp is available to applications using socket option SO_TIMESTAMP.

Optionally, the Ethernet PTP timer can be used as system high-resolution RTC.
In this mode it supports fine resolution rate adjustment.

Alternatively other time source for CLOCK_REALTIME can be used, and the
PTP timestamps are converted by sampling the clocks and computing the
difference. This results in a few microseconds of uncertainty.
2023-11-18 03:10:45 -08:00
Petteri Aimonen cb161940c2 udp: Add support for SO_TIMESTAMP
Adds support for timestamping received UDP packets, either in
hardware or in kernel. Builds on the existing support of SO_TIMESTAMP
for SocketCAN.

Implementation uses CLOCK_REALTIME for timestamping to match the
behavior of Linux. This could be made configurable in future if needed.
2023-11-18 03:10:29 -08:00
Jorge Guzman ce654a6148 stm32h7/linum-stm32h753bi: Added documentation of linum-stm32h753bi board.
Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
2023-11-17 17:46:33 -08:00
Michal Lenc d7c53a6939 docs: add description about local CI tests
This page adds description how to run CI tests locally.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
2023-11-17 19:36:53 +01:00
weidengke f2ed885e69 fix spi slave driver build break
fix build break when CONFIG_SPI_SLAVE_DRIVER_COLORIZE_TX_BUFFER not
define

Signed-off-by: weidengke <weidengke@xiaomi.com>
2023-11-17 06:38:32 -08:00
zhanghongyu bdc934b817 usb_rawgadget: remove halt operation
The halt operation may be causes the raw epread data segment lost, and
usb ep_queue can handle when the usb buffer is full. so remove the
relevant operations.

Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2023-11-17 06:38:21 -08:00
Bowen Wang f01f290c3f qemu/config: enable CONFIG_DEV_SIMPLE_ADDRENV for all qemu configs
Enable CONFIG_DEV_SIMPLE_ADDRENV for all the qemu configs that used
the virtio driver to fix compile error when use the NuttX implemented
metal io read/write operations.
Becasue up_addrenv_pa_to_va() and up_addrenv_va_to_pa() are not
implemented by default.

Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2023-11-17 09:42:52 +01:00
Bowen Wang 8ed836f05e openamp/libmetal: aligned io read/write when size=1,2,3,4
Make NuttX implemented metal io read/write to aligned access

Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2023-11-17 09:42:52 +01:00
Bowen Wang af39ee49d8 virtio-mmio: use nuttx implemented io operation instead libmetal's
Openamp/libmetal's metal io operation used the atomic operation, but
in QEMU 8.1.2, the risc-v IO region is not allow to use atomic instruction
in SMP case.

Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2023-11-17 09:42:52 +01:00
Stuart Ianna 90cf37a179 Documentation: Fix sd_bench command help description.
The help prompt usage output for sd_bench was inconsistent with that of
the actual application. Amend this error.
2023-11-16 22:52:30 -08:00