泰晓科技 -- 聚焦 Linux - 追本溯源,见微知著!
网站地址:https://tinylab.org

泰晓Linux系统盘,不用安装,即插即跑
请稍侯

RISC-V Linux 内核及周边技术动态第 103 期

呀呀呀 创作于 2024/08/09

时间:20240804
编辑:晓瑜
仓库:RISC-V Linux 内核技术调研活动
赞助:PLCT Lab, ISCAS

内核动态

RISC-V 架构支持

v9: riscv: sophgo: Add SG2042 external hardware monitor support

Add support for the onboard hardware monitor for SG2042.

v5: Tracepoints and static branch in Rust

An important part of a production ready Linux kernel driver is tracepoints.

v9: riscv: sophgo: add dmamux support for Sophgo CV1800/SG2000 SoCs

Add dma multiplexer support for the Sophgo CV1800/SG2000 SoCs.

v1: irqchip: let the probe of APLIC be earlier than IMSIC

The reason for this error message is that the probe of APLIC is executed earlier than IMSIC.

v1: riscv: support KASAN instrumentation of bitops

The arch-specific bitops are not being picked up by the KASAN test suite.

v4: riscv: sophgo: Add pinctrl support for CV1800 series SoC

Add basic pinctrl driver for Sophgo CV1800 series SoCs.

v3: mm: introduce numa_memblks

Following the discussion about handling of CXL fixed memory windows on arm64.

v1: cpumask: de-duplicate assign_cpu() API

We’ve got cpumask_assign_cpu() function and assign_cpu() macro, both doing the same thing. We need to drop one to avoid unneeded duplicatioon.

v1: RISC-V: Don’t have MAX_PHYSMEM_BITS exceed phys_addr_t

I recently ended up with a warning on some compilers along the lines of

v3: Add SARADC support on Sophgo SoC

This patchset adds initial ADC support for Sophgo SoC.

v2: riscv/mm: Add handling for VM_FAULT_SIGSEGV in mm_fault_error()

Handle VM_FAULT_SIGSEGV in the page fault path so that we correctly kill the process and we don’t BUG() the kernel.

v4: 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.

v2: riscv: mm: Add soft-dirty and uffd-wp support

This patchset adds soft dirty and userfaultfd write protect tracking support for RISC-V.

v1: uretprobe: change syscall number, again

Despite multiple attempts to get the syscall number assignment right for the newly added uretprobe syscall, we ended up with a bit of a mess.

v1: riscv: mm: Add support for uffd write-protect support

Use the 9th bit in the PTE for uffd-wp mark, which used for devmap and is ready to be freed up.

v1: use struct ptdesc to replace pgtable_t

We have struct ptdesc for page table descriptor a year ago, but it has no much usages in kernel, while pgtable_t is used widely.

v1: serial: 8250_platform: Enable generic 16550A platform devices

This is required in particular for RISC-V which has non-PNP generic device.

v5: riscv: add initial support for SpacemiT K1

SpacemiT K1 is an ideal chip for some new extension such as RISC-V Vector 1.0 and Zicond evaluation now. Add initial support for it to allow more people to participate in building drivers to mainline for it.

v1: riscv: Add missing licenses

I was poking around some files and noticed that vmalloc.h and fence.h were missing licenses. This series simply adds in those licenses.

v1: tools: Add barrier implementations for riscv

Add support for riscv specific barrier implementations to the tools tree, so that fence instructions can be emitted for synchronization.

v7: RISC-V: ACPI: Add external interrupt controller support

This series adds support for the below ECR approved by ASWG.

v8: RESEND: riscv: sophgo: add dmamux support for Sophgo CV1800/SG2000 SoCs

Add dma multiplexer support for the Sophgo CV1800/SG2000 SoCs.

v1: ACPI: NUMA: initialize all values of acpi_early_node_map to NUMA_NO_NODE

To ensure all the values were properly initialized, switch to initialize all of them to NUMA_NO_NODE.

GIT PULL: RISC-V Patches for the 6.11 Merge Window, Part 2

There should be no post-merge code chages, but I wanted to give it a day for the testers just in case.

LoongArch 架构支持

v2: uart: Introduce uart driver for the Loongson family chips

This patchset introduce a generic UART framework driver for Loongson family.

v6: LoongArch: KVM: Add Binary Translation extension support

