summaryrefslogtreecommitdiff
path: root/components
AgeCommit message (Collapse)Author
2024-07-11feat: support ARCH_REMAP_KERNEL on libcpu/c906 (#9123) (#9171)riscv64heyuanjie87
feat: [libcpu/c906] support ARCH_REMAP_KERNEL This change was necessary to enable the remapping of the kernel image to a high virtual address region on the c906 platform. Changes: - Introduced new configuration options `ARCH_REMAP_KERNEL`, and `ARCH_USING_ASID` under the `ARCH_RISCV64` section. - Updated MMU initialization and switching functions to incorporate remapping handling. - Modified page table setup for proper memory attribute settings. - Added support for early memory setup, kernel remapping - Added conditional compilation for ASID support in the `rt_aspace` struct, since this is not enable currently for most architecture. Signed-off-by: Shell <[email protected]> Co-authored-by: Shell <[email protected]>
2024-07-09[components][driver][can]Fix possible memory overflow caused by RXwdfk-prog
修复RX可能导致的内存溢出情况 #8634
2024-07-09[smart/tty] skip configure of rt_serial on tty open (#9152)Shell
Skip configure on open since all configs are copied from the current configuration on device. So we don't bother to set it back to device again. Changes: - test and skip configuration on open() of tty device Signed-off-by: Shell <[email protected]>
2024-07-09[fixed]serial_v2.c兼容DFS_V2接口 (#9153)LaterComer
2024-07-05fix a bug that read members in non-existent functionsEvlers
2024-07-05fix an issue where repeated remove of card resulted in assertionsEvlers
2024-07-04fix initrd scan errzhao maosheng
2024-06-30Update cherryusb to v1.3.1 (#9122)sakumisu
* fix(hpmicro): remove duplicate usb variable * update(cherryusb): update to v1.3.1
2024-06-28[format] cleanup libcpu/aarch64 (#8950)Shell
* [dfs] fixup compiler warning Signed-off-by: Shell <[email protected]> * [format] libcpu/arm64: separate context switching codes Signed-off-by: Shell <[email protected]> * [format] libcpu/arm64: separate vector Signed-off-by: Shell <[email protected]> * [format] libcpu/arm64: separate context_gcc.S Signed-off-by: Shell <[email protected]> * [format] libcpu/arm64: moving headers to include directory Signed-off-by: Shell <[email protected]> * style: replace tab with space --------- Signed-off-by: Shell <[email protected]>
2024-06-28[ktime] quality: remove recursion on hrtimer (#9110)Shell
[ktime] feat: remove recursion on hrtimer Replace recursive algorithm with a loop in hrtimer when determining next timeout event and setup hr timer. Signed-off-by: Shell <[email protected]>
2024-06-27[drivers][serial V1]poll tx 增加异常退出机制wdfk-prog
2024-06-26fix Compilation error in "driver.c", "completion_up.c", "syslog.c" and ↵Rui
"dlmodule.c". (#9093)
2024-06-26[bsp][stm32]Optimize ADCs and fix some bugsyiyi
2024-06-26[libcpu][aarch64]memory setup using memblock (#9092)zms123456
* memory setup using memblock * map pages later
2024-06-24[rv]修正signal退出后用户态sp少8的问题 (#9080)heyuanjie87
2024-06-24[components][msh]msh命令失败添加打印日志wdfk-prog
2024-06-24[components][ringbuffer]修复编译错误wdfk-prog
2024-06-23[components][ktime]support period ktime timeout and multiple ktimer_hrtimer ↵zms123456
(#8972) * support period time * enable multiple ktimer * mv set delay_cnt to hrtimer_start * add ktime debug info * change current_irq_begin to local var * fix bug: setting current timer and setting timeout in driver aren't atomicly * create->init * refactoring ktime
2024-06-23[finsh] add msh command to bind thread to specific core (#9085)Shell
[finsh] add msh command bind Signed-off-by: Shell <[email protected]>
2024-06-22[smart] add mprotect config (#9082)Shell
Signed-off-by: Shell <[email protected]>
2024-06-21[rv]信号处理进入用户态前恢复gp (#9072)heyuanjie87
* [rv/virt/stackframe.h]添加GP寄存器保存偏移量宏 * 【rv/c906/stackframe.h]定义GP寄存器存储偏移量 * [rv]信号处理切换到用户态前恢复gp
2024-06-20除了bsp之外的Kconfig使用rsource替代sourcelatercomer
2024-06-20[timer]add all soft timer config (#9048)zms123456
* add all soft timer * update wq * add timer test * shield LOG_D
2024-06-19[components][drivers]legacy fdt (#9062)zms123456
* legacy fdt * update fdt
2024-06-18[components][net] sal_sock = sal_get_socket((int)file->data); ==> sal_sock = ↵yiyi
sal_get_socket((int)file->vnode->data); (#9065) * [components][drivers] added sensor device lookup function * [components][drivers] modified the format * [components][drivers] modified 'sensor.c' file format * Update af_inet_at.c
2024-06-18[libcpu] rv64: support for ARCH_REMAP_KERNEL (#9067)Shell
* [libcpu] support for ARCH_REMAP_KERNEL These changes introduce support for the ARCH_REMAP_KERNEL configuration, which isolates kernel space in high virtual address regions. This feature is necessary to enhance memory protection and management by segregating user and kernel spaces more effectively. Changes: - Updated conditional macros to check for ARCH_REMAP_KERNEL instead of ARCH_KERNEL_IN_HIGH_VA in board initialization files to reflect the new configuration option. - Modified qemu-virt64-riscv Kconfig and SConstruct files to include and utilize ARCH_REMAP_KERNEL. - Created a new linker script `link_smart.lds` for smart linking in qemu-virt64-riscv. - Updated rtconfig.py to use a more flexible execution path setup. - Enhanced user address space definitions in `lwp_arch.h` to support the new virtual address mappings. - Adjusted kernel memory initialization and mapping logic in `c906/mmu.c` and `virt64/mmu.c` to account for high virtual address regions. - Added Kconfig option to enable ARCH_REMAP_KERNEL for RISCV64 architectures. - Enhanced memory setup functions to support new mapping scheme, including updates to early page table setup and address relocation logic. These modifications ensure that the system can utilize high memory addresses for the kernel, improving memory isolation and system stability. Signed-off-by: Shell <[email protected]> * fixup: CI run failed * bsp: default config without using smart * fixup: static checks * restore rt_hw_mmu_kernel_map_init for D1 --------- Signed-off-by: Shell <[email protected]>
2024-06-18add cromfs start with bootargs cmdzhujiale
2024-06-16[components] [drivers ] [Kconfig] 整理 components/drivers 的 Kconfig (#9054)sp-cai
整理 components/drivers 的 Kconfig
2024-06-16[bsp/phytium]c++支持,gpio,qspi驱动修改 (#9059)zhangyan
* GPIO驱动与QSPI驱动适配 * C++支持 * update --------- Co-authored-by: 张衍 <[email protected]>
2024-06-13[fix] 修复ART-PI smart在sd/emmc读取不到分区的问题 (#9058)zhuzhuzhu
Update sd.c
2024-06-13[fix]fix tmpfs bug (#8970)zhuzhuzhu
* first * second * thrid * Update SConscript * tmpfs testcase default n * Update dfs_tmpfs.c * format document --------- Co-authored-by: zhujiale <[email protected]>
2024-06-12[workqueue] add comment (#9046)wdfk-prog
2024-06-12[utest] remove delay for on thread testing (#9053)Shell
* [utest] remove delay for on thread testing The delay is introduced from 0dc7b9a5a26030a945723569c64f5be46bd70ae1. Though this is unnecessary for on sync utest. So this is removed by a new entry and delay for asynchronous utest only. Signed-off-by: Shell <[email protected]> * fixup: msh cmd prototype --------- Signed-off-by: Shell <[email protected]>
2024-06-12【修复】修复ART-PI samrt上读取不到emmc/sd分区问题 (#9051)zhuzhuzhu
Update sd.c
2024-06-07[mm] precise & readable mm fault type (#9047)Shell
* [smart] fixup: precise mm fault type Also, fixup arm64 read access fault * arm64: using meaningful macro on trap * fixup: renaming macro
2024-06-06[ipc]修复pipe创建失败时的资源异常释放yangpeng
2024-06-05component:mm: improve sconscript (#9028)Chen Wang
There is no next-level directory under the components/mm/ directory. Do not need to enter the next-level directory to process the SConscript file. Signed-off-by: Chen Wang <[email protected]>
2024-06-04[smart] add CPU/thread usage tracing config (#8947)Shell
* [smart] add CPU usage tracing config This patch introduces following features: - Added CPU usage tracing functionality, enabled by default, for applications like 'top' - update time as smart independent Signed-off-by: Shell <[email protected]> * fixup: add ump idle thread --------- Signed-off-by: Shell <[email protected]>
2024-06-03[fix][misc][adc] 修复 ADC 电压转换的计算错误sp-cai
2024-06-02refactor(drivers/usb):replace rtt usb stack with cherryusb (#8799)sakumisu
2024-05-31[DM/feature] Implement PIC irq state { get; set } (#9006)GUI
* [DM/feature] Implement PIC irq state { get; set } There are some common state for irq: 1. Pending: IRQ was triggered, but software not ACK. 2. Active: IRQ was ACK, but not EOI. 3. Masked: IRQ was masked or umasked. Signed-off-by: GuEe-GUI <[email protected]> * [DM/pic] Support IRQ state { get; set } for ARM GICv2/v3 Signed-off-by: GuEe-GUI <[email protected]> --------- Signed-off-by: GuEe-GUI <[email protected]>
2024-05-31[fix]fix compile err in pic-gic (#9015)zms123456
fix compile err in pic-gic
2024-05-31[smart] fixup of script execution (#9009)Shell
This patch fixup the script execution capabilities on argv passing and adds support for arguments larger than 4k. According to POSIX, the script parameter is quiet different from the current implementation. Especially on the way it inserts the path of executables. At the end, when you execute a script from `$PATH`, it always fails. For the script, interpreter will be invoked with the following arguments: `{interpreter [optional-arg] pathname arg...}` where pathname is the pathname of the file specified as the first argument of execve(), and arg... is the series of words pointed to by the argv argument of execve(), starting at argv[1]. Note that there is no way to get the argv[0] that was passed to the execve() call. The changes include: - Separating argument, environment variable, and auxiliary vector processing into a new lwp_args.c file. - Fixing bugs in script argument processing and supporting arguments larger than 4k. - Updating lwp_execve to use the new argscopy function and removing the old lwp_argscopy function. - Making various modifications to lwp_load and elf_aux_fill to work with the new argument processing. - Removing unnecessary code related to dynamic loading and interpreter scripts. Signed-off-by: Shell <[email protected]>
2024-05-31[lwp]list_process can print tid (#8991)rcitachi
* list_process can print tid * fix-ci * update list_process * Update lwp_pid.c
2024-05-30dev: random should copy size bytes of data to buffer (#9012)Shell
2024-05-30[Feature] Support simple power domain API (#9005)GUI
* [Feature] Power domain for device 1.Support device power on/off. 2.Support attach/detach device. 3.Support power domain driver api. Signed-off-by: GuEe-GUI <[email protected]> * [DM/platform] Enhanced platform bus 1.Add power domain for device. 2.Support `remove` and `shutdown` bus interface. Signed-off-by: GuEe-GUI <[email protected]> --------- Signed-off-by: GuEe-GUI <[email protected]>
2024-05-30解决ktime部分函数计算时unsigned long溢出 (#9008)LaterComer
* 解决ktime部分函数计算时unsigned long溢出 * 恢复部分不需要ktime中部分rt_uint64_t类型的为unsigned long
2024-05-29[components][drivers][include][phy] add one more parameter for mulitiple physJiading Xu
- add parameter phy to specify multiple-phy instance Signed-off-by: Jiading Xu <[email protected]>
2024-05-29[smart] fixup errno passing on sys_mkdir() (#9007)Shell
Use _SYS_WRAP to fetch errno on return of mkdir to avoiding overriding of it on other system APIs. Signed-off-by: Shell <[email protected]>
2024-05-29[smart] update sched_setaffinity() to use thread(task) ID (#9004)Shell
Correct `sched_setaffinity()` to use the thread IDs (TIDs) instead of process IDs (PIDs). The previous implementation used PIDs, which caused issues since affinity settings need to be applied at the thread level. As the manual documented, the signature is: > int sched_setaffinity(pid_t pid, size_t cpusetsize, > const cpu_set_t *mask); Yes, it's tricky, the identification passing in is called **'PID'**. But when we talk about 'pid' from GNU libc, it's the **'task-id'**, aka, `thread->tid` known in kernel. Changes were made by updating the function signatures and logic in `lwp.h`, `lwp_pid.c`, and `lwp_syscall.c` to accept TIDs. Specifically, the `lwp_setaffinity` function and related internal functions now operate using thread IDs and adjust thread affinity settings accordingly Signed-off-by: Shell <[email protected]>