Commit Graph

51871 Commits

Author SHA1 Message Date
Nathan Hartman
9b77b2ba0b Documentation: Remove executable bit from reStructuredText file. 2023-11-23 16:37:28 -08:00
guotong ma
8d72edf72f fix f401rc flash size in documentation. 2023-11-23 08:15:06 -08:00
guotong ma
6c25d2a2f5 fix f401rc flash size. 2023-11-23 08:15:06 -08:00
SPRESENSE
6ba30033b3 libm: Fix an issue that public header files are not exported
Fix an issue that math library header files are not exported by make export.
Create symbolic links of libmcs, newlib and openlibm header to nuttx/include.
2023-11-23 16:32:53 +01:00
hujun5
5a04354832 driver/tee: add some comments and document files in LICENSE
Signed-off-by: hujun5 <hujun5@xiaomi.com>
2023-11-23 06:25:48 -08:00
hujun5
0c2cfc767d driver/tee: add optee client driver module
The driver's main purpose is to support the porting of the open source
component optee_client (https://github.com/OP-TEE/optee_client) to nttux.

The basic function of the driver module is to convert the REE application layer data and send it to the TEE through rpmsg.

The main functions include
1 driver registration.
we need to register a device driver(/dev/tee0) through optee_register function.
2 open the driver
3 ioctl the driver
The ioctl command passes different parameters and commands, and interacts with the TEE through rpmsg.
4 close the driver

Signed-off-by: hujun5 <hujun5@xiaomi.com>
2023-11-23 06:25:48 -08:00
Daniel P. Carvalho
ed877fd494 drivers:mtd: Adds support for W25 2Mbit memories.
Tested with W25Q20CL.
2023-11-22 19:39:40 -03:00
liaoao
ea0be3b490 rpmsgblk: split mmc_ioc_multi_cmd to mmc_ioc_cmd for less share memory allocation
Signed-off-by: liaoao <liaoao@xiaomi.com>
2023-11-22 08:08:12 -08:00
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