Loongson Binary Translation (LBT) is used to accelerate binary translation, which contains 4 scratch registers (scr0 to scr3), x86/ARM eflags (eflags) and x87 fpu stack pointer (ftop).

v4: Add extioi virt extension support

Also interface is provide to VMM to detect and enable/disable paravirt features provided in KVM hypervisor.

ARM 架构支持

v1: Add initial support for Rockchip RK3528 SoC

This series add a basic device tree with CPU, interrupts and UART nodes for it and is able to boot into a kernel with only UART console.

v1: mm: Only enforce minimum stack gap size if it’s sensible

The generic mmap_base code tries to leave a gap between the top of the stack and the mmap base address.

v6: Add Meta(Facebook) Catalina BMC(AST2600)

Add Linux device tree entry related to Meta(Facebook) Catalina specific devices connected to BMC(AST2600) SoC.

v2: Introduce ASPEED AST27XX BMC SoC

This patchset adds initial support for the ASPEED. AST27XX Board Management controller (BMC) SoC family.

v1: Add input voltage suppliers for PMIC MCP16502 regulators

I modified the mcp16502.c driver and the dts that use this PMIC. We added these improvements to provide a complete description of the board power scheme.

v5: dma: support DMA zone starting above 4GB

DMA zones code assumes that DMA lower limit is zero.

v3: Revise Meta(Facebook) Harma BMC(AST2600)

Revise linux device tree entry related to Meta(Facebook) Harma specific devices connected to BMC(AST2600) SoC.

v3: interconnect: qcom: Add SM4450 interconnect

Add SM4450 interconnect provider driver and enable it.

v1: arm64/tools/sysreg: Add Sysreg128/SysregFields128

This patch applies after the following series which adds GENMASK_U128()

v1: soc: ti: knav: Use of_property_read_variable_u32_array()

This is part of a larger effort to remove callers of of_find_property() and similar functions.

v1: usb: chipidea: Use of_property_present()

Use of_property_present() to test for property presence rather than of_get_property().

v1: perf: arm_pmu: Use of_property_present()

Use of_property_present() to test for property presence rather than of_find_property().

v1: devfreq: imx-bus: Use of_property_present()

Use of_property_present() to test for property presence rather than of_get_property().

v1: iio: adc: aspeed: Use of_property_present()

Use of_property_present() to test for property presence rather than of_find_property().

v1: cpufreq: Use of_property_present()

Use of_property_present() to test for property presence rather than of_(find|get)_property().

v3: Introduce J742S2 SoC and EVM

The series adds support for J742S2 family of SoCs. Also adds J742S2 EVM Support and re-uses most of the stuff from the superset device J784s4.

v1: arm64: jump_label: Ensure patched jump_labels are visible to all CPUs

Although the Arm architecture permits concurrent modification and execution of NOP and branch instructions, it still requires some synchronisation to ensure that other CPUs consistently execute the newly written instruction.

v7: firmware: support i.MX95 SCMI BBM/MISC Extenstion

This patchset is to support the two protocols and users that use the protocols. The upper protocol infomation is also included in patch 1

v3: Add kukui-jacuzzi-cerise and kukui-jacuzzi-stern DT and dt-binding

Cerise is known as ASUS Chromebook CZ1. Stern is known as ASUS Chromebook Flip CZ1.

v1: Support for running as a pKVM protected guest

Since the patches for running as a CCA guest were posted already at [1], I figured it was worth posting the equivalent pKVM changes needed to run as a protected guest under an Android host kernel.

v1: Add SCMI transport descriptors

this small series is an extended version of this recent, already reviewed, series [1] posted by Peng to add a new arm,scmi property to describe some platform-specific SCMI timeout constraints.

v1: treewide: add missing MODULE_DESCRIPTION() macros

Since commit 1fffe7a34c89 (“script: modpost: emit a warning when the description is missing”), a module without a MODULE_DESCRIPTION() will result in a warning when built with make W=1.

v11: Initial Marvell PXA1908 support

This series adds initial support for the Marvell PXA1908 SoC and “samsung,coreprimevelte”, a smartphone using the SoC.

v3: Add support for Cool Pi GenBook

This series add support of eMMC/USB HOST/WiFi/Battery/TouchPad/Keyboard, with a mainline based u-boot, it can boot a third-party distribution such as Armbian on u-disk.

v4: Add Per-transport SCMI debug statistics

