[置顶] 泰晓 RISC-V 实验箱,配套 30+ 讲嵌入式 Linux 系统开发公开课
RISC-V Linux 内核及周边技术动态第 102 期
时间:20240721
编辑:晓瑜
仓库:RISC-V Linux 内核技术调研活动
赞助:PLCT Lab, ISCAS
内核动态
RISC-V 架构支持
GIT PULL: RISC-V Patches for the 6.11 Merge Window, Part 1
Here’s my resolution of the actual diff, we could delete the functions but with more incoming I figured it was best to avoid sticking extra diff in the merge:
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
xtheadvector is a custom extension that is based upon riscv vector version 0.7.1 [1]. 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
There is currently one vendor extension, xandespmu, but it is likely that more vendor extensions will be added to the kernel in the future.
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
When I tried to add a new soc(SG2042) to sdhci-of-dwcmshc, I found that the existing driver code could be optimized to facilitate expansion for the new soc.
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. And using an IPI is better than the generic one since it avoids the potential situation described in the generic kgdb_call_nmi_hook().
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. Please don’t be scared by the code changes: most of them are code movements only.
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(). When cpu stalls at the idle loop, the reschedule IPI is pending.
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.
I am 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. This feature will allow each core to have 256 independent interrupt vectors and MSI interrupts can be independently routed to any vector on any CPU.
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
Adding change to identify the break and complete the remaining tracing of current packets and restart tracing from new set of packets, if continuity is established.
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
With the new __counted_by annotation, the “lli_size” variable needs to valid for accesses to the “lli” array. 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.
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.
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. There are 66 patches in this series, all will be posted as a response to this one.
v1: Do not clear BSS region in x86 stub
Clearing the BSS region may cause the UEFI firmware to malfunction during boot.
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.
There are 144 patches in this series, all will be posted as a response to this one.
This is the start of the stable review cycle for the 6.6.41 release. There are 121 patches in this series, all will be posted as a response to this one.
This is the start of the stable review cycle for the 6.1.100 release. There are 96 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
This is the start of the stable review cycle for the 6.9.10 release. There are 143 patches in this series, all will be posted as a response to this one.
This is the start of the stable review cycle for the 5.10.222 release. There are 108 patches in this series, all will be posted as a response to this one.
进程调度
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. when wake_q_node empty ,it must be WAKE_Q_TAIL instead of NULL Logically. Maybe a hardware bitflip corrupted the node ,add panic to call attention.
[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.
内存管理
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: Replacing all existing simple code patterns via Coccinelle[1] shows what could be replaced immediately (saving roughly 1,500 lines):
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. I’d like to propose changes that add logging as to why the kernel would not finish writing out the core dump file.
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. This series does that.
v1: PATCHv2: 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.
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
I think this is pretty much ready for linux-next now. Since the latest changes are pretty minimal, I’ve left the Reviewed-by’s intact. It would be nice to have acks or reviews from maintainers for ext4 and tmpfs too.
v1: mm: introduce reclaim throttle in MGLRU
This patch is proved to be helpful by launching 8 costmem(an exe in Android) concurrently and got no system hang like before.
文件系统
v1: fanotify: don’t skip extra event info if no info_mode is set
Previously we would only include optional information if you requested it via an FAN_ flag at fanotify_init time (FAN_REPORT_FID for example).
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
All of them come from the same commit: The @dentry is actually the dentry of child directory rather than base directory(parent directory), and thus the @dir has to be modified due to the change of @dentry.
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. When running default configuration with multiple parallel threads, hot spin lock contention is observed from alloc_fd(), file_closed_fd() and put_unused_fd() around file_lock.
These 3 patches are created to reduce the critical section of file_lock in alloc_fd() and close_fd(). As a result, on top of patch 1, pts/blogbench-1.1.0 has been improved by 22% for read and 8% for write on Intel ICX 160 cores configuration with v6.10-rc7.
We use RWF_ATOMIC as this is legacy name for similar feature proposed in the past.
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.
This is the tenth version of the series that enables block size > page size (Large Block Size) in XFS.
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. Closes: https://github.com/landlock-lsm/linux/issues/7
v1: net-next: openvswitch: switch to per-action label counting in conntrack
Similar to commit 70f06c115bcc (“sched: act_ct: switch to per-action label counting”), we should also switch to per-action label counting in openvswitch conntrack, as Florian suggested.
linux-next: duplicate patch in the powerpc tree
The following commit is also in the bpf tree as a different commit (but the same patch)
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().
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
This is the follow-up patch series of https://lkml.iu.edu/hypermail/linux/kernel/2310.2/02078.html
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. When multiple phy interrupt occur while the MAC interrupt is cleared, the phy handle will not be called which causes the PHY interrupt to remain set throughout.
安全增强
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. This initialization was done in other places where a new struct omap_desc is allocated, but these cases were missed. Set “sglen” after allocation.
v1: interconnect: icc-clk: Add missed num_nodes initialization
With the new __counted_by annotation, the “num_nodes” struct member must be set before accessing the “nodes” array. 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. This requirement is not met in gpio_leds_create(), since “num_leds” starts at “0”, so “leds” index “0” will not be considered valid (num_leds would need to be “1” to access index “0”).
异步 IO
v6: io_uring/rsrc: coalescing multi-hugepage registered buffers
This patch series enables coalescing registered buffers with more than one hugepages. It optimizes the DMA-mapping time and saves memory for these kind of buffers.
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.
v1: Implement the smart pointer InPlaceInit
for Arc
To enable
Arc
to implementInPlaceInit
and to have uniform access, for in-place and pinned in-place initialization, an associated type is introduced forInPlaceInit
.
My first patch: Implement InPlaceInit for Arc
This is my very first patch for Linux. I have lifted my arms up, placed my hands on my head, and tensed my non-existent abs. Punch as hard as you can! 🙂
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
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. Allowing function graph tracer to have more than one user has been asked for since 2009, but it required a rewrite to the logic to pull it off so it never happened. Until now!
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()
This issue was transformed by using the Coccinelle software.
This patchset aims to support implementing qdisc using bpf struct_ops.
v1: bpf: Replace 8 seq_puts() calls by seq_putc() calls
Single line breaks should occasionally be put into a sequence.
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. This assumption is false for tracing events, and as a result the regressing commit broke bpftrace by invoking the bpf handler with garbage inputs on overflow.
周边技术动态
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
The patches from gdb 14.1 are all ported to 15.1, with some minor adaptation to 2 of them.
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. This ensures that U-Boot can operate in serial console mode.
v2: Universal Payload initial series
This series provides some initial support for this, targeting 0.9.1 and sandbox only.
猜你喜欢:
- 我要投稿:发表原创技术文章,收获福利、挚友与行业影响力
- 泰晓资讯:汇总一周技术趣闻与文章,查看「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 期