Commit Graph

16123 Commits

Author SHA1 Message Date
Shell 65c9947225
[libcpu] rv64: support for ARCH_REMAP_KERNEL (#9067)
* [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 <smokewood@qq.com>

* 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 <smokewood@qq.com>
2024-06-18 11:15:59 +08:00
zhujiale 73727fa06e add cromfs start with bootargs cmd 2024-06-18 10:54:32 +08:00
sp-cai f1832fea24
[components] [drivers ] [Kconfig] 整理 components/drivers 的 Kconfig (#9054)
整理 components/drivers 的 Kconfig
2024-06-16 15:43:27 +08:00
zhangyan 842b555358
[bsp/phytium]c++支持,gpio,qspi驱动修改 (#9059)
* GPIO驱动与QSPI驱动适配

* C++支持

* update

---------

Co-authored-by: 张衍 <zhangyan1491@phytium.com.cn>
2024-06-16 15:42:37 +08:00
zhuzhuzhu 2866da37a0
[fix] 修复ART-PI smart在sd/emmc读取不到分区的问题 (#9058)
Update sd.c
2024-06-13 17:06:46 +08:00
zms123456 1e287b2591
[src][kservice]fix shutdown log (#9061)
fix shutdown log
2024-06-13 16:09:56 +08:00
Shell e5b7f3fdd8
[kservice] Enhance support for backtrace service (#9037)
[feat] Enhance support for backtrace service

rt_backtrace_formatted_print() and rt_backtrace_to_buffer() to help
debug routines.

Also, following modification are included:
- make rt_backtrace_frame patchable with weak attr
- replace lwp backtrace with sync output

Signed-off-by: Shell <smokewood@qq.com>
2024-06-13 08:55:53 +08:00
zhuzhuzhu 1869c543a6
[fix]fix tmpfs bug (#8970)
* first

* second

* thrid

* Update SConscript

* tmpfs testcase default n

* Update dfs_tmpfs.c

* format document

---------

Co-authored-by: zhujiale <zhujiale@rt-thread.com>
2024-06-13 08:54:02 +08:00
zhuzhuzhu 58e42caea7
【修改】修改imx6ull-smart中mnt.c的逻辑错误 (#9045)
* Update mnt.c

* Update mnt.c

* Update mnt.c

* Add files via upload

* Update mnt.c

* Update mnt.c
2024-06-13 08:51:57 +08:00
wdfk-prog 40e64e5be6
[workqueue] add comment (#9046) 2024-06-12 19:50:37 +08:00
Shell 540370e4de
[utest] remove delay for on thread testing (#9053)
* [utest] remove delay for on thread testing

The delay is introduced from 0dc7b9a5a2.

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 <smokewood@qq.com>

* fixup: msh cmd prototype

---------

Signed-off-by: Shell <smokewood@qq.com>
2024-06-12 19:48:51 +08:00
zhuzhuzhu 1b4b338ed1
【修复】修复ART-PI samrt上读取不到emmc/sd分区问题 (#9051)
Update sd.c
2024-06-12 18:14:48 +08:00
Shell a12736e4c8
[libcpu] arm64: implement cpuid get by assembly (#9052) 2024-06-11 17:21:47 +08:00
sp-cai 47ee23510c
[BSP] HC32F460 在 SConscript 补充几个源文件 (#9042)
[BSP] HC32F460 工程中增加几个源文件
2024-06-10 16:15:04 +08:00
maosql 564121050c fix DeprecationWarning: invalid escape sequence. 2024-06-10 14:26:44 +08:00
LaterComer fe950fd1c2
[fixed]qemu-vexpress-a9/drv_smc911x.c没有包含相应的头文件 (#9040)
Update drv_smc911x.c

代码中用到udelay和mdelay函数,但是没有包含头文件
2024-06-07 21:38:16 +08:00
Shell f00db6381a
[mm] precise & readable mm fault type (#9047)
* [smart] fixup: precise mm fault type

Also, fixup arm64 read access fault

* arm64: using meaningful macro on trap

* fixup: renaming macro
2024-06-07 21:34:03 +08:00
yangpeng 479fab7775 [ipc]修复pipe创建失败时的资源异常释放 2024-06-06 09:42:16 +08:00
Rbb666 69be78ffba
[log]Update V5.1.0 Released Changelog. (#9038) 2024-06-05 16:42:40 +08:00
Chen Wang f0af6ef809
component:mm: improve sconscript (#9028)
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 <unicorn_wang@outlook.com>
2024-06-05 10:04:32 +08:00
heyuanjie87 f778a66d6e
[bsp/qemu-riscv]修正打开串口后中断被关闭的问题 (#9035) 2024-06-05 09:52:32 +08:00
Fan YANG ca78a4f025 [bsp][hpmicro] remove invalid reference in board KConfig
- removed invalid reference in board KConfig

Signed-off-by: Fan YANG <fan.yang@hpmicro.com>
2024-06-04 11:11:58 +08:00
Shell 6ca327d8ce
[smart] add CPU/thread usage tracing config (#8947)
* [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 <smokewood@qq.com>

* fixup: add ump idle thread

---------

Signed-off-by: Shell <smokewood@qq.com>
2024-06-04 00:06:41 +08:00
Fan YANG e03342ff6b [bsp][hpmicro] add HPM5300EVK,HPM5301EVKLITE and HPM6800EVK support & update hpm_sdk
- added new boards: hpm5300evk, hpm5301evklite and hpm6800evk
- upgaded hpm_sdk
- driver updates and bugfixes
- add hpmicro BSPs to CI

Signed-off-by: Fan YANG <fan.yang@hpmicro.com>
2024-06-03 18:05:20 +08:00
sp-cai 884e391954 [fix][misc][adc] 修复 ADC 电压转换的计算错误 2024-06-03 11:31:30 +08:00
sakumisu 62d321caa0
refactor(drivers/usb):replace rtt usb stack with cherryusb (#8799) 2024-06-02 11:20:13 +08:00
LaterComer 658813213e
[fixed]解决pull_request_template.md不小心移动到了issue_template目录 (#9021)
解决pull_request_template.md不小心移动到了issue_template目录
2024-06-02 00:07:22 +08:00
GUI 1d614a819d
[DM/feature] Implement PIC irq state { get; set } (#9006)
* [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 <2991707448@qq.com>

* [DM/pic] Support IRQ state { get; set } for ARM GICv2/v3

Signed-off-by: GuEe-GUI <2991707448@qq.com>

---------

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2024-05-31 17:37:39 +08:00
Shicheng Chu aa81fd4a88
[bsp][pico] update README.md (#9018) 2024-05-31 17:34:56 +08:00
zms123456 ef184d2157
[fix]fix compile err in pic-gic (#9015)
fix compile err in pic-gic
2024-05-31 17:33:34 +08:00
LaterComer b0f460cbad
[feature]更新issue模板,采用议题表单模式 (#9011)
更新issue模板,采用议题表单模式
2024-05-31 17:32:41 +08:00
Shell e5cf86267b
[smart] fixup of script execution (#9009)
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 <smokewood@qq.com>
2024-05-31 17:32:19 +08:00
rcitachi 85b428df42
[lwp]list_process can print tid (#8991)
* list_process can print tid

* fix-ci

* update list_process

* Update lwp_pid.c
2024-05-31 17:30:46 +08:00
Shell e0df85c819
dev: random should copy size bytes of data to buffer (#9012) 2024-05-30 20:09:02 +08:00
GUI e7cddf3a52
[Feature] Support simple power domain API (#9005)
* [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 <2991707448@qq.com>

* [DM/platform] Enhanced platform bus

1.Add power domain for device.
2.Support `remove` and `shutdown` bus interface.

Signed-off-by: GuEe-GUI <2991707448@qq.com>

---------

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2024-05-30 15:30:40 +08:00
LaterComer 2cbe8bdae0
解决ktime部分函数计算时unsigned long溢出 (#9008)
* 解决ktime部分函数计算时unsigned long溢出

* 恢复部分不需要ktime中部分rt_uint64_t类型的为unsigned long
2024-05-30 12:04:33 +08:00
Jiading Xu 2fcf151a8e [components][drivers][include][phy] add one more parameter for mulitiple phys
- add parameter phy to specify multiple-phy instance

Signed-off-by: Jiading Xu <Jiading.Xu@hpmicro.com>
2024-05-29 22:22:51 +08:00
wdfk-prog 8e54e31c74
[IDLE] 修改注释,避免造成歧义 (#9010) 2024-05-29 22:18:13 +08:00
WKJay 2fd9ff56dc [BSP][stm32f103-100ask-pro]add ext_sram driver to stm32f103-100ask-pro 2024-05-29 20:19:46 +08:00
lzh 07d7b71345 code format adjustment 2024-05-29 20:18:18 +08:00
lzh b764055018 xmac port code update 2024-05-29 20:18:18 +08:00
lzh 7d7a53ebc1 aarch32 config update tcp pri 12->16 2024-05-29 20:18:18 +08:00
lzh e2c98c9e63 aarch64 config update tcp pri 12->16 2024-05-29 20:18:18 +08:00
lzh 6dc3d7f968 aarch32 menuconfig all update 2024-05-29 20:18:18 +08:00
lzh 65b5735178 ping test e2000d pass 2024-05-29 20:18:18 +08:00
lzh 214f187821 gpio disabled 2024-05-29 20:18:18 +08:00
lzh 601b29967a aarch64 config update all 2024-05-29 20:18:18 +08:00
Shell 63591d935e
[smart] fixup errno passing on sys_mkdir() (#9007)
Use _SYS_WRAP to fetch errno on return of mkdir to avoiding overriding
of it on other system APIs.

Signed-off-by: Shell <smokewood@qq.com>
2024-05-29 18:06:54 +08:00
Shell f179ce12b7
[smart] update sched_setaffinity() to use thread(task) ID (#9004)
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 <smokewood@qq.com>
2024-05-29 06:53:22 +08:00
heyuanjie87 326150e2f4
[lwp/riscv]进入libc前初始化用户态sp (#8997) 2024-05-29 06:52:38 +08:00