This series adds support for tracking information about the SCMI v1:

X86 架构支持

v1: KVM: x86: Disallow changing x2APIC ID via userspace

Silently ignore userspace attempts to change the x2APIC ID via KVM_SET_LAPIC.

v1: KVM: x86: Document an erratum in KVM_SET_VCPU_EVENTS on Intel CPUs

Document a flaw in KVM’s ABI which lets userspace attempt to inject a “bad” hardware exception event, and thus induce VM-Fail on Intel CPUs.

v5: PCI: Allow D3Hot for PCI bridges in Devicetree based platforms

This series allows D3Hot for PCI bridges in Devicetree based platforms.

v1: KVM: SEV: Add support for the ALLOWED_SEV_FEATURES feature

AMD EPYC 5th generation processors have introduced a feature that allows the hypervisor to control the SEV_FEATURES that are set for or by a guest.

v1: KVM: SEV: allow KVM_SEV_GET_ATTESTATION_REPORT for SNP guests

Even though KVM_SEV_GET_ATTESTATION_REPORT is not one of the commands that were added for SEV-SNP guests, it can be applied to them.

v2: Rust KCFI support

The control flow integrity (kCFI) sanitizer is an important sanitizer that is often used in production. This patch series makes it possible to use kCFI and Rust together.

v10: arm64/gcs: Provide support for GCS in userspace

The arm64 Guarded Control Stack (GCS) feature provides support for hardware protected stacks of return addresses, intended to provide hardening against return oriented programming (ROP) attacks and to make it easier to gather call stacks for applications such as profiling.

v1: kernel/fs: last check for exec credentials on NOEXEC mount

Add a check to security_bprm_creds_for_exec(bprm).

进程调度

v1: sched/topology: optimize topology_span_sane()

Pre-compute pre-compute topology_span_sane() loop params and optimize the functtion to avoid calling cpumask_equal() when masks are the same.

v2: -next: sched/fair: inline cpu_util_without and cpu_util to improve performance

This patch introduces inlining to cpu_util_without and cpu_util functions. While this increases the size of kernel/sched/fair.o, the performance gains in critical workloads make this an acceptable trade-off.

v1: sched/fair: Correct CPU selection from isolated domain

We encountered an issue where the kernel thread ksmd runs on the PMD dedicated isolated core, leading to high latency in OVS packets.

v4: sched/fair: Sync se’s load_avg with cfs_rq in reweight_task

This patch solves this by using sync_entity_load_avg() to synchronize the load_avg of se with cfs_rq before dequeue_load_avg() in reweight_entity().

内存管理

v3: mm: Introduce a new sysctl knob vm.pcp_batch_scale_max

These processes are organized as separate processes rather than threads due to the Python Global Interpreter Lock (GIL) being a bottleneck in a multi-threaded setup.

v5: Improve the copy of task comm

Using {memcpy,strncpy,strcpy,kstrdup} to copy the task comm relies on the length of task comm. Changes in the task comm could result in a destination string that is overflow.

v1: mm: kfence: print the age time for alloacted objectes to trace memleak

For a convienince of tracing slab object leak, print the age time for alloacted objectes in kfence_print_stack().

v1: mm: zswap: make the lock critical section obvious in shrink_worker()

Move the comments and spin_{lock/unlock}() calls around in shrink_worker() to make it obvious the lock is protecting the loop updating zswap_next_shrink.

v1: memcg: protect concurrent access to mem_cgroup_idr

The commit 73f576c04b94 decoupled the memcg IDs from the CSS ID space to fix the cgroup creation failures.

v2: binfmt_elf: Dump smaller VMAs first in ELF cores

This impacts debuggability with large core dumps since critical information necessary to form a usable backtrace, such as stacks and shared library information, are omitted.

v1: mm: replace follow_page() by folio_walk

Looking into a way of moving the last folio_likely_mapped_shared() call in add_folio_for_migration() under the PTL, I found myself removing follow_page().

v3: Merge arm64/riscv hugetlbfs contpte support

This patchset intends to merge the contiguous ptes hugetlbfs implementation of arm64 and riscv.

v6: mm: Ignite large folios swap-in support

This means that once mTHP is swapped out, it will come back as small folios when swapped in. This is particularly detrimental for devices like Android, where more than half of the memory is in swap.

v4: rust: mm: add abstractions for mm_struct and vm_area_struct

