[置顶] 泰晓 RISC-V 实验箱,配套 30+ 讲嵌入式 Linux 系统开发公开课
RISC-V Linux 内核及周边技术动态第 101 期
时间:20240721
编辑:晓瑜
仓库:RISC-V Linux 内核技术调研活动
赞助:PLCT Lab, ISCAS
内核动态
RISC-V 架构支持
GIT PULL: RISC-V Patches for the 6.11 Merge Window, Part 1
Got the fixed stacked up locally until things get sorted out. Aside from that everything looks clean on my end.
v1: cache: StarFive: Require a 64-bit system
This has a bunch of {read,write}q() calls, so it won’t work on 32-bit systems.
v3: riscv/purgatory: align riscv_kernel_entry
This has been tested on a JH7110 SoC with oreboot and its SBI delegating unaligned access exceptions and the kernel configured to handle them.
v5: riscv: Add support for xtheadvector
All of the vector routines have been modified to support this alternative vector version based upon whether xtheadvector was determined to be supported at boot.
v3: riscv: Separate vendor extensions from standard extensions
All extensions, both standard and vendor, live in one struct “riscv_isa_ext”.
v1: riscv: spacemit: add pinctrl support to K1 SoC
This series adds pinctrl support to SpacemiT’s K1 SoC which has feature compatible with pinctrl-single driver, then later add pinctrl property for Bananapi-F3 uart device.
v5: mmc: sdhci-of-dwcmshc: Add Sophgo SG2042 support
The reason for merging the two parts into one patchset is mainly to facilitate review, especially to facilitate viewing why we need to improve the framework and what benefits it will bring to us.
v1: RISC-V: Implement kgdb_roundup_cpus() to enable IPI KGDB Roundup
A custom one allows to debug CPUs that are stuck with interrupts disabled.
v1: Add perf support to collect KVM guest statistics from host side
Add basic guest support to RISC-V perf, enabling it to distinguish whether PMU interrupts occur in the host or the guest, and then collect some basic guest information from the host side (guest os callchain is not supported for now).
v2: RISC-V: Enable IPI CPU Backtrace
Add arch_trigger_cpumask_backtrace() which is a generic infrastructure for sampling other CPUs’ backtrace using IPI.
v1: riscv/mm/fault: add show_pte() before die()
When the kernel displays “Unable to handle kernel paging request at virtual address”, we would like to confirm the status of the virtual address in the page table. So add show_pte() before die().
v3: riscv: Per-thread envcfg CSR support
This series (or equivalent) is a prerequisite for both user-mode pointer masking and CFI support, as both of those are per-thread features and are controlled by fields in the envcfg CSR.
v1: mm: THP-agnostic refactor on huge mappings
This is an RFC series, so not yet for merging.
v5: RISC-V: Detect and report speed of unaligned vector accesses
Adds support for detecting and reporting the speed of unaligned vector accesses on RISC-V CPUs.
v1: riscv: Allow to build only with LLVM >= 17.0.0
This is a known issue [1] so let’s upgrade the minimal requirement for LLVM to the version 17.0.0, which is the first version to contain the fix.
v1: RISC-V: hwprobe: sort EXT_KEY()s in hwprobe_isa_ext0() alphabetically
Currently the entries appear to be in a random order (although according to Palmer he has tried to sort them by key value) which makes it harder to find entries in a growing list, and more likely to have conflicts as all patches are adding to the end of the list. Sort them alphabetically instead.
v2: riscv: add tracepoints for page fault
Introduce page_fault_user and page_fault_kernel for riscv page fault. Help to get more detail information when page fault happen.
v3: Zacas/Zabha support and qspinlocks
This implements [cmp]xchgXX() macros using Zacas and Zabha extensions and finally uses those newly introduced macros to add support for qspinlocks: note that this implementation of qspinlocks satisfies the forward progress guarantee.
v2: RISC-V: Enable the IPI before workqueue_online_cpu()
Sometimes the hotplug cpu stalls at the arch_cpu_idle() for a while after workqueue_online_cpu().
v1: mm: introduce numa_memblks
Following the discussion about handling of CXL fixed memory windows on arm64 [1] I decided to bite the bullet and move numa_memblks from x86 to the generic code so they will be available on arm64/riscv and maybe on loongarch sometime later.
v4: riscv: sophgo: add thermal sensor support for cv180x/sg200x SoCs
This series implements driver for Sophgo cv180x/sg200x on-chip thermal sensor and adds thermal zones for CV1800B SoCs.
v2: riscv: sophgo: add mailbox support for cv18x SoCs
Add mailbox support for Sophgo cv18x SoCs, and test on both cv1800b SoC for milkv-duo and cv1812h SoC for milkv-duo256m
v1: net-next: Add the dwmac driver support for T-HEAD TH1520 SoC.
Marking this as an RFC since it has been almost a year since the previous series and Jisheng has handed it off to me.
LoongArch 架构支持
v3: LoongArch: CPU parallel bring up
This series implemented CPU parallel bring up for LoongArch.
v1: LoongArch: KVM: Implement function kvm_arch_para_features
Function kvm_arch_para_features() is to detect supported para features, it can be used by device driver to detect and enable para features, such as extioi irqchip driver to detect KVM_FEATURE_VIRT_EXTIOI.
v5: LoongArch: Add AVEC irqchip support
Introduce the advanced extended interrupt controllers.
ARM 架构支持
v3: phy: mvebu-cp110-utmi: add support for armada-380 utmi phys
Add support for Armada 380 to cp110 utmi phy driver, and enable it for armada-388-clearfog boards.
v1: perf scripts python arm-cs-trace-disasm.py: Skip disasm if address continuity is broken
To generate the instruction tracing, script uses 2 contiguous packets address range.
As more PE format kernel images are introduced, it post challenge to kexec to cope with the new format.
v3: Add support for Firefly Core-PX30-JD4 SoM & baseboard
This adds support for the PX30-based Core-PX30-JD4 system-on-module from Firefly and includes support for the SoM in combination with the Firefly MB-JD4-PX30 baseboard.
v6: firmware: support i.MX95 SCMI BBM/MISC Extenstion
This patchset is to support the two protocols and users that use the protocols.
This change refactors struct perf_tool to have an init function that provides the default implementation. The special use of NULL and perf_tools__fill_defaults are removed.
v6: io-pgtable-arm + drm/msm: Extend iova fault debugging
This series extends io-pgtable-arm with a method to retrieve the page table entries traversed in the process of address translation, and then beefs up drm/msm gpu devcore dump to include this (and additional info) in the devcore dump.
v2: rtc: stm32: add pinctrl interface to handle RTC outs
This series adds a pinctrl/pinmux interface to control STM32 RTC outputs.
v1: dmaengine: stm32-dma3: Set lli_size after allocation
This requirement is not met in stm32_dma3_chan_desc_alloc(), since “lli_size” starts at “0”, so “lli” index “0” will not be considered valid during the initialization for loop.
X86 架构支持
v18: TPEBS counting mode support
v1: platform/x86:dell-laptop: Add knobs to change battery charge settings
The Dell BIOS allows you to set custom charging modes, which is useful in particular for extending battery life. This adds support for tweaking those various settings from Linux via sysfs knobs.
GIT PULL: KVM changes for 6.11 merge window
The following changes since commit 256abd8e550ce977b728be79a74e1729438b4948:
v4: HP: wmi: added support for 4 zone keyboard rgb
This driver now supports brightness control and an initial version of mode control (all brightness values to 0 means off and otherwise its on).
v4: TDX MMU prep series part 1
This is v4 of the TDX MMU prep series, split out of the giant 130 patch TDX base enabling series [0].
v1: x86/amd_nb: Add new PCI IDs for AMD family 0x1a model 60h
Add the new PCI Device IDs to the root IDs and misc ids list to support new generation of AMD 1Ah family 60h Models of processors.
v1: tools/x86/kcpuid: Complete the CPUID database
This patch series enhances the Linux Kernel’s kcpuid tool with full cpuid leaves bitfields coverage through a CSV file generated from
v2: platform/x86: ideapad-laptop: synchronize VPC commands
This series introduces a notification chain to receive YMC or other events, moves the EC triggering into ideapad-laptop, and then introduces a mutex to eliminate the problem.
git pull: drm next for 6.11-rc1
This is the main drm next pull for 6.11. It has one minor conflict when I test merged it with your tree.
v1: Add support for Congatec CGEB BIOS interface
The following series adds support for the Congatec CGEB interface found on some Congatec x86 boards.
This is the start of the stable review cycle for the 4.19.318 release.
v1: Do not clear BSS region in x86 stub
Clearing the BSS region may cause the UEFI firmware to malfunction during boot.
GIT PULL: perf-tools for v6.11
Please consider pulling the following changes in perf tools for v6.11.
GIT PULL: ftrace: Rewrite of function graph to allow multiple users
Up until now, the function graph tracer could only have a single user attached to it. If another user tried to attach to the function graph tracer while one was already attached, it would fail.
v2: PCI: Align small (<4k) BARs
This series sets the default minimum resource alignment to 4k for memory BARs.
v2: hwmon: add GPD devices sensor driver
Sensors driver for GPD Handhelds that expose fan reading and control via hwmon sysfs.
GIT PULL: Performance events changes for v6.11
GIT PULL: Networking for v6.11
GIT PULL: platform-drivers-x86 for v6.11-1
GIT PULL: x86/sev for v6.11-rc1
进程调度
v1: (repost): sched/core: defer printk() while rq lock is held
syzbot is reporting circular locking dependency inside __bpf_prog_run() when trace_sched_switch() hook is called from __schedule(), for fault injection calls printk() despite rq lock is already held.
v1: sched:add panic to remind that wake_q_node should be WAKE_Q_TAIL when emtpy
Here is a kernel exception ,wake_q_node is NULL.
[PATCH-RT sched v4 0/2] Optimize the RT group scheduling
Fix compilation warnings in debug.c
v1: sched/fair: Sync se’s load_avg with cfs_rq in reweight_entity
In reweight_entity(), if !se->on_rq (e.g. when we are reweighting a sleeping task), we should sync the load_avg of se to cfs_rq before calling dequeue_load_avg(). Otherwise, the load_avg of this se can be inaccurate.
[PATCH-RT sched v3 0/2] Optimize the RT group scheduling
Patch 3 fixed the issue with handling tasks with prio set to 0 during the execution of blktests.
[PATCH-RT sched v3 0/2] Optimize the RT group scheduling
Patch 3 fixed the issue with handling tasks with prio set to 0 during the execution of blktests.
GIT PULL: sched/urgent for v6.10
内存管理
v1: HitShield:Something new eviction process for MGLRU
This hitshield technique was devised based on the observation that MGLRU does not consider the state of the folio when performing eviction.
v1: generic/736: don’t run it on tmpfs
We use offset_readdir for tmpfs, and every we call rename, the offset for the parent dir will increase by 1. So for tmpfs we will always fail since the infinite readdir.
v1: generic/732: don’t run it on tmpfs
Like what 4fd042e0465c(“generic/732: don’t run it on NFS”) say, the same options for tmpfs won’t share the same backend. Skip it for tmpfs.
v1: slab: Introduce kmalloc_obj() and family
Introduce type-aware kmalloc-family helpers to replace the common idioms for single, array, and flexible object allocations:
v1: mm-unstable: mm/hugetlb_vmemmap: don’t synchronize_rcu() without HVO
hugetlb_vmemmap_optimize_folio() and hugetlb_vmemmap_restore_folio() are wrappers meant to be called regardless of whether HVO is enabled.
v4: vmstat: Kernel stack usage histogram
As part of the dynamic kernel stack project, we need to know the amount of data that can be saved by reducing the default kernel stack size [1].
v3: binfmt_elf, coredump: Log the reason of the failed core dumps
A powerful way to diagnose crashes is to analyze the core dump produced upon the failure. Missing or malformed core dump files hinder these investigations.
v1: iomap: zero dirty folios over unwritten mappings on zero range
This is a stab at fixing the iomap zero range problem where it doesn’t correctly handle the case of an unwritten mapping with dirty pagecache.
v1: Align kvrealloc() with krealloc()
Besides the obvious (and desired) difference between krealloc() and kvrealloc(), there is some inconsistency in their function signatures and behavior
v9: EDAC: Scrub: Introduce generic EDAC RAS control feature driver + CXL/ACPI-RAS2 drivers
Previously known as “ras: scrub: introduce subsystem + CXL/ACPI-RAS2 drivers”.
v2: mTHP allocation stats for file-backed memory
With the mTHP shmem stat names cleaned up [2], we can now introduce real “file_” stats for file-backed memory.
v1: PATCHv2: mm: introduce reclaim throttle in MGLRU
This commit would like to have direct_reclaim be throttled by judging the numbers of isolated and inactive folios.
v2: mm/hwpoison: reset hwpoison filter parameters in pfn_inject_exit()
When hwpoison_inject module is removed, hwpoison_filter_* parameters should be reset. Otherwise these parameters will have non-default values at next insmod time.
I’ve created some useful GDB commands when I debug some memory issues.
v1: mm, memcg: cg2 memory{.swap,}.peak write handlers
This is a rebase of a patch I sent a few months ago, on which I received two acks, but the thread petered out
v6: fs: multigrain timestamp redux
It would be nice to have acks or reviews from maintainers for ext4 and tmpfs.
v1: mm: introduce reclaim throttle in MGLRU
Being like legacy LRU management, direct reclaim threads could isolate over-sized folios and then be rescheduled, which could lead to unwanted generation update as well as the thrashing things like before.
文件系统
v1: fanotify: don’t skip extra event info if no info_mode is set
This isn’t necessary as the event length is encoded in the metadata, and if the user doesn’t want to consume the information they don’t have to.
v1: cachefiles: Set the max subreq size for cache writes to MAX_RW_COUNT
Set the maximum size of a subrequest that writes to cachefiles to be MAX_RW_COUNT so that we don’t overrun the maximum write we can make to the backing filesystem.
v4: vfs: correct the comments of vfs_*() helpers
v1: vfs: handle __wait_on_freeing_inode() and evict() race
Lockless hash lookup can find and lock the inode after it gets the I_FREEING flag set, at which point it blocks waiting for teardown in evict() to finish.
v5: fs/file.c: optimize the critical section of file_lock in
pts/blogbench-1.1.0 is a benchmark designed to replicate the load of a real-world busy file server by multiple threads of random reads, writes, and rewrites.
Document RWF_ATOMIC flag for pwritev2(). RWF_ATOMIC is used for enabling torn-write protection. We use RWF_ATOMIC as this is legacy name for similar feature proposed in the past.
GIT PULL: xfs: new code for 6.11
GIT PULL: sysctl changes for v6.11-rc1
v1: fs: buffer: set the expression type to unsigned long in folio_create_buffers()
Shift without specifying the type casts the expression to int, which is then passed as an unsigned long argument. It is necessary to use 1UL instead.
GIT PULL: zonefs changes for 6.11-rc1
This is the tenth version of the series that enables block size > page size (Large Block Size) in XFS.
答复: v1: exfat: check disk status during buffer write
We found that when writing a large file through buffer write, if the disk is inaccessible, exFAT does not return an error normally, which leads to the writing process not stopping properly. To easily reproduce this issue, you can follow the steps below:
GIT PULL: bcachefs changes for 6.11
This splits out the accounting of dirty sectors and stripe sectors in alloc keys; this lets us see stripe buckets that still have unstriped data in them.
v1: blk: optimization for classic polling
This removes the dependency on interrupts to wake up task.
网络设备
GIT PULL: Networking for v6.11-rc0
Small PR, mainly to unbreak the s390 build. We delayed it a little bit to try to catch a last-minute fix, but it will have to wait a bit more.
v2: bpf-next: Add BPF LSM return value range check, BPF part
LSM BPF prog may make kernel panic when returning an unexpected value, such as returning positive value on hook file_alloc_security.
v1: Add Firmware Upload support for beagleplay cc1352
Adds support for beagleplay cc1352 co-processor firmware upgrade using kernel Firmware Upload API. Uses ROM based bootloader present in cc13x2x7 and cc26x2x7 platforms for flashing over UART.
v2: ethtool:: add json support for base command
Most subcommands already implement json support for their output. The base command (without supplying any subcommand) still lacks this option. This patch implments the needed changes to get json output, which is printed via “ethtool –json [iface]”
v1: -next: Add BPF LSM return value range check, BPF part
LSM BPF prog may make kernel panic when returning an unexpected value, such as returning positive value on hook file_alloc_security.
v2: iwl-next: i40e: Add support for fw health report
Add support for reporting fw status via the devlink health report.
[RFT PATCH net] net: phy: aquantia: only poll GLOBAL_CFG registers on aqr113c and aqr115c
Commit 708405f3e56e (“net: phy: aquantia: wait for the GLOBAL_CFG to start returning real values”) introduced a workaround for an issue observed on aqr115c.
v1: net: l2tp: make session IDR and tunnel session list coherent
Modify l2tp_session_register and l2tp_session_unhash so that the session IDR and tunnel session lists remain coherent.
v3: net: igb: cope with large MAX_SKB_FRAGS.
Sabrina reports that the igb driver does not cope well with large MAX_SKB_FRAG values: setting MAX_SKB_FRAG to 45 causes payload corruption on TX.
v2: Add support for Amlogic HCI UART
Add support for Amlogic HCI UART, including dt-binding, and Amlogic Bluetooth driver.
v7: Landlock: Abstract Unix Socket Scoping Support
This patch series adds scoping mechanism for abstract unix sockets.
v1: net-next: openvswitch: switch to per-action label counting in conntrack
The difference is that nf_connlabels_get() is called unconditionally when creating an ct action in ovs_ct_copy_action().
linux-next: duplicate patch in the powerpc tree
The following commit is also in the bpf tree as a different commit
v1: net: uapi: add TCPI_OPT_NODELAY to tcp_info
Nagle’s algorithm is one of the classic causes of poor performance for certain classes of userspace software over TCP, but is currently not reported in userspace tools such as ss(1) from iproute2 as it is only observable via getsockopt.
v1: net: dsa: microchip: ksz8795: add Wake on LAN support
Add WoL support for KSZ8795 family of switches. This code was tested with a KSZ8794 chip.
v2: net: eth: fbnic: don’t build the driver when skb has more than 21 frags
Similarly to commit 0e03c643dc93 (“eth: fbnic: fix s390 build.”), the driver won’t build if skb_shared_info has more than 25 frags assuming a 64B cache line and 21 frags assuming a 128B cache line.
v1: net: eth: fbnic: don’t build the driver when skb has more than 25 frags
Similarly to commit 0e03c643dc93 (“eth: fbnic: fix s390 build.”), the driver won’t build if skb_shared_info has more than 25 frags.
v3: net: linearizing skb when downgrade gso_size
Linearizing skb when downgrade gso_size because it may trigger the BUG_ON when segment skb as described in [1].
v1: libnetlink: include endian.h for htobe64
fixes build against musl libc which is more strict about header namespaces.
v1: net: tcp: process the 3rd ACK with sk_socket for for TFO/MPTCP
The ‘Fixes’ commit recently changed the behaviour of TCP by skipping the processing of the 3rd ACK when a sk->sk_socket is set. The goal was to skip tcp_ack_snd_check() in tcp_rcv_state_process() not to send an unnecessary ACK in case of simultaneous connect(). Unfortunately, that had an impact on TFO and MPTCP.
v1: net: dsa: mv88e6xxx: Respect other ports when setting chip-wide MTU
DSA chips not supporting per-port jumbo frame size configurations use a chip-wide setting.
v2: net-next: Add support to PHYLINK for LAN743x/PCI11x1x chips
Divide the PHYLINK adaptation and SFP modifications into two separate patch series.
v3: iproute2-next: tc: f_flower: add support for matching on tunnel metadata
v1: net-next: virtio-net: support AF_XDP zero copy (tx)
v1: net-next: lan78xx: Refactor interrupt handling and redundant messages
The MAC and PHY interrupt are not synchronized.
安全增强
v2: loongarch: Support RANDOMIZE_KSTACK_OFFSET
Add support of kernel stack offset randomization while handling syscall, the offset is defaultly limited by KSTACK_OFFSET_MAX().
v1: dmaengine: ti: omap-dma: Initialize sglen after allocation
With the new __counted_by annocation, the “sglen” struct member must be set before accessing the “sg” array.
v1: interconnect: icc-clk: Add missed num_nodes initialization
This initialization was done in other places where a new struct icc_onecell_data is allocated, but this case in icc_clk_register() was missed. Set “num_nodes” after allocation.
v1: leds: gpio: Set num_leds after allocation
With the new __counted_by annotation, the “num_leds” variable needs to valid for accesses to the “leds” array.
异步 IO
v6: io_uring/rsrc: coalescing multi-hugepage registered buffers
Registered buffers are stored and processed in the form of bvec array, each bvec element typically points to a PAGE_SIZE page but can also work with hugepages.
v1: io_uring: Check socket is valid in io_bind()/io_listen()
We need to check that sock_from_file(req->file) != NULL.
Rust For Linux
v1: rust: Support latest version of rust-anayzer
Sets the
sysroot
field in rust-project.json which is now needed in newer versions of rust-anaylzer instead of thesysroot_src
field.
v1: Introduce the Rust Safety Standard
unsafe
Rust code in the kernel is required to have safety documentation. This is to ensure the correctness ofunsafe
code and is thus very important.
v4: drm/panic: Add a QR code panic screen
This series adds a new panic screen, with the kmsg data embedded in a QR code. The main advantage of QR code, is that you can copy/paste the debug data to a bug report.
v1: Implement the smart pointer InPlaceInit
for Arc
For pinned and unpinned initialization of structs, a trait named
InPlaceInit
exists for uniform access.Arc
did not implementInPlaceInit
yet, although the functions already existed. The main reason for that, was that the trait itself returned aPin<Self>
. TheArc
implementation of the kernel is already implicitly pinned.
My first patch: Implement InPlaceInit for Arc
Lifted my arms up, placed my hands on my head, and tensed my non-existent abs.
BPF
v1: bpf-next: use network helpers, part 10
This set is part 10 of series “use network helpers” all BPF selftests wide.
v1: bpf-next: bpf: Retire the unsupported_ops usage in struct_ops
This series retires the unsupported_ops usage and depends on the null-ness check on the cfi_stubs instead.
v3: bpf-next: use network helpers, part 9
v1: bpf-next: bpf/bpf_lru_list: make bpf_percpu_lru_pop_free safe in NMI
This function is used by htab_percpu_lru_map_update_elem() which can be called from an NMI.
GIT PULL: ftrace: Rewrite of function graph to allow multiple users
Up until now, the function graph tracer could only have a single user attached to it.
v1: bpf-next: bpftool: add tcx subcommand in net
XDP prog has already realised with net attach/detach subcommand. As Qmonnet said [0], tcx prog may also can be added. So this patch set adds tcx subcommand in net attach/detach.
v1: bpf: Simplify character output in seq_print_delegate_opts()
Single characters should be put into a sequence. Thus use the corresponding function “seq_putc” for two selected calls.
This patchset aims to support implementing qdisc using bpf struct_ops. This version takes a step back and only implements the minimum support for bpf qdisc.
v1: bpf: Replace 8 seq_puts() calls by seq_putc() calls
Single line breaks should occasionally be put into a sequence. This issue was transformed by using the Coccinelle software.
v4: powerpc: Core ftrace rework, support for ftrace direct and bpf trampolines
This series reworks core ftrace support on powerpc to have the function profiling sequence moved out of line.
v1: perf/bpf: Don’t call bpf_overflow_handler() for tracing events
The regressing commit is new in 6.10. It assumed that anytime event->prog is set bpf_overflow_handler() should be invoked to execute the attached bpf program.
周边技术动态
Qemu
v6: target/riscv: Expose RV32 cpu to RV64 QEMU
This patch set aims to expose 32-bit RISC-V cpu to RV64 QEMU. Thus qemu-system-riscv64 can directly boot a RV32 Linux.
v2: target: riscv: Add Svvptc extension support
The Svvptc extension describes a uarch that does not cache invalid TLB entries: that’s the case for qemu so there is nothing particular to implement other than the introduction of this extension.
v5: Improve the performance of RISC-V vector unit-stride/whole register ld/st instructions
This version provides subroutine to iterate the load/store operations per page and replaces the original continuous load/store loop by the memcpy call.
This series implements basic functions of IOPMP specification v0.9.1 rapid-k model.
Buildroot
I am resending this email as Buildroot Automated Email told me that I was not subscribed to the mailing list, and therefore, could not send to it. I double-checked, and I am a part of the mailing list, but this email technically has two aliases so I added the other one. Let’s try this again. Sorry for the double message in case.
package/pkg-generic.mk: add variable to skip ccache dependency
As more and more packages are required to build the host ccache package and therefore they has to be filtered out for ccache dependency the list growed up.
package/gdb: add support for GDB 15.1
Therefore, we make the option BR2_GDB_VERSION_15 depend on both BR2_HOST_GCC_AT_LEAST_9 and BR2_TOOLCHAIN_GCC_AT_LEAST_9.
U-Boot
v3: 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.
v2: riscv: spacemit: bananapi_f3: add support for Banana Pi F3 board
This patch introduces fundamental support for the Banana Pi F3 board, encompassing UART, CPU, and PLIC support.
v2: Universal Payload initial series
Universal Payload (UPL) is an Industry Standard for firmware components.
猜你喜欢:
- 我要投稿:发表原创技术文章,收获福利、挚友与行业影响力
- 泰晓资讯:汇总一周技术趣闻与文章,查看「Linux 资讯」
- 知识星球:独家 Linux 实战经验与技巧,订阅「Linux知识星球」
- 视频频道:泰晓学院,B 站,发布各类 Linux 视频课
- 开源小店:欢迎光临泰晓科技自营店,购物支持泰晓原创
- 技术交流:Linux 用户技术交流微信群,联系微信号:tinylab
支付宝打赏 ¥9.68元 | 微信打赏 ¥9.68元 | |
请作者喝杯咖啡吧 |
Read Album:
- TinyBPT 和面向 buildroot 的二进制包管理服务(1):设计简介与框架
- RISC-V Linux 内核及周边技术动态第 118 期
- RISC-V Linux 内核及周边技术动态第 117 期
- 实时分析工具 rtla timerlat 介绍(二):延迟测试原理
- 实时分析工具 rtla timerlat 介绍(一):交叉编译及使用