Files
buildroot/board/visionfive2
Fengwei Tan 98ba8f3951 configs/visionfive2_defconfig: bump Linux to 6.18.55
When running iperf3 with Linux 6.18.51 on VisionFive 2, one CPU core
stays at 100% load during the test, while network throughput is limited
to approximately 793 Mbits/sec:

[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.01  sec   945 MBytes   793 Mbits/sec                  receiver

The regression was introduced in Linux 6.14 by commit df542f669307
("net: stmmac: Switch to zero-copy in non-XDP RX path"). It leads to
misaligned access exceptions when parsing packet headers. During the
iperf3 test, perf stat reported approximately 9.6 million alignment
faults over 5 seconds:

$ perf stat -a -e alignment-faults -- sleep 5

 Performance counter stats for 'system wide':

           9620073      alignment-faults

       5.029337000 seconds time elapsed

The kernel must emulate these unaligned accesses, resulting in
significant overhead.

The issue was fixed in Linux 6.18.52 [1]. Bump Linux to 6.18.55, the
latest stable release at the time of writing, to include the fix.

[1] https://lore.kernel.org/all/2026091704-CVE-2026-90059-36e6@gregkh

Fixes: 98aa14a186 ("configs/visionfive2: bump Linux to 6.18.51, U-Boot to 2026.07, and OpenSBI to 1.8.1")
Assisted-by: LLM
Signed-off-by: Fengwei Tan <tfx2001@outlook.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2026-10-10 18:33:47 +02:00
..

StarFive VisionFive2
====================

The VisionFive2 is a low-cost RISC-V 64-bit based platform, powered by a
StarFive JH7110 processor.

https://doc-en.rvspace.org/Doc_Center/visionfive_2.html

How to build
============

$ make visionfive2_defconfig
$ make

Once the build process is finished you will have two images
in the output/images/ directory:
- sdcard.img
- spi-nor.img

How to write the SPI NOR flash
=============================

If you have a booting device use u-boot and tftp:

  # tftpboot 0x82000000 spi-nor.img
  # sf probe
  # sf update 0x82000000 0x0 ${filesize}

Otherwise, follow the recovery instructions:

https://doc-en.rvspace.org/VisionFive2/Quick_Start_Guide/VisionFive2_SDK_QSG/recovering_bootloader%20-%20vf2.html

How to write the SD card
========================

Write "sdcard.img" onto an SD card with "dd":

  $ sudo dd if=output/images/sdcard.img of=/dev/sdX bs=1M conv=fsync

Preparing the board
===================

Connect a TTL UART cable to pin 6 (GND), 8 (TX) and 10 (RX).

Select SPI NOR flash boot mode:
- RGPIO_0=0, RGPIO_1=0

https://doc-en.rvspace.org/VisionFive2/Quick_Start_Guide/VisionFive2_SDK_QSG/boot_mode_settings.html

Insert your SD card.

Power-up the board using an USB-C cable.

Note that starting with U-Boot v2025.10, booting U-Boot directly from an
SD card is no longer supported on this board. In this configuration, the
bootloader is loaded from SPI NOR flash, while the SD card contains the
Linux kernel, device trees and root filesystem.

https://docs.u-boot.org/en/v2026.07/board/starfive/visionfive2.html#zero-stage-program-loader