This is a follow-up to the page abstractions [1] that were recently merged in 6.11. Rust Binder will need these abstractions to manipulate the vma in its implementation of the mmap fop on the Binder file.

v2: mm: print the promo watermark in zoneinfo

v1: mm: consider CMA pages in watermark check for NUMA balancing target node

Currently in migrate_balanced_pgdat(), ALLOC_CMA flag is not passed when checking watermark on the migration target node. This does not match the gfp in alloc_misplaced_dst_folio() which allows allocation from CMA.

v1: binfmt_elf: seal address zero

In load_elf_binary as part of the execve(), when the current task’s personality has MMAP_PAGE_ZERO set, the kernel allocates one page at address 0.

v2: Add support for Congatec CGEB BIOS interface

The following series adds support for the Congatec CGEB interface found on some Congatec x86 boards.

v2: KVM: Restricted mapping of guest_memfd at the host and pKVM/arm64 support

This series adds restricted mmap() support to guest_memfd, as well as support for guest_memfd on pKVM/arm64.

v2: mm: introduce MADV_DEMOTE/MADV_PROMOTE

Sure, here’s the Scalable Tiered Memory Control (STMC)

文件系统

v7: squashfs: Add symlink size check in squash_read_inode

syzbot report KMSAN: uninit-value in pick_link, the root cause is that squashfs_symlink_read_folio did not check the length, resulting in folio not being initialized and did not return the corresponding error code.

v2: fuse: Allow page aligned writes

Read/writes IOs should be page aligned as fuse server might need to copy data to another buffer otherwise in order to fulfill network or device storage requirements.

v1: fs: try an opportunistic lookup for O_CREAT opens too

We’ve had some reports of i_rwsem contention in some workloads. On an open with O_CREAT set, it always takes i_rwsem for write when handling the last component.

v2: ext4: simplify the counting and management of delalloc reserved blocks

v5: squashfs: Add i_size check in squash_read_inode

syzbot report KMSAN: uninit-value in pick_link, the root cause is that squashfs_symlink_read_folio did not check the length, resulting in folio not being initialized and did not return the corresponding error code.

v3: forcealign for xfs

This series is being spun off the block atomic writes for xfs series at .

v2: squashfs: Add length check in squashfs_symlink_read_folio

The incorrect value of length is due to the incorrect value of inode->i_size.

v1: filemap: Init the newly allocated folio memory to 0 for the filemap

syzbot report KMSAN: uninit-value in pick_link, this is because the corresponding folio was not found from the mapping, and the memory was not initialized when allocating a new folio for the filemap.

v4: bpf-next: bpf: introduce new VFS based BPF kfuncs

The primary difference in this version of the patch series is that the suite of VFS related BPF kfuncs added can be used from both sleepable and non-sleepable BPF LSM program types. IOW, the KF_SLEEPABLE annotation has been removed from all of them.

v1: pidfd: prevent creation of pidfds for kthreads

It’s currently possible to create pidfds for kthreads but it is unclear what that is supposed to mean. Until we have use-cases for it and we figured out what behavior we want block the creation of pidfds for kthreads.

v1: why do we have lookup_fdget_rcu() and friends?

That stuff had been added in “file: convert to SLAB_TYPESAFE_BY_RCU” as replacements of lookup_fd_rcu() and friends. The old ones did not grab file reference; their replacements do (with good reasons).

v1: mm/filemap: In page fault retry path skip filemap_map_pages() if no read-ahead pages

Because filemap_read_folio() just read the data of one folio, without read-ahead pages, it is no needs to go through the do_fault_around() again in the page fault retry path.

v3: 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.

v2: bpf-next: Add bpf_get_dentry_xattr

Add a kfunc to read xattr from dentry. Also add selftest for the new kfunc.

v1: fuse: fs-verity: aoid out-of-range comparison

This either means tha tthe check can be removed entirely, or that the intended comparison was for the 16-bit range. Assuming the latter was intended, compare against U16_MAX instead.

v1: struct fd and memory safety

Most of the system calls use file descriptors to refer to opened files (struct file references) currently stored in the given slot(s) of caller's descriptor table.

网络设备

v1: idpf: Acquire the lock before accessing the xn->salt

The transaction salt was being accessed before acquiring the idpf_vc_xn_lock when idpf has to forward the virtchnl reply

v1: net: usb: qmi_wwan: add MeiG Smart SRM825L

