[置顶] 泰晓 RISC-V 实验箱,配套 30+ 讲嵌入式 Linux 系统开发公开课
RISC-V Linux 内核及周边技术动态第 113 期
时间:20241013
编辑:晓瑜
仓库:RISC-V Linux 内核技术调研活动
赞助:PLCT Lab, ISCAS
内核动态
RISC-V 架构支持
v1: pinctrl: th1520: Unbreak the driver
Here are 2 important fixes and a code improvement to the T-Head TH1520 pinctrl driver that was either introduced or missed when Drew took over upstreaming it.
v10: Add support for Allwinner PWM on D1/T113s/R329 SoCs
v10: Tracepoints and static branch in Rust
This patch series adds support for calling tracepoints declared in C from Rust. This series includes a patch that adds a user of tracepoits to the rust_print sample.
v3: ftrace: Consolidate ftrace_regs accessor functions for archs using pt_regs
Most architectures use pt_regs within ftrace_regs making a lot of the accessor functions just calls to the pt_regs internally.
v9: Linux RISC-V IOMMU Support
This patch series introduces support for RISC-V IOMMU architected hardware into the Linux kernel.
v13: KVM: Stop grabbing references to PFNMAP’d pages
TL;DR: Eliminate KVM’s long-standing (and heinous) behavior of essentially guessing which pfns are refcounted pages (see kvm_pfn_to_refcounted_page()).
v5: Add board support for Sipeed LicheeRV Nano
The LicheeRV Nano is a RISC-V SBC based on the Sophgo SG2002 chip. Adds minimal device tree files for this board to make it boot to a basic shell.
v1: vdso: Preparations for generic data storage
These patches are intended to be merged via the tip tree, so the following patches can be based on a unified base.
v2: riscv: interrupt-controller: Add T-HEAD C900 ACLINT SSWI
Add full support for T-HEAD C900 SSWI device.
v3: pinctrl: th1520: Improve code quality
This series contains code quality improvements for the new TH1520 pinctrl driver.
v2: ftrace: Make ftrace_regs abstract and consolidate code
I again compiled all the affected architectures (except for 32bit ppc). I got s390 built when disabling bcachefs.
v6: riscv control-flow integrity for usermode
Software with larger attack surfaces (e.g. network facing apps like databases, browsers or apps relying on browser runtimes) suffer from memory corruption issues which can be utilized by attackers to bend control flow of the program to eventually gain control (by making their payload executable).
v3: Introduce support for T-head TH1520 Mailbox
The T-head TH1520 SoC supports a hardware mailbox that enables two cores within the SoC to communicate and coordinate.
v1: cfi: rust: pass -Zpatchable-function-entry on all architectures
The KCFI sanitizer stores the CFI tag of a function just before its machine code.
v2: mmc: sdhci-of-dwcmshc: Prevent stale command interrupt handling
While working with the T-Head 1520 LicheePi4A SoC, certain conditions arose that allowed me to reproduce a race issue in the sdhci code. To solve this issue, we need to clear pending interrupts when resetting host->pending_reset. This ensures that after sdhci_threaded_irq restores interrupts, there are no pending stale interrupts.
v3: pwm: Add pwm driver for Sophgo SG2042
Add driver for pwm controller of Sophgo SG2042 SoC.
v1: Add power key for pioneer box
Add power key for pioneer box.
v1: ftrace: Make ftrace_regs abstract from direct use
ftrace_regs was created to hold registers that store information to save function parameters, return value and stack.
LoongArch 架构支持
v9: Consolidate IO memcpy functions
I have now guarded the prototypes as well with ‘#ifndef’ and I have dropped the other unnecessary patches for now.
v3: ASoC: Some issues about loongson i2s
This patch set is mainly about Loongson i2s related issues.
ARM 架构支持
v6: Add mfd, pinctrl and pwm support to EN7581 SoC
Introduce airoha-mfd driver in order to load pinctrl and pwm drivers for EN7581 SoC.
v1: ARM: mach-hpe: Rework support and directory structure
Having a platform need a mach-* directory should be seen as a negative, it means the platform needs special non-standard handling.
v6: Coresight: Add Coresight TMC Control Unit driver
The significant challenge in enabling the data filter function is how to collect the trace ID of the source device.
v5: RESEND: Coresight: Add Coresight TMC Control Unit driver
The significant challenge in enabling the data filter function is how to collect the trace ID of the source device.
v11: Introduction of a remoteproc tee to load signed firmware
To keep history of the updates I have kept in each patches the description of the updates versus the V9[2] revision.
v7: Add NSS clock controller support for IPQ9574
Add bindings, driver and devicetree node for networking sub system clock controller on IPQ9574. Also add support for gpll0_out_aux clock which serves as the parent for some nss clocks.
v1: arm64: cpufeature: add POE to cpucap_is_possible()
Add CONFIG_ARM64_POE to cpucap_is_possible() to avoid the explicit check.
X86 架构支持
v1: KVM: kvm-coco-queue: Support protected TSC
This patch series is for the kvm-coco-queue branch.
v5: Dell AWCC platform_profile support
This patch adds platform_profile support for Dell devices which implement User Selectable Thermal Tables (USTT) that are meant to be controlled by Alienware Command Center (AWCC).
v5: Distinguish between variants of IBPB
Prior to Zen4, AMD’s IBPB did not flush the RAS (or, in Intel terminology, the RSB).
v3: Improve objtool jump table handling
Jump table handling has faded into the background a little due to the fact that jump tables are [currently] disabled when enabling retpoline mitigations and/or IBT on x86.
v2: mm: Enforce the stack gap when changing inaccessible VMAs
As explained in the comment block this change adds, we can’t tell what userspace’s intent is when the stack grows towards an inaccessible VMA.
v2: Add support for AMD hardware feedback interface
The AMD Heterogeneous core design and Hardware Feedback Interface (HFI) provide behavioral classification and a dynamically updated ranking table for the scheduler to use when choosing cores for tasks.
v1: perf/amd/ibs: Add support for OP Load Latency Filtering
Add support for LdLat filtering in IBS Op pmu. Since hardware supports threshold in multiple of 128, add a software filter on top to support latency threshold with the granularity of 1 cycle between [128-2048].
v1: asus-laptop: prefer strscpy() over strcpy()
The function strcpy() is depreciated and potentially unsafe. It performs no bounds checking on the destination buffer.
进程调度
v2: sched/eevdf: Reduce the computation frequency of avg_vruntime
The current code subtracts the value of curr from avg_vruntime and avg_load during runtime. Then, every time avg_vruntime() is called, it adds the value of curr to the avg_vruntime and avg_load.
v1: sched/topology: improve topology_span_sane speed
Use a different approach to topology_span_sane(), that checks for the same constraint of no partial overlaps for any two CPU sets for non-NUMA topology levels, but does so in a way that is O(N) rather than O(N^2).
v1: sched/core: Disable page allocation in task_tick_mm_cid()
With KASAN and PREEMPT_RT enabled, calling task_work_add() in task_tick_mm_cid() may cause the following splat.
v3: sched+mm: Track lazy active mm existence with hazard pointers
I’m posting a v3 taking care of feedback from Peter Zijlstra and PaulE. McKenney in case it can be useful to try hazard pointers with otheruse-cases, or for further benchmarking of active mm tracking impact.
v1: sched: Lazy preemption muck
During LPC Thomas reminded me that the lazy preemption stuff was not there yet.
内存管理
v1: mm/hugetlb: Perform vmemmap optimization batchly for specific node allocation
When HVO is enabled and huge page memory allocs are made, the freed memory can be aggregated into higher order memory in the following paths, which facilitates further allocs for higher order memory.
v1: Reduce dependence on vmas deep in hugetlb allocation code
I hope to use these 3 patches to start a discussion on eventually removing the need to pass a struct vma pointer when taking a folio from the global pool (i.e. dequeue_hugetlb_folio_vma()).
v2: vmscan: add a vmscan event for reclaim_pages
The reclaim_folio_list uses a dummy reclaim_stat and is not being used. To know the memory stat, add a new trace event. This is useful how how many pages are not reclaimed or why.
v1: mm/page_alloc: Let GFP_ATOMIC order-0 allocs access highatomic reserves
Under memory pressure it’s possible for GFP_ATOMIC order-0 allocations to fail even though free pages are available in the highatomic reserves. GFP_ATOMIC allocations cannot trigger unreserve_highatomic_pageblock() since it’s only run from reclaim.
v2: introduce PIDFD_SELF* sentinels
This series introduces sentinels for this purposes which can be passed as the pidfd in this instance rather than having to establish a dummy fd for this purpose.
v1: mm: make pcp decay work with onhz
when a cpu stops tick, quiet_vmstat may flush all the per cpu statistics counter.
v1: mm: don’t install PMD mappings when THPs are disabled by the hw/process/vma
During testing, it was found that we can get PMD mappings in processes where THP (and more precisely, PMD mappings) are supposed to be disabled. While it works as expected for anon+shmem, the pagecache is the problematic bit.
v1: mm: Split BLK_FEAT_SYNCHRONOUS and SWP_SYNCHRONOUS_IO into separate read and write flags
This patch splits the BLK_FEAT_SYNCHRONOUS feature flag into two separate flags: BLK_FEAT_READ_SYNCHRONOUS and BLK_FEAT_WRITE_SYNCHRONOUS. Similarly, the SWP_SYNCHRONOUS_IO flag is split into SWP_READ_SYNCHRONOUS_IO and SWP_WRITE_SYNCHRONOUS_IO.
v1: mm/hugetlb: Concentrated releases memory when cmdline specifies node requests for large pages
This patch supports the release of huge page optimizations aggregates to higher order memory.
v3: tmpfs: don’t enable large folios if not supported
The tmpfs could support large folio, but there is some configurable options(mount options and runtime deny/force) to enable/disable large folio allocation, so there is a performance issue when perform write without large folio, the issue is similar to commit 4e527d5841e2 (“iomap: fault in smaller chunks for non-large folio mappings”).
v1: RFC/RFT: Converge common flows for cpu assisted shadow stack
x86, arm64 and risc-v support cpu assisted shadow stack. x86 was first one and most of the shadow stack related code is in x86 arch directory. arm64 guarded control stack (GCS) patches from Mark Brown are in -next.
v3: tip/perf/core: uprobes,mm: speculative lockless VMA-to-uprobe lookup
Implement speculative (lockless) resolution of VMA to inode to uprobe, bypassing the need to take mmap_lock for reads, if possible.
v6: tmpfs: Add case-insensitive support for tmpfs
This patchset adds support for case-insensitive file names lookups in tmpfs.
v1: introduce PIDFD_SELF* sentinels
This series introduces sentinels for this purposes which can be passed as the pidfd in this instance rather than having to establish a dummy fd for this purpose.
v4: vdso: Use only headers from the vdso/ namespace
The recent implementation of getrandom in the generic vdso library, includes headers from outside of the vdso/ namespace.
v6: Rust support for mm_struct, vm_area_struct, and mmap for miscdevice
The first patch introduces mm_struct and vm_area_struct abstractions, and the second patch uses them for miscdevice.
v1: mm: add pcp high_min high_max to proc zoneinfo
we output the pcp high_min/max to the zoneinfo
v3: Support large folios for tmpfs
This RFC patch series attempts to support large folios for tmpfs. Add a new huge option ‘write_size’ to support large folio allocation based on the write size for tmpfs write and fallocate paths.
v3: KVM: Restricted mapping of guest_memfd at the host and arm64 support
This series adds restricted mmap() support to guest_memfd, as well as support for guest_memfd on arm64. It is based on Linux
v3: mm/vmscan: stop the loop if enough pages have been page_out
As shown above, the test_memcg used about 100M swap, but 600M+ swap memory was used, which means that 500M may be wasted because other memcgs can not use these swap memory. To fix this issue, it’s better to stop looping if THP has been splited and nr_pageout is greater than nr_to_reclaim.
v1: -v2: tdx, memory hotplug: Check whole hot-adding memory range for TDX
On systems with TDX (Trust Domain eXtensions) enabled, memory ranges hot-added must be checked for compatibility by TDX. T
v13: EDAC: Scrub: introduce generic EDAC RAS control feature driver + CXL/ACPI-RAS2 drivers
Previously known as “ras: scrub: introduce subsystem + CXL/ACPI-RAS2 drivers”.
v1: mm: throttle and inc min_seq when both page types reach MIN_NR_GENS
This commit solve the issue by have the reclaimer be throttled and increase min_seq if both page types reach MIN_NR_GENS, which may introduce a livelock of switching type with holding lruvec->lru_lock.
v1: kaslr: rename physmem_end and PHYSMEM_END to direct_map_physmem_end
For clarity. It’s increasingly hard to reason about the code, when KASLR is moving around the boundaries.
答复: v1: Introduce panic function when slub leaks
For recording allocation information, I think CONFIG_MEM_ALLOC_PROFILING [1] [2] may be used to track allocation sites that contribute to memory leaks, instead of making the kernel panic or printing WARNING?
文件系统
v2: ovl: specify layers via file descriptors
Currently overlayfs only allows specifying layers through path names. This is inconvenient for users such as systemd that want to assemble an overlayfs mount purely based on file descriptors.
v1: fsnotify, lsm: Separate fsnotify_open_perm() and security_file_open()
Currently, fsnotify_open_perm() is called from security_file_open(). This is not right for CONFIG_SECURITY=n and CONFIG_FSNOTIFY=y case, as security_file_open() in this combination will be a no-op and not call fsnotify_open_perm(). Fix this by calling fsnotify_open_perm() directly.
v7: Hardware wrapped key support for QCom ICE and UFS core
This series adds support for wrapped keys to the block layer, fscrypt and then build upwards from there by implementing relevant callbacks in QCom SCM driver, then the ICE driver and finally in UFS core and QCom layer.
v20: Script execution control (was O_MAYEXEC)
The ultimate goal of this patch series is to be able to ensure that direct file execution (e.g. ./script.sh) and indirect file execution (e.g. sh script.sh) lead to the same result, especially from a security point of view.
v2: introduce PIDFD_SELF* sentinels
This series introduces sentinels for this purposes which can be passed as the pidfd in this instance rather than having to establish a dummy fd for this purpose.
v4: API for exporting connectable file handles to userspace
These patches bring the NFS connectable file handles feature to userspace servers.
v11: pidfd: add ioctl to retrieve pid info
A common pattern when using pid fds is having to get information about the process, which currently requires /proc being mounted, resolving the fd to a pid, and then do manual string parsing of /proc/N/status and friends.
v1: coredump: add cond_resched() to dump_user_range
Add a cond_resched() in dump_user_range() to avoid that softlockup.
v3: extensible syscalls: CHECK_FIELDS to allow for easier feature detection
This series adds CHECK_FIELDS support for the following extensible struct syscalls, as they are quite likely to grow flags in the near future.
v1: fs: grab current_time() in setattr_copy_mgtime() when ATTR_CTIME is unset
With support of delegated timestamps, nfsd can issue a setattr that sets the atime, but not the ctime. Ensure that when the ctime isn’t set that “now” is set to the current coarse-grained time.
v10: pidfd: add ioctl to retrieve pid info
A common pattern when using pid fds is having to get information about the process, which currently requires /proc being mounted, resolving the fd to a pid, and then do manual string parsing of /proc/N/status and friends.
v1: fcntl: make F_DUPFD_QUERY associative
Currently when passing a closed file descriptor to fcntl(fd, F_DUPFD_QUERY, fd_dup) the order matters
网络设备
v1: net: phy: mdio-bcm-unimac: Add BCM6846 variant
The BCM6846 has a few extra registers and cannot reuse the compatible string from other variants of the Unimac MDIO block: we need to be able to tell them apart.
v4: net: octeon_ep: Add SKB allocation failures handling in __octep_oq_process_rx()
In this series, we introduce two helpers to make the fix more readable and avoid code duplication. Also we handle build_skb() errors inside __octep_oq_process_rx() to avoid NULL pointer dereference.
v2: net-next: net: airoha: Implement BQL support
Introduce BQL support in the airoha_eth driver reporting to the kernel info about tx hw DMA queues in order to avoid bufferbloat and keep the latency small.
v1: net-next: eth: fbnic: Add devlink dev flash support
fbnic supports updating firmware using a PLDM image signed and distributed by Meta. PLDM images are written into stored flash. Flashing does not interrupt operation.
v4: net-next: udp: Add 4-tuple hash for connected sockets
This patchset introduces 4-tuple hash for connected udp sockets, to make connected udp lookup faster.
v1: net-next: Threads support in proc connector
Recently we committed a fix to allow processes to receive notifications for non-zero exits via the process connector module. Commit is a4c9a56e6a2c.
v6: net-next: eth: fbnic: Add hardware monitoring support via HWMON interface
This patch adds support for hardware monitoring to the fbnic driver, allowing for temperature and voltage sensor data to be exposed to userspace via the HWMON interface.
v1: net-next: rtnetlink: Use rtnl_register_many().
This series converts all rtnl_register() and rtnl_register_module() to rtnl_register_many() and finally removes them.
v1: net: mtk_eth_soc: use ethtool_puts
Allows simplifying get_strings and avoids manual pointer manipulation.
v1: net: mvneta: use ethtool_puts
Allows simplifying get_strings and avoids manual pointer manipulation.
v1: net-next: lib: packing: introduce and use (un)pack_fields
This series improves the packing library with a new API for packing or unpacking a large number of fields at once with minimal code footprint.
v1: net-next: ethtool: rss: track rss ctx busy from core
This series prevents deletion of rss contexts that are in use by ntuple filters from ethtool core.
v1: RESEND: net: sfp: change quirks for Alcatel Lucent G-010S-P
Seems Alcatel Lucent G-010S-P also have the same problem that it uses TX_FAULT pin for SOC uart. So apply sfp_fixup_ignore_tx_fault to it.
v1: net: genetlink: hold RCU in genlmsg_mcast()
While running net selftests with CONFIG_PROVE_RCU_LIST=y I saw one lockdep splat .
v1: net: macsec: don’t increment counters for an unrelated SA
On RX, we shouldn’t be incrementing the stats for an arbitrary SA in case the actual SA hasn’t been set up.
v3: can: m_can: Add am62 wakeup support
To support mcu_mcan0 and mcu_mcan1 wakeup for the mentioned SoCs, the series introduces a notion of wake-on-lan for m_can.
v3: net-next: r8169: use the extended tally counter available from RTL8125
The new hw stat fields partially duplicate existing fields, but with a larger field size now. Use these new fields to reduce the risk of overflows. In addition add support for relevant new fields which are available from RTL8125 only.
v2: net: udp: Compute L4 checksum as usual when not segmenting the skb
In the case when we are not taking the GSO path, but it has been requested, the software checksum fallback in skb_segment doesn’t get a chance to compute the full checksum, if the egress device can’t do it.
v2: binder: report txn errors via generic netlink (genl)
It’s a known issue that neither the frozen processes nor the system administration process of the OS can correctly deal with failed binder transactions.
v2: net-next: net: phylink: allow half-duplex modes with RATE_MATCH_PAUSE
PHYs performing rate-matching using MAC-side flow-control always perform duplex-matching as well in case they are supporting half-duplex modes at all.
v1: net: enetc: add missing static descriptor and inline keyword
Fix the build warnings when CONFIG_FSL_ENETC_MDIO is not enabled. The detailed warnings are shown as follows.
v1: net-next: net: bcmasp: enable SW timestamping
Add skb_tx_timestamp() call and enable support for SW timestamping.
v1: of: net: Add option for random mac address
Embedded devices that don’t have a fixed mac address may want to use this property. For example dsa switch ports may use this property in order avoid setting this from user space.
v2: User random address if dt sets so
v2: net: atlantic: support reading SFP module info
Add support for reading SFP module info and digital diagnostic monitoring data if supported by the module.
v3: net-next: tcp: add skb->sk to more control packets
Currently, TCP can set skb->sk for a variety of transmit packets.
v1: net-next: net: ethernet: ti: am65-cpsw: Enable USXGMII mode for J7200 CPSW5G
TI’s J7200 SoC supports USXGMII mode. Add USXGMII mode to the extra_modes member of the J7200 SoC data.
安全增强
v2: x86/stackprotector: Work around strict Clang TLS symbol requirements
GCC and Clang both implement stack protector support based on Thread Local Storage (TLS) variables, and this is used in the kernel to implement per-task stack cookies, by copying a task’s stack cookie into a per-CPU variable every time it is scheduled in.
异步 IO
v7: io_uring: support sqe group and leased group kbuf
The 1st 3 patches are cleanup, and prepare for adding sqe group. The 4th patch supports generic sqe group which is like link chain, but allows each sqe in group to be issued in parallel and the group shares same IO_LINK & IO_DRAIN boundary, so N:M dependency can be supported with sqe group & io link together. The 5th & 6th patches supports to lease other subsystem’s kbuf to io_uring for use in sqe group wide. The 7th patch supports ublk zero copy based on io_uring sqe group & leased kbuf.
This patchset adds support for zero copy rx into userspace pages using io_uring, eliminating a kernel to user copy.
v1: io_uring/rw: allow non-blocking attempts for !FMODE_NOWAIT if pollable
The checking for whether or not io_uring can do a non-blocking read or write attempt is gated on FMODE_NOWAIT.
Rust For Linux
v2: rust: transmute: Add implementation for FromBytes trait
Add implementation and documentation for FromBytes trait.
v1: 6.1.y: rust: macros: provide correct provenance when constructing THIS_MODULE
commit a5a3c952e82c1ada12bf8c55b73af26f1a454bd2 upstream.
v1: Character device abstractions for Rust
Writing character devices is a common way to start writing kernel code, especially because of the book “Linux Device Drivers”, which is still one of the best resources to learn about Linux kernel programming.
v5: rust: query the compiler for dylib path
Rust proc-macro crates are loaded by the compiler at compile-time, so are always dynamic libraries; on macOS, these artifacts get a .dylib extension rather than .so.
v1: rust: improve grammar in commentary
Commit e26fa546042a (“rust: kbuild: auto generate helper exports”) added an errant “the” where one was not needed; remove it.
This RFC implements a basic LED abstraction to show how this would work with rust.
v4: Implement DWARF modversions
Here’s v4 of the DWARF modversions series. The main motivation is modversions support for Rust, which is important for distributions like Android that are about to ship Rust kernel modules. Per Luis’ request [1], v2 dropped the Rust specific bits from the series and instead added the feature as an option for the entire kernel.
v1: scripts: add uapi
crate to generate_rust_analyzer.py
This patch updates the
generate_rust_analyzer.py
script to include theuapi
crate.
v4: rust: optimize error type to use nonzero
This reduces the space used by the
Result
type, as theNonZero*
type enables the compiler to apply more efficient memory layout.
v2: net-next: rust: Add IO polling
Add Rust version of read_poll_timeout (include/linux/iopoll.h), which polls periodically until a condition is met or a timeout is reached.
BPF
v2: net-next: net-timestamp: bpf extension to equip applications transparently
A few weeks ago, I planned to extend SO_TIMESTMAMPING feature by using tracepoint to print information (say, tstamp) so that we can transparently equip applications with this feature and require no modification in user side.
v4: -next: perf stat: Support inherit events for bperf
Here is the 4th version of the series to support inherit events for bperf. This version adds an
inherit
flag to bperf to control inherit behavior.
v8: iwl-next: igb: Add support for AF_XDP zero-copy
This is version v8 of the AF_XDP zero-copy support for igb. Since Sriram’s duties changed I am sending this instead. Additionally, I’ve tested this on real hardware, Intel i210 .
v5: bpf-next: bpf: Add kmem_cache iterator and kfunc
I’m proposing a new iterator and a kfunc for the slab memory allocator to get information of each kmem_cache like in /proc/slabinfo or /sys/kernel/slab in more flexible way.
v4: bpf-next: bpf: Support private stack for bpf progs
The main motivation for private stack comes from nested scheduler in sched-ext from Tejun.
v1: net-next: net/smc: Introduce a hook to modify syn_smc at runtime
The introduction of IPPROTO_SMC enables eBPF programs to determine whether to use SMC based on the context of socket creation, such as network namespaces, PID and comm name, etc.
v4: tracing: Allow system call tracepoints to handle page faults
This series does the initial wire-up allowing tracers to handle page faults, but leaves out the actual handling of said page faults as future work.
v1: bpf: use kvzmalloc to allocate BPF verifier environment
The kzmalloc call in bpf_check can fail when memory is very fragmented, which in turn can lead to an OOM kill.
周边技术动态
Qemu
v1: riscv: AIA userspace irqchip_split support
This series adds AIA irqchip_split support, effective when using AIA with aia=aplic-imsic and -accel kvm,kernel-irqchip=split.
v16: riscv support for control flow integrity extensions
v16 for riscv zicfilp and zicfiss extensions support in qemu.
v6: qemu: target/riscv: Add Zilsd and Zclsd extension support
This patch adds support for the Zilsd and Zclsd extension, which is documented at https://github.com/riscv/riscv-zilsd/releases/tag/v0.10
v1: target/riscv: Support SXL32 on RV64 CPU
We have implemented UXL32 on QEMU already. It enables us to run RV32 applications on RV64 Linux on QEMU.
v5: tcg/riscv: Add support for vector
This patch set introduces support for the RISC-V vector extension in TCG backend for RISC-V targets.
U-Boot
v5: Add Starfive JH7110 Cadence USB driver
Add Starfive JH7110 Cadence USB driver and related PHY driver. So the codes can be used in visionfive2 and star64 7110 board.
猜你喜欢:
- 我要投稿:发表原创技术文章,收获福利、挚友与行业影响力
- 泰晓资讯:汇总一周技术趣闻与文章,查看「Linux 资讯」
- 知识星球:独家 Linux 实战经验与技巧,订阅「Linux知识星球」
- 视频频道:泰晓学院,B 站,发布各类 Linux 视频课
- 开源小店:欢迎光临泰晓科技自营店,购物支持泰晓原创
- 技术交流:Linux 用户技术交流微信群,联系微信号:tinylab
支付宝打赏 ¥9.68元 | 微信打赏 ¥9.68元 | |
请作者喝杯咖啡吧 |
Read Album:
- TinyBPT 和面向 buildroot 的二进制包管理服务(3):服务端说明
- TinyBPT 和面向 buildroot 的二进制包管理服务(2):客户端说明
- TinyBPT 和面向 buildroot 的二进制包管理服务(1):设计简介与框架
- RISC-V Linux 内核及周边技术动态第 118 期
- RISC-V Linux 内核及周边技术动态第 117 期