Add support for MeiG Smart SRM825L which is based on Qualcomm 315 chip.

v2: net-next: ethtool: rss: driver tweaks and netlink context dumps

This series is a semi-related collection of RSS patches.

v1: Add GMAC support for rk3576

Add the necessary constants and functions to support the GMAC devices on the rk3576.

v1: net: ptp: ocp: adjust sysfs entries to expose tty information

Starting v6.8 the serial port subsystem changed the hierarchy of devices and symlinks are not working anymore. Previous discussion made it clear that the idea of symlinks for tty devices was wrong by design.

v2: net-next: eth: fbnic: select DEVLINK and PAGE_POOL

Build bot reports undefined references to devlink functions. And local testing revealed undefined references to page_pool functions.

v1: tg3: Add param short_preamble to enable MDIO traffic to external PHYs

Add parameter to enable short preamble for MAC, so MDIO access to some external PHY, like BCM54616, can be validated.

v1: net-next: add vDPA driver for nfp devices

This is the first foray into upstreaming a vDPA driver for the nfp.

v3: Add support for Amlogic HCI UART

Add support for Amlogic HCI UART, including dt-binding, and Amlogic Bluetooth driver.

v1: net: ftgmac100: Get link speed and duplex for NC-SI

The ethtool of this driver uses the phy API of ethtool to get the link information from PHY driver.

v1: vhost: vdpa/mlx5: Parallelize device suspend/resume

This series parallelizes the mlx5_vdpa device suspend and resume operations through the firmware async API. The purpose is to reduce live migration downtime.

v2: net-next: net: phy: vitesse: implement downshift in vsc73xx phys

This commit implements downshift feature in vsc73xx family phys.

v8: Landlock: Add abstract unix socket connect

This patch series adds scoping mechanism for abstract unix sockets. Closes: https://github.com/landlock-lsm/linux/issues/7

v3: net-next: net: stmmac: Add PCI driver support for BCM8958x

This patchset adds basic PCI ethernet device driver support for Broadcom BCM8958x Automotive Ethernet switch SoC devices.

v7: Add AP6275P wireless support

These add AP6275P wireless support on Khadas Edge2. Enable 32k clock for Wi-Fi module and extend the hardware IDs table in the brcmfmac driver for it to attach.

v1: net: eth: fbnic: select devlink

Build bot reports undefined references to devlink functions in fbnic.ko.

v1: net-next: ibmvnic RR performance improvements

This patchset aims to increase the ibmvnic small packet request response transaction rate.

v1: net-next: ibmveth RR performance

This patchset aims to increase the ibmveth drivers small packet request response rate.

v2: net-next: tipc: guard against string buffer overrun

Smatch reports that copying media_name and if_name to name_parts may overwrite the destination.

v3: net-next: tcp: completely support active reset

This time the patch series finally covers all the cases in the active reset logic. After this, we can know the related exact reason(s).

v1: net-next: virtio_net: Prevent misidentified spurious interrupts from killing the irq

Michael has effectively reduced the number of spurious interrupts in commit a7766ef18b33 (“virtio_net: disable cb aggressively”) by disabling irq callbacks before cleaning old buffers.

v2: net-next: net: tuntap: add ioctl() TUNGETQUEUEINDEX to fetch queue index

We need the queue index in qdisc mapping rule. There is no way to fetch that.

安全增强

v1: drm/radeon/r100: Handle unknown family in r100_cp_init_microcode()

Fix this by converting the if/else if/… construct into a proper switch() statement with a default to handle the error case.

v1: Add Nothing Phone (1) support

This series of patches adds support for the Nothing Phone (1), identified as nothing,spacewar. The Nothing Phone (1) is built on the Qualcomm Snapdragon 778G+ (SM7325-AE, also known as yupik).

异步 IO

v8: 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: minor sqpoll code refactoring

the first patch is minor micro-optimization that attempts to avoid a memory access if by testing a variable to is very likely already in a register

v1: Implement absolute value wait timeouts

Patches 1-2 are cleaning up timing adjustments for napi busy polling, and Patch 3 implements the feature.

v2: io_uring: add napi busy settings to the fdinfo output

this info may be useful when attempting to debug a problem involving a ring using the feature.

v1: io_uring: keep multishot request NAPI timeout fresh

it is important to make the refresh for multishot request because if no new requests using the same NAPI device are added to the ring, the entry will become stall and be removed silently and the unsuspecting user will not know that his ring made busy polling for only 60 seconds.

Rust For Linux

v2: pahole: Apply CU-level filters early in loading

As an added bonus, this should speed up processing of large objects with filtered CUs, as their details will no longer be walked.

v2: rust: Add irq abstraction, SpinLockIrq

This adds a simple interface for disabling and enabling CPUs, along with the ability to mark a function as expecting interrupts be disabled - along with adding bindings for spin_lock_irqsave/spin_lock_irqrestore().

v3: rust: Kbuild: Skip -fmin-function-alignment in bindgen flags

This patch addresses the issue by adding -fmin-function-alignment to the bindgen_skip_c_flags in rust/Makefile. This prevents the flag from causing compilation issues.

v2: net-next: net: phy: add Applied Micro QT2025 PHY driver

This patchset adds a PHY driver for Applied Micro Circuits Corporation QT2025.

**[v1: rust: implement ForeignOwnable for Pin<Box>](http://lore.kernel.org/rust-for-linux/20240730-foreign-ownable-pin-box-v1-1-b1d70cdae541@google.com/)**

We already implement ForeignOwnable for Box, but it may be useful to store pinned data in a ForeignOwnable container. This patch makes that possible.

v1: rust: support arrays in target JSON

Some configuration options such as the supported sanitizer list are arrays. To support using Rust with sanitizers on x86, we must update the target.json generator to support this case.

BPF

v2: bpf-next: Support bpf_kptr_xchg into local kptr

This series allows stashing kptr into local kptr. Currently, kptrs are only allowed to be stashed into map value with bpf_kptr_xchg().

v1: perf bpf-filter: Support multiple events properly

So far it used tgid as a key to get the filter expressions in the pinned filters map for regular users but it won’t work well if the has more than one filters at the same time.

v1: bpf-next: add TCP_BPF_SOCK_OPS_CB_FLAGS to bpf_*sockopt()

Patch 1 adds bpf_[get|set]sockopt() support; patch 2 adds testing for it via sockops and cgroup/setsockopt programs and patch 3 extends the existing bpf_iter_setsockopt test to cover setting sock ops flags via bpf_setsockopt() in iterator context.

v1: uprobes: RCU-protected hot path optimizations

This patch set is heavily inspired by Peter Zijlstra’s uprobe optimization patches ([0]) and continue that work, albeit trying to keep complexity to the minimum, and attepting to reuse existing primitives as much as possible.

v3: bpf-next: Harden and extend ELF build ID parsing logic

The goal of this patch set is to extend existing ELF build ID parsing logic, currently mostly used by BPF subsystem, with support for working in sleepable mode in which memory faults are allowed and can be relied upon to fetch relevant parts of ELF file to find and fetch .note.gnu.build-id information.

v17: net-next: Device Memory TCP

v1: iwl-next: Add Default Rx Queue Setting for igc driver

This patch set introduces the support to configure default Rx queue during runtime. A new sysfs attribute “default_rx_queue” has been added, allowing users to check and modify the default Rx queue.

v1: sysctl: prepare sysctl core for const struct ctl_table

Adapt the internal and external APIs of the sysctl core to handle read-only instances of “struct ctl_table”.

周边技术动态

Qemu

v1: bsd-user: Comprehensive RISCV support

This patch series provides support for the RISC-V 64-bit architecture, enabling signal processing, system call handling, threading, and memory management tailored to RISC-V.

v6: for-9.2: riscv: QEMU RISC-V IOMMU Support

In this new version the most notable change is how we’re dealing with ICVEC updates. Instead of hardcoding the vectors being used in riscv-iommu-pci, a new interface was created to allow IOMMU devices to receive ICVEC updates and act accordingly.

v2: riscv support for control flow integrity extensions

Sending out v2 for riscv zicfilp and zicfiss extensions support in qemu. I sent out v1 [1] last week and had missed adding trans_zicfiss.c.inc in commit titled “implement zicifss instructions” and commit titled “shadow stack mmu index for shadow stack instructions”. Revising both those commits and sending out patch series again.

Buildroot

Weird issue with uClibc RISC-V 32-bit in Qemu

I am working on updating the toolchains of toolchains.bootlin.com, and as part of that rebuilding all toolchains with Buildroot 2024.05 + a few patches.



Read Album:

Read Related:

Read Latest: