summaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
Diffstat (limited to 'target')
-rw-r--r--target/arm/Makefile5
-rw-r--r--target/arm/uclibc-ng-nommu.config2
-rw-r--r--target/config/Config.in.abi14
-rw-r--r--target/config/Config.in.binfmt5
-rw-r--r--target/config/Config.in.binutils4
-rw-r--r--target/config/Config.in.compiler7
-rw-r--r--target/config/Config.in.cpu48
-rw-r--r--target/config/Config.in.libc7
-rw-r--r--target/config/Config.in.tools6
-rw-r--r--target/linux/Config.in.kernelversion18
-rw-r--r--target/linux/config/Config.in.block25
-rw-r--r--target/linux/config/Config.in.compression21
-rw-r--r--target/linux/config/Config.in.serial12
-rw-r--r--target/linux/config/Config.in.xtensa23
-rw-r--r--target/linux/patches/6.1.82/or1k-more-ram.patch12
-rw-r--r--target/linux/patches/6.6.28/armnommu-fix-thread-registers.patch (renamed from target/linux/patches/6.6.22/armnommu-fix-thread-registers.patch)0
-rw-r--r--target/linux/patches/6.6.28/armnommu-versatile.patch (renamed from target/linux/patches/6.6.22/armnommu-versatile.patch)0
-rw-r--r--target/linux/patches/6.6.28/hppa-cross-compile.patch12
-rw-r--r--target/linux/patches/6.6.28/macsonic.patch11
-rw-r--r--target/linux/patches/6.6.28/riscv-flat.patch19
-rw-r--r--target/or1k/Makefile2
-rw-r--r--target/riscv32/uclibc-ng-nommu.config14
-rw-r--r--target/riscv64/Makefile16
-rw-r--r--target/riscv64/kernel/starfive-visionfive2593
-rw-r--r--target/riscv64/starfive-visionfive2/extlinux.conf4
-rw-r--r--target/riscv64/starfive-visionfive2/genimage.cfg28
-rw-r--r--target/riscv64/systems/starfive-visionfive217
-rw-r--r--target/sh/kernel/qemu-sh3
-rw-r--r--target/xtensa/Makefile11
-rw-r--r--target/xtensa/kernel/qemu-xtensa5
-rw-r--r--target/xtensa/overlay/xtensa_dc233c_call0.tarbin0 -> 942080 bytes
-rw-r--r--target/xtensa/overlay/xtensa_dc233c_windowed.tar (renamed from target/xtensa/overlay/xtensa_dc233c.tar)bin808960 -> 808960 bytes
-rw-r--r--target/xtensa/uclibc-ng-nommu.config38
33 files changed, 900 insertions, 82 deletions
diff --git a/target/arm/Makefile b/target/arm/Makefile
index e5c7a3a6d..1e2cc478b 100644
--- a/target/arm/Makefile
+++ b/target/arm/Makefile
@@ -188,6 +188,9 @@ endif
ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_XILINX_ZYNQ),y)
VENDOR:=xilinx/
endif
+ifeq ($(ADK_TARGET_SYSTEM_ST_STM32F746G),y)
+VENDOR:=st/
+endif
endif
dtb-install:
@@ -250,7 +253,7 @@ ifeq ($(ADK_TARGET_SYSTEM_ST_STM32F769),y)
${KERNEL_MAKE} dtbs $(MAKE_TRACE)
endif
ifeq ($(ADK_TARGET_SYSTEM_ST_STM32F746G),y)
- ${KERNEL_MAKE} dtbs $(MAKE_TRACE)
+ ${KERNEL_MAKE} $(VENDOR)stm32f746-disco.dtb $(MAKE_TRACE)
endif
for x in $(LINUX_DIR)/arch/arm/boot/dts/$(VENDOR)*.dtb; do \
[[ -e "$$x" ]] && cp $(LINUX_DIR)/arch/arm/boot/dts/$(VENDOR)*.dtb $(FW_DIR); \
diff --git a/target/arm/uclibc-ng-nommu.config b/target/arm/uclibc-ng-nommu.config
index 45db787b4..ada9e4bb6 100644
--- a/target/arm/uclibc-ng-nommu.config
+++ b/target/arm/uclibc-ng-nommu.config
@@ -78,7 +78,7 @@ UCLIBC_CTOR_DTOR=y
HAS_NO_THREADS=y
# UCLIBC_HAS_LINUXTHREADS is not set
# UCLIBC_HAS_THREADS_NATIVE is not set
-PTHREADS_STACK_DEFAULT_SIZE=2097152
+PTHREADS_STACK_DEFAULT_SIZE=16384
UCLIBC_HAS_SYSLOG=y
UCLIBC_HAS_LFS=y
MALLOC=y
diff --git a/target/config/Config.in.abi b/target/config/Config.in.abi
index 9995ba51d..db799f70e 100644
--- a/target/config/Config.in.abi
+++ b/target/config/Config.in.abi
@@ -3,6 +3,18 @@
choice
prompt "ABI"
+depends on ADK_TARGET_ARCH_XTENSA && ADK_TARGET_CPU_XTENSA_DC233C
+
+config ADK_TARGET_ABI_WINDOWED
+ bool "Windowed ABI"
+
+config ADK_TARGET_ABI_CALL0
+ bool "Call0 ABI"
+
+endchoice
+
+choice
+prompt "ABI"
depends on ADK_TARGET_ARCH_MIPS64
config ADK_TARGET_ABI_N32
@@ -62,6 +74,8 @@ config ADK_TARGET_ABI
default "x32" if ADK_TARGET_ABI_X32
default "eabihf" if ADK_TARGET_ARCH_ARM && ADK_TARGET_HARD_FLOAT
default "eabi" if ADK_TARGET_ARCH_ARM
+ default "windowed" if ADK_TARGET_ABI_WINDOWED
+ default "call0" if ADK_TARGET_ABI_CALL0
config ADK_TARGET_ABI_RISCV
depends on ADK_TARGET_ARCH_RISCV32 || ADK_TARGET_ARCH_RISCV64
diff --git a/target/config/Config.in.binfmt b/target/config/Config.in.binfmt
index 70e0cc585..704ca073d 100644
--- a/target/config/Config.in.binfmt
+++ b/target/config/Config.in.binfmt
@@ -9,7 +9,7 @@ config ADK_TARGET_BINFMT_ELF
bool "ELF"
select ADK_TARGET_USE_STATIC_LIBS_ONLY if !ADK_TARGET_WITH_MMU
depends on ADK_TARGET_WITH_MMU || ADK_TARGET_ARCH_ARM || \
- ADK_TARGET_ARCH_M68K || ADK_TARGET_ARCH_RISCV64
+ ADK_TARGET_ARCH_M68K || ADK_TARGET_ARCH_RISCV32 || ADK_TARGET_ARCH_RISCV64
config ADK_TARGET_BINFMT_FLAT
bool "FLAT"
@@ -24,7 +24,8 @@ config ADK_TARGET_BINFMT_FLAT
config ADK_TARGET_BINFMT_FDPIC
bool "FDPIC"
select BUSYBOX_NOMMU
- depends on ADK_TARGET_ARCH_ARM || ADK_TARGET_ARCH_BFIN || ADK_TARGET_ARCH_FRV || ADK_TARGET_ARCH_SH
+ depends on ADK_TARGET_ARCH_ARM || ADK_TARGET_ARCH_BFIN || ADK_TARGET_ARCH_FRV || ADK_TARGET_ARCH_SH \
+ || ADK_TARGET_ARCH_XTENSA
depends on !ADK_TARGET_WITH_MMU
config ADK_TARGET_BINFMT_DSBT
diff --git a/target/config/Config.in.binutils b/target/config/Config.in.binutils
index b93eaf31d..822a02dfb 100644
--- a/target/config/Config.in.binutils
+++ b/target/config/Config.in.binutils
@@ -55,4 +55,8 @@ config ADK_TOOLCHAIN_BINUTILS_KVX
bool "kvx-coolidge"
depends on ADK_TARGET_ARCH_KVX
+config ADK_TOOLCHAIN_BINUTILS_XTENSA
+ bool "xtensa-fdpic-abi-spec-1.2"
+ depends on ADK_TARGET_ARCH_XTENSA
+
endchoice
diff --git a/target/config/Config.in.compiler b/target/config/Config.in.compiler
index 2012acc4f..4e4f4f7ce 100644
--- a/target/config/Config.in.compiler
+++ b/target/config/Config.in.compiler
@@ -22,7 +22,6 @@ default ADK_TOOLCHAIN_GCC_7 if ADK_TARGET_ARCH_C6X # ICE with newer GCC
default ADK_TOOLCHAIN_GCC_9 if ADK_TARGET_ARCH_BFIN && ADK_TARGET_BINFMT_FDPIC
default ADK_TOOLCHAIN_GCC_10 if ADK_TARGET_ARCH_CRIS # no longer supported
default ADK_TOOLCHAIN_GCC_10 if ADK_TARGET_CPU_SH_J2 # j2.patch
-default ADK_TOOLCHAIN_GCC_11 if ADK_TARGET_ARCH_SPARC # bus error without patch
default ADK_TOOLCHAIN_GCC_13
config ADK_TOOLCHAIN_GCC_GIT
@@ -36,7 +35,6 @@ config ADK_TOOLCHAIN_GCC_13
depends on !ADK_TARGET_ARCH_AVR32
depends on !ADK_TARGET_ARCH_CRIS
depends on !ADK_TARGET_ARCH_METAG
- depends on !ADK_TARGET_ARCH_SPARC
config ADK_TOOLCHAIN_GCC_12
bool "12.3.0"
@@ -44,7 +42,6 @@ config ADK_TOOLCHAIN_GCC_12
depends on !ADK_TARGET_ARCH_CRIS
depends on !ADK_TARGET_ARCH_METAG
depends on !ADK_TARGET_ARCH_LOONGARCH
- depends on !ADK_TARGET_ARCH_SPARC
config ADK_TOOLCHAIN_GCC_11
bool "11.4.0"
@@ -114,4 +111,8 @@ config ADK_TOOLCHAIN_GCC_KVX
bool "coolidge"
depends on ADK_TARGET_ARCH_KVX
+config ADK_TOOLCHAIN_GCC_XTENSA
+ bool "xtensa-fdpic-abi-spec-1.2"
+ depends on ADK_TARGET_ARCH_XTENSA
+
endchoice
diff --git a/target/config/Config.in.cpu b/target/config/Config.in.cpu
index 76b4ee86a..d7984a44e 100644
--- a/target/config/Config.in.cpu
+++ b/target/config/Config.in.cpu
@@ -1173,25 +1173,33 @@ config ADK_TARGET_CPU_PPC64_POWERPC64
# riscv
config ADK_TARGET_CPU_RISCV32_RV32IMAC
bool "rv32imac"
- select ADK_TARGET_SUPPORTS_THREADS if ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_THREADS
select ADK_TARGET_SUPPORTS_NPTL if ADK_TARGET_WITH_MMU
- select ADK_TARGET_SUPPORTS_LT if ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_LT
+ select ADK_TARGET_ABI_ILP32
+ depends on ADK_TARGET_ARCH_RISCV32
+
+config ADK_TARGET_CPU_RISCV32_RV32IMA
+ bool "rv32ima"
+ select ADK_TARGET_SUPPORTS_THREADS
+ select ADK_TARGET_SUPPORTS_NPTL if ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_LT
select ADK_TARGET_ABI_ILP32
depends on ADK_TARGET_ARCH_RISCV32
config ADK_TARGET_CPU_RISCV32_RV32IMAFC
bool "rv32imafc"
- select ADK_TARGET_SUPPORTS_THREADS if ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_THREADS
select ADK_TARGET_SUPPORTS_NPTL if ADK_TARGET_WITH_MMU
- select ADK_TARGET_SUPPORTS_LT if ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_LT
select ADK_TARGET_ABI_ILP32F
depends on ADK_TARGET_ARCH_RISCV32
config ADK_TARGET_CPU_RISCV32_RV32IMADC
bool "rv32imadc"
- select ADK_TARGET_SUPPORTS_THREADS if ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_THREADS
select ADK_TARGET_SUPPORTS_NPTL if ADK_TARGET_WITH_MMU
- select ADK_TARGET_SUPPORTS_LT if ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_LT
select ADK_TARGET_ABI_ILP32D
depends on ADK_TARGET_ARCH_RISCV32
@@ -1204,25 +1212,33 @@ config ADK_TARGET_CPU_RISCV32_RV32IMAFDC
config ADK_TARGET_CPU_RISCV64_RV64IMAC
bool "rv64imac"
- select ADK_TARGET_SUPPORTS_THREADS if ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_THREADS
select ADK_TARGET_SUPPORTS_NPTL if ADK_TARGET_WITH_MMU
- select ADK_TARGET_SUPPORTS_LT if ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_LT
+ select ADK_TARGET_ABI_LP64
+ depends on ADK_TARGET_ARCH_RISCV64
+
+config ADK_TARGET_CPU_RISCV64_RV64IMA
+ bool "rv64ima"
+ select ADK_TARGET_SUPPORTS_THREADS
+ select ADK_TARGET_SUPPORTS_NPTL if ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_LT
select ADK_TARGET_ABI_LP64
depends on ADK_TARGET_ARCH_RISCV64
config ADK_TARGET_CPU_RISCV64_RV64IMAFC
bool "rv64imafc"
- select ADK_TARGET_SUPPORTS_THREADS if ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_THREADS
select ADK_TARGET_SUPPORTS_NPTL if ADK_TARGET_WITH_MMU
- select ADK_TARGET_SUPPORTS_LT if ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_LT
select ADK_TARGET_ABI_LP64F
depends on ADK_TARGET_ARCH_RISCV64
config ADK_TARGET_CPU_RISCV64_RV64IMADC
bool "rv64imadc"
- select ADK_TARGET_SUPPORTS_THREADS if ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_THREADS
select ADK_TARGET_SUPPORTS_NPTL if ADK_TARGET_WITH_MMU
- select ADK_TARGET_SUPPORTS_LT if ADK_TARGET_WITH_MMU
+ select ADK_TARGET_SUPPORTS_LT
select ADK_TARGET_ABI_LP64D
depends on ADK_TARGET_ARCH_RISCV64
@@ -1814,9 +1830,9 @@ config ADK_TARGET_CPU_XTENSA_DC233C
select ADK_TARGET_SUPPORTS_THREADS
select ADK_TARGET_SUPPORTS_NPTL
select ADK_TARGET_SUPPORTS_LT
- select ADK_TARGET_KERNEL_UIMAGE
- select ADK_LINUX_KERNEL_XTENSA_VARIANT_DC233C if ADK_TARGET_OS_LINUX
- select ADK_LINUX_KERNEL_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX if ADK_TARGET_OS_LINUX
+ select ADK_TARGET_KERNEL_IMAGE
+ select ADK_LINUX_KERNEL_XTENSA_VARIANT_DC233C if ADK_TARGET_WITH_MMU
+ select ADK_LINUX_KERNEL_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX if ADK_TARGET_WITH_MMU
depends on ADK_TARGET_ARCH_XTENSA
config ADK_TARGET_CPU_XTENSA_DC232B
@@ -2074,10 +2090,12 @@ config ADK_TARGET_GCC_ARCH
default "x86-64" if ADK_TARGET_CPU_X86_64
default "z900" if ADK_TARGET_CPU_S390_Z900
default "c674x" if ADK_TARGET_CPU_C6X
+ default "rv32ima" if ADK_TARGET_CPU_RISCV32_RV32IMA
default "rv32imac" if ADK_TARGET_CPU_RISCV32_RV32IMAC
default "rv32imafc" if ADK_TARGET_CPU_RISCV32_RV32IMAFC
default "rv32imadc" if ADK_TARGET_CPU_RISCV32_RV32IMADC
default "rv32imafdc" if ADK_TARGET_CPU_RISCV32_RV32IMAFDC
+ default "rv64ima" if ADK_TARGET_CPU_RISCV64_RV64IMA
default "rv64imac" if ADK_TARGET_CPU_RISCV64_RV64IMAC
default "rv64imafc" if ADK_TARGET_CPU_RISCV64_RV64IMAFC
default "rv64imadc" if ADK_TARGET_CPU_RISCV64_RV64IMADC
diff --git a/target/config/Config.in.libc b/target/config/Config.in.libc
index 136fde47c..c4b287072 100644
--- a/target/config/Config.in.libc
+++ b/target/config/Config.in.libc
@@ -150,8 +150,8 @@ choice
prompt "Target C library version"
depends on !ADK_TARGET_CHOOSE_ARCH
-config ADK_TARGET_LIB_UCLIBC_NG_1_0_46
- bool "1.0.46"
+config ADK_TARGET_LIB_UCLIBC_NG_1_0_48
+ bool "1.0.48"
depends on ADK_TARGET_LIB_UCLIBC_NG
config ADK_TARGET_LIB_UCLIBC_NG_GIT
@@ -200,7 +200,7 @@ config ADK_TARGET_LIBC
config ADK_LIBC_VERSION
string
- default "1.0.46" if ADK_TARGET_LIB_UCLIBC_NG_1_0_46
+ default "1.0.48" if ADK_TARGET_LIB_UCLIBC_NG_1_0_48
default "1.2.5" if ADK_TARGET_LIB_MUSL_1_2_5
default "2.39" if ADK_TARGET_LIB_GLIBC_2_39
default "4.4.0" if ADK_TARGET_LIB_NEWLIB_4_4_0
@@ -220,6 +220,7 @@ config ADK_TARGET_SUFFIX
default "gnux32" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_X32 && ADK_LINUX_64
default "gnuspe" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ARCH_PPC && ADK_TARGET_ARCH_PPC_WITH_SPE
default "gnu" if ADK_TARGET_LIB_GLIBC
+ default "uclibcfdpic" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_XTENSA && ADK_TARGET_BINFMT_FDPIC
default "uclinuxfdpiceabi" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_ARM && ADK_TARGET_BINFMT_FDPIC
default "uclibceabihf" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_ARM && ADK_TARGET_HARD_FLOAT
default "uclibceabi" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_ARM
diff --git a/target/config/Config.in.tools b/target/config/Config.in.tools
index 9433bfa89..cdeeb90ed 100644
--- a/target/config/Config.in.tools
+++ b/target/config/Config.in.tools
@@ -137,10 +137,6 @@ config ADK_HOST_BUILD_TAR
bool
default n
-config ADK_HOST_BUILD_XZ
- bool
- default n
-
# optional, but can be provided by host
config ADK_HOST_BUILD_DOSFSTOOLS
bool
@@ -290,7 +286,6 @@ config ADK_HOST_NEED_SQUASHFS
config ADK_HOST_BUILD_SQUASHFS
bool
- select ADK_HOST_BUILD_XZ
default y if ADK_HOST_NEED_SQUASHFS
default n
@@ -322,7 +317,6 @@ config ADK_COMPRESSION_TOOL
string
default "gzip -n9" if ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_GZIP
default "bzip2" if ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_BZIP2
- default "xz -v --check=crc32 --lzma2=dict=1MiB" if ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_XZ
default "zstd" if ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_ZSTD
default "lz4c -l" if ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_LZ4
default "lzma -9" if ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_LZMA
diff --git a/target/linux/Config.in.kernelversion b/target/linux/Config.in.kernelversion
index d61ea136c..a1c346987 100644
--- a/target/linux/Config.in.kernelversion
+++ b/target/linux/Config.in.kernelversion
@@ -24,10 +24,7 @@ default ADK_TARGET_LINUX_KERNEL_VERSION_4_9 if ADK_TARGET_SYSTEM_ST_STM32F769
default ADK_TARGET_LINUX_KERNEL_VERSION_5_4 if ADK_TARGET_ARCH_C6X
default ADK_TARGET_LINUX_KERNEL_VERSION_5_10 if ADK_TARGET_SYSTEM_NUMATO_MIMASV2
default ADK_TARGET_LINUX_KERNEL_VERSION_5_15 if ADK_TARGET_ARCH_NDS32
-default ADK_TARGET_LINUX_KERNEL_VERSION_6_6 if ADK_TARGET_ARCH_ARM && !ADK_TARGET_WITH_MMU && ADK_TARGET_BINFMT_ELF
-default ADK_TARGET_LINUX_KERNEL_VERSION_6_6 if ADK_TARGET_ARCH_M68K && !ADK_TARGET_WITH_MMU && ADK_TARGET_BINFMT_ELF
-default ADK_TARGET_LINUX_KERNEL_VERSION_6_6 if ADK_TARGET_ARCH_RISCV64 && !ADK_TARGET_WITH_MMU && ADK_TARGET_BINFMT_ELF
-default ADK_TARGET_LINUX_KERNEL_VERSION_6_1
+default ADK_TARGET_LINUX_KERNEL_VERSION_6_6
config ADK_TARGET_LINUX_KERNEL_VERSION_GIT
bool "git"
@@ -42,8 +39,19 @@ config ADK_TARGET_LINUX_KERNEL_VERSION_GIT
select ADK_TARGET_LINUX_KERNEL_IMAGE if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
select ADK_TARGET_LINUX_KERNEL_IMAGE if ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK
+config ADK_TARGET_LINUX_KERNEL_VERSION_6_8
+ bool "6.8.6"
+ depends on !ADK_TARGET_ARCH_AVR32
+ depends on !ADK_TARGET_ARCH_BFIN
+ depends on !ADK_TARGET_ARCH_C6X
+ depends on !ADK_TARGET_ARCH_CRIS
+ depends on !ADK_TARGET_ARCH_FRV
+ depends on !ADK_TARGET_ARCH_H8300
+ depends on !ADK_TARGET_ARCH_METAG
+ depends on !ADK_TARGET_ARCH_NDS32
+
config ADK_TARGET_LINUX_KERNEL_VERSION_6_6
- bool "6.6.22"
+ bool "6.6.28"
depends on !ADK_TARGET_ARCH_AVR32
depends on !ADK_TARGET_ARCH_BFIN
depends on !ADK_TARGET_ARCH_C6X
diff --git a/target/linux/config/Config.in.block b/target/linux/config/Config.in.block
index e7b35a3d7..a287c05cf 100644
--- a/target/linux/config/Config.in.block
+++ b/target/linux/config/Config.in.block
@@ -585,6 +585,31 @@ config ADK_LINUX_KERNEL_MMC_DW_ROCKCHIP
help
RockPI 4 Plus driver for MMC
+config ADK_LINUX_KERNEL_MMC_DW_STARFIVE
+ bool "SD/MMC Driver (Starfive)"
+ select ADK_LINUX_KERNEL_BLOCK
+ select ADK_LINUX_KERNEL_BLK_DEV
+ select ADK_LINUX_KERNEL_LBDAF
+ select ADK_LINUX_KERNEL_SCSI
+ select ADK_LINUX_KERNEL_SCSI_DMA
+ select ADK_LINUX_KERNEL_SCSI_MULTI_LUN
+ select ADK_LINUX_KERNEL_SCSI_CONSTANTS
+ select ADK_LINUX_KERNEL_SCSI_LOGGING
+ select ADK_LINUX_KERNEL_SCSI_SCAN_ASYNC
+ select ADK_LINUX_KERNEL_MMC
+ select ADK_LINUX_KERNEL_MMC_BLOCK
+ select ADK_LINUX_KERNEL_MMC_BLOCK_BOUNCE
+ select ADK_LINUX_KERNEL_MMC_SDHCI
+ select ADK_LINUX_KERNEL_MMC_SDHCI_IO_ACCESSORS
+ select ADK_LINUX_KERNEL_MMC_SDHCI_PLTFM
+ select ADK_LINUX_KERNEL_MMC_DW
+ select ADK_LINUX_KERNEL_MMC_DW_PLTFM
+ depends on ADK_TARGET_SYSTEM_STARFIVE_VISIONFIVE2
+ default y if ADK_TARGET_SYSTEM_STARFIVE_VISIONFIVE2
+ default n
+ help
+ Starfive Visionfive2 driver for MMC
+
endmenu
menu "Block driver support"
diff --git a/target/linux/config/Config.in.compression b/target/linux/config/Config.in.compression
index 2e3d16b6c..c2461ba80 100644
--- a/target/linux/config/Config.in.compression
+++ b/target/linux/config/Config.in.compression
@@ -4,10 +4,6 @@
config ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_NONE
bool
-config ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_XZ
- bool
- select ADK_HOST_NEED_XZ
-
config ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_ZSTD
bool
select ADK_HOST_NEED_ZSTD
@@ -67,12 +63,6 @@ config ADK_LINUX_KERNEL_RD_ZSTD
config ADK_LINUX_KERNEL_KERNEL_ZSTD
bool
-config ADK_LINUX_KERNEL_RD_XZ
- bool
-
-config ADK_LINUX_KERNEL_KERNEL_XZ
- bool
-
config ADK_LINUX_KERNEL_KERNEL_COMPRESS_NONE
bool
@@ -83,9 +73,8 @@ config ADK_LINUX_KERNEL_INITRAMFS_SOURCE
choice
prompt "Kernel compression"
depends on ADK_TARGET_OS_LINUX && !ADK_APPLIANCE_TOOLCHAIN && !ADK_TARGET_CHOOSE_ARCH
-default ADK_LINUX_KERNEL_COMP_GZIP if ADK_TARGET_BOARD_BCM28XX
default ADK_LINUX_KERNEL_COMP_ZSTD if ADK_TARGET_ARCH_OR1K
-default ADK_LINUX_KERNEL_COMP_XZ
+default ADK_LINUX_KERNEL_COMP_GZIP
config ADK_LINUX_KERNEL_COMP_ZSTD
bool "use Zstandard compression"
@@ -95,14 +84,6 @@ config ADK_LINUX_KERNEL_COMP_ZSTD
depends on ADK_TARGET_KERNEL_WITH_COMPRESSION \
|| ADK_TARGET_GENERIC
-config ADK_LINUX_KERNEL_COMP_XZ
- bool "use XZ compression"
- select ADK_LINUX_KERNEL_RD_XZ
- select ADK_LINUX_KERNEL_KERNEL_XZ
- select ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_XZ
- depends on ADK_TARGET_KERNEL_WITH_COMPRESSION \
- || ADK_TARGET_GENERIC
-
config ADK_LINUX_KERNEL_COMP_LZ4
bool "use LZ4 compression"
select ADK_LINUX_KERNEL_RD_LZ4
diff --git a/target/linux/config/Config.in.serial b/target/linux/config/Config.in.serial
index 833c6d1c4..c22746371 100644
--- a/target/linux/config/Config.in.serial
+++ b/target/linux/config/Config.in.serial
@@ -13,6 +13,9 @@ config ADK_LINUX_KERNEL_SERIAL_8250_DW
config ADK_LINUX_KERNEL_SERIAL_8250_CONSOLE
bool
+config ADK_LINUX_KERNEL_SERIAL_8250_PCI
+ bool
+
config ADK_LINUX_KERNEL_SERIAL_8250_PNP
bool
@@ -115,13 +118,16 @@ config ADK_LINUX_KERNEL_SERIAL_8250
|| ADK_TARGET_SYSTEM_ORANGE_PI0 \
|| ADK_TARGET_SYSTEM_SYNOPSYS_HSDK \
|| ADK_TARGET_SYSTEM_SOM_C6745 \
- || ADK_TARGET_SYSTEM_ROCKPI4_PLUS
+ || ADK_TARGET_SYSTEM_ROCKPI4_PLUS \
+ || ADK_TARGET_SYSTEM_STARFIVE_VISIONFIVE2
select ADK_LINUX_KERNEL_SERIAL_8250_PNP if ADK_TARGET_SYSTEM_PCENGINES_APU
select ADK_LINUX_KERNEL_SERIAL_8250_DW if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
select ADK_LINUX_KERNEL_SERIAL_8250_DW if ADK_TARGET_SYSTEM_ORANGE_PI0
select ADK_LINUX_KERNEL_SERIAL_8250_DW if ADK_TARGET_SYSTEM_SYNOPSYS_HSDK
select ADK_LINUX_KERNEL_SERIAL_8250_DW if ADK_TARGET_SYSTEM_QEMU_ARC
select ADK_LINUX_KERNEL_SERIAL_8250_DW if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
+ select ADK_LINUX_KERNEL_SERIAL_8250_DW if ADK_TARGET_SYSTEM_STARFIVE_VISIONFIVE2
+ select ADK_LINUX_KERNEL_SERIAL_8250_EXTENDED if ADK_TARGET_SYSTEM_VISIONFIVE2
select ADK_LINUX_KERNEL_SERIAL_8250_DMA if ADK_TARGET_SYSTEM_ORANGE_PI0
select ADK_LINUX_KERNEL_SERIAL_8250_INGENIC if ADK_TARGET_SYSTEM_IMGTEC_CI20
select ADK_LINUX_KERNEL_SERIAL_8250_BCM2835AUX if ADK_TARGET_SYSTEM_RASPBERRY_PI4
@@ -164,7 +170,8 @@ config ADK_LINUX_KERNEL_SERIAL_8250
|| ADK_TARGET_SYSTEM_SOM_C6745 \
|| ADK_TARGET_SYSTEM_RASPBERRY_PI4 \
|| ADK_TARGET_SYSTEM_RASPBERRY_PI4_64 \
- || ADK_TARGET_SYSTEM_ROCKPI4_PLUS
+ || ADK_TARGET_SYSTEM_ROCKPI4_PLUS \
+ || ADK_TARGET_SYSTEM_STARFIVE_VISIONFIVE2
default y if ADK_TARGET_SYSTEM_XILINX_KINTEX7
default y if ADK_TARGET_SYSTEM_IMGTEC_CI20
default y if ADK_TARGET_SYSTEM_LINKSYS_NSLU2
@@ -200,6 +207,7 @@ config ADK_LINUX_KERNEL_SERIAL_8250
default y if ADK_TARGET_SYSTEM_RASPBERRY_PI4
default y if ADK_TARGET_SYSTEM_RASPBERRY_PI4_64
default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
+ default y if ADK_TARGET_SYSTEM_STARFIVE_VISIONFIVE2
default n
help
Serial driver for 8250 UART chip.
diff --git a/target/linux/config/Config.in.xtensa b/target/linux/config/Config.in.xtensa
index 7a9f12120..570900e0b 100644
--- a/target/linux/config/Config.in.xtensa
+++ b/target/linux/config/Config.in.xtensa
@@ -12,11 +12,34 @@ config ADK_LINUX_KERNEL_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX
config ADK_LINUX_KERNEL_XTENSA_VARIANT_CUSTOM
bool
+ default y if ADK_TARGET_BINFMT_FDPIC
+ default y if ADK_TARGET_BINFMT_FLAT
config ADK_LINUX_KERNEL_XTENSA_VARIANT_CUSTOM_NAME
string
+ default "dc233c" if ADK_TARGET_CPU_XTENSA_DC233C
+ default "dc232b" if ADK_TARGET_CPU_XTENSA_DC232B
default "de212" if ADK_TARGET_CPU_XTENSA_DE212
config ADK_LINUX_KERNEL_BUILTIN_DTB
string
default "kc705_nommu" if ADK_TARGET_CPU_XTENSA_DE212
+
+config ADK_LINUX_KERNEL_USER_ABI_CALL0_ONLY
+ bool
+ default y if ADK_TARGET_ABI_CALL0
+
+config ADK_LINUX_KERNEL_MEMMAP_CACHEATTR
+ hex
+ default "0x2cccccc7"
+ depends on !ADK_TARGET_WITH_MMU
+
+config ADK_LINUX_KERNEL_KERNEL_LOAD_ADDRESS
+ hex
+ default "0x00003000"
+ depends on !ADK_TARGET_WITH_MMU
+
+config ADK_LINUX_KERNEL_DEFAULT_MEM_START
+ hex
+ default "0x00000000"
+ depends on !ADK_TARGET_WITH_MMU
diff --git a/target/linux/patches/6.1.82/or1k-more-ram.patch b/target/linux/patches/6.1.82/or1k-more-ram.patch
new file mode 100644
index 000000000..6397f8445
--- /dev/null
+++ b/target/linux/patches/6.1.82/or1k-more-ram.patch
@@ -0,0 +1,12 @@
+diff -Nur linux-6.1.82.orig/arch/openrisc/boot/dts/or1ksim.dts linux-6.1.82/arch/openrisc/boot/dts/or1ksim.dts
+--- linux-6.1.82.orig/arch/openrisc/boot/dts/or1ksim.dts 2024-03-15 19:27:50.000000000 +0100
++++ linux-6.1.82/arch/openrisc/boot/dts/or1ksim.dts 2024-04-14 16:37:35.139984380 +0200
+@@ -17,7 +17,7 @@
+
+ memory@0 {
+ device_type = "memory";
+- reg = <0x00000000 0x02000000>;
++ reg = <0x00000000 0x08000000>;
+ };
+
+ cpus {
diff --git a/target/linux/patches/6.6.22/armnommu-fix-thread-registers.patch b/target/linux/patches/6.6.28/armnommu-fix-thread-registers.patch
index 8ab2196dc..8ab2196dc 100644
--- a/target/linux/patches/6.6.22/armnommu-fix-thread-registers.patch
+++ b/target/linux/patches/6.6.28/armnommu-fix-thread-registers.patch
diff --git a/target/linux/patches/6.6.22/armnommu-versatile.patch b/target/linux/patches/6.6.28/armnommu-versatile.patch
index f8f10f50b..f8f10f50b 100644
--- a/target/linux/patches/6.6.22/armnommu-versatile.patch
+++ b/target/linux/patches/6.6.28/armnommu-versatile.patch
diff --git a/target/linux/patches/6.6.28/hppa-cross-compile.patch b/target/linux/patches/6.6.28/hppa-cross-compile.patch
new file mode 100644
index 000000000..51c24fff2
--- /dev/null
+++ b/target/linux/patches/6.6.28/hppa-cross-compile.patch
@@ -0,0 +1,12 @@
+diff -Nur linux-6.6.22.orig/arch/parisc/Makefile linux-6.6.22/arch/parisc/Makefile
+--- linux-6.6.22.orig/arch/parisc/Makefile 2024-03-15 19:25:07.000000000 +0100
++++ linux-6.6.22/arch/parisc/Makefile 2024-04-16 03:57:37.515308996 +0200
+@@ -41,7 +41,7 @@
+
+ # Set default 32 bits cross compilers for vdso
+ CC_ARCHES_32 = hppa hppa2.0 hppa1.1
+-CC_SUFFIXES = linux linux-gnu unknown-linux-gnu suse-linux
++CC_SUFFIXES = linux linux-gnu unknown-linux-gnu suse-linux openadk-linux-uclibc
+ CROSS32_COMPILE := $(call cc-cross-prefix, \
+ $(foreach a,$(CC_ARCHES_32), \
+ $(foreach s,$(CC_SUFFIXES),$(a)-$(s)-)))
diff --git a/target/linux/patches/6.6.28/macsonic.patch b/target/linux/patches/6.6.28/macsonic.patch
new file mode 100644
index 000000000..51e76113b
--- /dev/null
+++ b/target/linux/patches/6.6.28/macsonic.patch
@@ -0,0 +1,11 @@
+diff -Nur linux-6.6.22.orig/drivers/net/ethernet/natsemi/Kconfig linux-6.6.22/drivers/net/ethernet/natsemi/Kconfig
+--- linux-6.6.22.orig/drivers/net/ethernet/natsemi/Kconfig 2024-03-15 19:25:07.000000000 +0100
++++ linux-6.6.22/drivers/net/ethernet/natsemi/Kconfig 2024-04-16 10:16:50.352443898 +0200
+@@ -19,6 +19,7 @@
+ config MACSONIC
+ tristate "Macintosh SONIC based ethernet (onboard, NuBus, LC, CS)"
+ depends on MAC
++ select BITREVERSE
+ help
+ Support for NatSemi SONIC based Ethernet devices. This includes
+ the onboard Ethernet in many Quadras as well as some LC-PDS,
diff --git a/target/linux/patches/6.6.28/riscv-flat.patch b/target/linux/patches/6.6.28/riscv-flat.patch
new file mode 100644
index 000000000..6d26c638f
--- /dev/null
+++ b/target/linux/patches/6.6.28/riscv-flat.patch
@@ -0,0 +1,19 @@
+diff -Nur linux-6.6.22.orig/fs/binfmt_flat.c linux-6.6.22/fs/binfmt_flat.c
+--- linux-6.6.22.orig/fs/binfmt_flat.c 2024-03-15 19:25:07.000000000 +0100
++++ linux-6.6.22/fs/binfmt_flat.c 2024-04-17 15:41:29.292461687 +0200
+@@ -879,6 +879,7 @@
+ if (res < 0)
+ return res;
+
++#ifndef CONFIG_BINFMT_FLAT_NO_DATA_START_OFFSET
+ /* Update data segment pointers for all libraries */
+ for (i = 0; i < MAX_SHARED_LIBS; i++) {
+ if (!libinfo.lib_list[i].loaded)
+@@ -893,6 +894,7 @@
+ return -EFAULT;
+ }
+ }
++#endif
+
+ set_binfmt(&flat_format);
+
diff --git a/target/or1k/Makefile b/target/or1k/Makefile
index 030c4efe6..b9273c6f8 100644
--- a/target/or1k/Makefile
+++ b/target/or1k/Makefile
@@ -7,7 +7,7 @@ include $(ADK_TOPDIR)/mk/image.mk
KERNEL:=$(LINUX_DIR)/vmlinux
OSTRIP:=-R .reginfo -R .notes -R .note -R .comment -R .mdebug -R .note.gnu.build-id
-QEMU_ARGS:=-nographic
+QEMU_ARGS:=-m 256 -nographic
# target helper text
ifeq ($(ADK_TARGET_FS),initramfs)
diff --git a/target/riscv32/uclibc-ng-nommu.config b/target/riscv32/uclibc-ng-nommu.config
index b5e038314..f37db1615 100644
--- a/target/riscv32/uclibc-ng-nommu.config
+++ b/target/riscv32/uclibc-ng-nommu.config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# uClibc-ng 1.0.45 C Library Configuration
+# uClibc-ng 1.0.47 C Library Configuration
#
# TARGET_aarch64 is not set
# TARGET_alpha is not set
@@ -43,6 +43,7 @@ TARGET_ARCH_BITS=32
TARGET_ARCH="riscv32"
FORCE_OPTIONS_FOR_ARCH=y
TARGET_SUBARCH=""
+# UCLIBC_FORMAT_ELF is not set
UCLIBC_FORMAT_FLAT=y
# UCLIBC_FORMAT_FLAT_SEP_DATA is not set
# UCLIBC_FORMAT_SHARED_FLAT is not set
@@ -65,18 +66,19 @@ HAVE_DOT_CONFIG=y
#
# General Library Settings
#
-DOPIC=y
+# DOPIC is not set
ARCH_HAS_NO_SHARED=y
ARCH_HAS_NO_LDSO=y
UCLIBC_CTOR_DTOR=y
-HAS_NO_THREADS=y
-# UCLIBC_HAS_THREADS_NATIVE is not set
+# HAS_NO_THREADS is not set
+UCLIBC_HAS_LINUXTHREADS=y
+UCLIBC_HAS_THREADS=y
+# PTHREADS_DEBUG_SUPPORT is not set
PTHREADS_STACK_DEFAULT_SIZE=2097152
UCLIBC_HAS_SYSLOG=y
UCLIBC_HAS_LFS=y
MALLOC=y
# MALLOC_SIMPLE is not set
-# MALLOC_STANDARD is not set
UCLIBC_DYNAMIC_ATEXIT=y
UCLIBC_HAS_UTMPX=y
UCLIBC_HAS_UTMP=y
@@ -100,6 +102,7 @@ UCLIBC_HAS_TZ_FILE=y
UCLIBC_HAS_TZ_FILE_READ_MANY=y
UCLIBC_TZ_FILE_PATH="/etc/TZ"
UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y
+UCLIBC_USE_TIME64=y
#
# Advanced Library Settings
@@ -219,6 +222,7 @@ UCLIBC_BUILD_NOEXECSTACK=y
CROSS_COMPILER_PREFIX=""
UCLIBC_EXTRA_CFLAGS=""
# DODEBUG is not set
+# DODEBUG_PT is not set
# DOSTRIP is not set
# DOASSERTS is not set
# UCLIBC_MALLOC_DEBUGGING is not set
diff --git a/target/riscv64/Makefile b/target/riscv64/Makefile
index b46a7c6e6..55134d24e 100644
--- a/target/riscv64/Makefile
+++ b/target/riscv64/Makefile
@@ -55,6 +55,12 @@ ifeq ($(ADK_TARGET_SYSTEM_SIPEED_MAIX_BIT),y)
@echo 'sudo python3 scripts/kflash.py -p /dev/ttyUSB0 -b 1500000 -t $(FW_DIR)/$(TARGET_KERNEL)'
endif
endif
+ifeq ($(ADK_TARGET_FS),genimage)
+targethelp:
+ @echo "The disk image is: $(FW_DIR)/sdcard.img"
+ @echo "Use following command to install it on SD card:"
+ @echo 'sudo dd if=$(FW_DIR)/sdcard.img of=/dev/sdX bs=2048k'
+endif
ifeq ($(ADK_TARGET_FS),nfsroot)
targethelp:
@echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
@@ -67,6 +73,13 @@ kernel-strip:
kernel-install: kernel-strip
@cp $(BUILD_DIR)/$(TARGET_KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
+dtb-install:
+ ${KERNEL_MAKE} dtbs
+ for x in $(LINUX_DIR)/arch/riscv/boot/dts/*/*.dtb; do \
+ [[ -e "$$x" ]] && cp $(LINUX_DIR)/arch/riscv/boot/dts/*/*.dtb $(FW_DIR); \
+ break; \
+ done
+
# filesystem specific targets
ifeq ($(ADK_TARGET_FS),archive)
imageinstall: kernel-install $(FW_DIR)/$(ROOTFSTARBALL) targethelp
@@ -80,6 +93,9 @@ endif
ifeq ($(ADK_TARGET_FS),initramfspiggyback)
imageinstall: createinitramfs targethelp
endif
+ifeq ($(ADK_TARGET_FS),genimage)
+imageinstall: dtb-install $(FW_DIR)/$(GENIMAGE) targethelp
+endif
ifeq ($(ADK_TARGET_FS),nfsroot)
imageinstall: kernel-install $(FW_DIR)/$(ROOTFSUSERTARBALL) targethelp
endif
diff --git a/target/riscv64/kernel/starfive-visionfive2 b/target/riscv64/kernel/starfive-visionfive2
new file mode 100644
index 000000000..94fb37e55
--- /dev/null
+++ b/target/riscv64/kernel/starfive-visionfive2
@@ -0,0 +1,593 @@
+CONFIG_RISCV=y
+CONFIG_ARCH_RV64I=y
+CONFIG_SOC_STARFIVE=y
+CONFIG_ARCH_STARFIVE=y
+CONFIG_FPU=y
+
+CONFIG_RISCV_SBI=y
+CONFIG_ERRATA_SIFIVE=y
+CONFIG_ERRATA_SIFIVE_CIP_453=y
+CONFIG_ERRATA_SIFIVE_CIP_1200=y
+CONFIG_NONPORTABLE=y
+CONFIG_IRQ_STACKS=y
+CONFIG_RISCV_MISALIGNED=y
+CONFIG_HZ_250=y
+CONFIG_SCHED_HRTICK=y
+CONFIG_ARCH_SUPPORTS_KEXEC=y
+CONFIG_ARCH_SUPPORTS_KEXEC_FILE=y
+CONFIG_ARCH_SUPPORTS_KEXEC_PURGATORY=y
+CONFIG_ARCH_SUPPORTS_CRASH_DUMP=y
+CONFIG_ARCH_HAS_GENERIC_CRASHKERNEL_RESERVATION=y
+CONFIG_EFI_STUB=y
+CONFIG_EFI=y
+CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y
+CONFIG_RISCV_ISA_FALLBACK=y
+CONFIG_ARCH_PROC_KCORE_TEXT=y
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_HIBERNATE_CALLBACKS=y
+CONFIG_HIBERNATION=y
+CONFIG_HIBERNATION_SNAPSHOT_DEV=y
+CONFIG_PM_SLEEP=y
+CONFIG_PM_SLEEP_SMP=y
+CONFIG_PM=y
+CONFIG_PM_CLK=y
+CONFIG_PM_GENERIC_DOMAINS=y
+CONFIG_PM_GENERIC_DOMAINS_SLEEP=y
+CONFIG_PM_GENERIC_DOMAINS_OF=y
+CONFIG_CPU_PM=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_HIBERNATION_HEADER=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+CONFIG_DT_IDLE_STATES=y
+CONFIG_DT_IDLE_GENPD=y
+CONFIG_RISCV_SBI_CPUIDLE=y
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_ATTR_SET=y
+CONFIG_CPU_FREQ_GOV_COMMON=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
+CONFIG_CPUFREQ_DT=y
+CONFIG_CPUFREQ_DT_PLATDEV=y
+CONFIG_ARCH_SUPPORTS_ACPI=y
+CONFIG_HOTPLUG_CORE_SYNC=y
+CONFIG_HOTPLUG_CORE_SYNC_DEAD=y
+CONFIG_GENERIC_ENTRY=y
+CONFIG_JUMP_LABEL=y
+CONFIG_HAVE_64BIT_ALIGNED_ACCESS=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_KPROBES_ON_FTRACE=y
+CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_CONTIGUOUS=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_GENERIC_IDLE_POLL_SETUP=y
+CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
+CONFIG_ARCH_HAS_SET_MEMORY=y
+CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
+CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
+CONFIG_ARCH_WANTS_NO_INSTR=y
+CONFIG_HAVE_ASM_MODVERSIONS=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_RSEQ=y
+CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
+CONFIG_HAVE_PERF_REGS=y
+CONFIG_HAVE_PERF_USER_STACK_DUMP=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
+CONFIG_MMU_LAZY_TLB_REFCOUNT=y
+CONFIG_HAVE_ARCH_SECCOMP=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_SECCOMP=y
+CONFIG_SECCOMP_FILTER=y
+CONFIG_HAVE_STACKPROTECTOR=y
+CONFIG_LTO_NONE=y
+CONFIG_ARCH_SUPPORTS_CFI_CLANG=y
+CONFIG_HAVE_CONTEXT_TRACKING_USER=y
+CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_MOVE_PUD=y
+CONFIG_HAVE_MOVE_PMD=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_HAVE_ARCH_HUGE_VMAP=y
+CONFIG_HAVE_ARCH_HUGE_VMALLOC=y
+CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
+CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
+CONFIG_MODULES_USE_ELF_RELA=y
+CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
+CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
+CONFIG_SOFTIRQ_ON_OWN_STACK=y
+CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
+CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
+CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
+CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
+CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y
+CONFIG_CLONE_BACKWARDS=y
+CONFIG_HAVE_ARCH_VMAP_STACK=y
+CONFIG_VMAP_STACK=y
+CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y
+CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y
+CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
+CONFIG_STRICT_KERNEL_RWX=y
+CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
+CONFIG_STRICT_MODULE_RWX=y
+CONFIG_ARCH_USE_MEMREMAP_PROT=y
+CONFIG_ARCH_HAS_VDSO_DATA=y
+CONFIG_HAVE_PREEMPT_DYNAMIC=y
+CONFIG_HAVE_PREEMPT_DYNAMIC_KEY=y
+CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y
+CONFIG_DYNAMIC_SIGFRAME=y
+CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
+CONFIG_HAVE_GCC_PLUGINS=y
+CONFIG_GCC_PLUGINS=y
+CONFIG_RT_MUTEXES=y
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_COMPRESS_ZSTD=y
+CONFIG_MODULES_TREE_LOOKUP=y
+CONFIG_BLOCK=y
+CONFIG_BLK_CGROUP_PUNT_BIO=y
+CONFIG_BLK_DEV_BSG_COMMON=y
+CONFIG_BLK_ICQ=y
+CONFIG_BLK_DEV_WRITE_MOUNTED=y
+CONFIG_BLK_WBT=y
+CONFIG_BLK_WBT_MQ=y
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_MSDOS_PARTITION=y
+CONFIG_EFI_PARTITION=y
+CONFIG_BLK_MQ_PCI=y
+CONFIG_BLK_PM=y
+CONFIG_IOSCHED_BFQ=y
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+CONFIG_INLINE_READ_UNLOCK=y
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+CONFIG_INLINE_WRITE_UNLOCK=y
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
+CONFIG_MUTEX_SPIN_ON_OWNER=y
+CONFIG_RWSEM_SPIN_ON_OWNER=y
+CONFIG_LOCK_SPIN_ON_OWNER=y
+CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
+CONFIG_QUEUED_RWLOCKS=y
+CONFIG_ARCH_HAS_MMIOWB=y
+CONFIG_MMIOWB=y
+CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
+CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
+CONFIG_FREEZER=y
+CONFIG_BINFMT_ELF=y
+CONFIG_ELFCORE=y
+CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
+CONFIG_BINFMT_SCRIPT=y
+CONFIG_ARCH_HAS_BINFMT_FLAT=y
+CONFIG_COREDUMP=y
+CONFIG_SWAP=y
+CONFIG_ZSMALLOC=y
+CONFIG_SLUB=y
+CONFIG_SLAB_MERGE_DEFAULT=y
+CONFIG_SLUB_CPU_PARTIAL=y
+CONFIG_COMPAT_BRK=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+CONFIG_FLATMEM=y
+CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+CONFIG_ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP=y
+CONFIG_MEMORY_ISOLATION=y
+CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
+CONFIG_COMPACTION=y
+CONFIG_MIGRATION=y
+CONFIG_CONTIG_ALLOC=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_KSM=y
+CONFIG_ARCH_WANTS_THP_SWAP=y
+CONFIG_CMA=y
+CONFIG_GENERIC_EARLY_IOREMAP=y
+CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
+CONFIG_ZONE_DMA32=y
+CONFIG_ARCH_HAS_PTE_SPECIAL=y
+CONFIG_MEMFD_CREATE=y
+CONFIG_SECRETMEM=y
+CONFIG_ARCH_SUPPORTS_PER_VMA_LOCK=y
+CONFIG_PER_VMA_LOCK=y
+CONFIG_LOCK_MM_AND_FIND_VMA=y
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_UNIX_SCM=y
+CONFIG_AF_UNIX_OOB=y
+CONFIG_NET_HANDSHAKE=y
+CONFIG_INET=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_PNP=y
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_IPV6=y
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_DNS_RESOLVER=y
+CONFIG_PCPU_DEV_REFCNT=y
+CONFIG_RPS=y
+CONFIG_RFS_ACCEL=y
+CONFIG_SOCK_RX_QUEUE_MAPPING=y
+CONFIG_XPS=y
+CONFIG_NET_RX_BUSY_POLL=y
+CONFIG_BQL=y
+CONFIG_NET_FLOW_LIMIT=y
+CONFIG_FIB_RULES=y
+CONFIG_NET_SELFTESTS=y
+CONFIG_PAGE_POOL=y
+CONFIG_ARM_AMBA=y
+CONFIG_HAVE_PCI=y
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_DOMAINS_GENERIC=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_PCIEASPM=y
+CONFIG_PCIEASPM_DEFAULT=y
+CONFIG_PCIE_PME=y
+CONFIG_PCI_MSI=y
+CONFIG_PCI_QUIRKS=y
+CONFIG_PCI_ECAM=y
+CONFIG_PCIE_BUS_DEFAULT=y
+CONFIG_VGA_ARB=y
+CONFIG_PCI_HOST_COMMON=y
+CONFIG_PCI_HOST_GENERIC=y
+CONFIG_AUXILIARY_BUS=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_FW_CACHE=y
+CONFIG_ALLOW_DEV_COREDUMP=y
+CONFIG_GENERIC_CPU_DEVICES=y
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=y
+CONFIG_REGMAP_SPI=y
+CONFIG_REGMAP_MMIO=y
+CONFIG_REGMAP_IRQ=y
+CONFIG_DMA_SHARED_BUFFER=y
+CONFIG_GENERIC_ARCH_TOPOLOGY=y
+CONFIG_SIFIVE_CCACHE=y
+CONFIG_EFI_ESRT=y
+CONFIG_EFI_PARAMS_FROM_FDT=y
+CONFIG_EFI_RUNTIME_WRAPPERS=y
+CONFIG_EFI_GENERIC_STUB=y
+CONFIG_EFI_EARLYCON=y
+CONFIG_EFI_DISABLE_RUNTIME=y
+CONFIG_MTD=y
+CONFIG_MTD_OF_PARTS=y
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+CONFIG_MTD_SPI_NOR=y
+CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
+CONFIG_MTD_SPI_NOR_SWP_DISABLE_ON_VOLATILE=y
+CONFIG_DTC=y
+CONFIG_OF=y
+CONFIG_OF_FLATTREE=y
+CONFIG_OF_EARLY_FLATTREE=y
+CONFIG_OF_KOBJ=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_RESERVED_MEM=y
+CONFIG_BLK_DEV=y
+CONFIG_CDROM=y
+CONFIG_ZRAM=y
+CONFIG_ZRAM_DEF_COMP_ZSTD=y
+CONFIG_ZRAM_TRACK_ENTRY_ACTIME=y
+CONFIG_ZRAM_MEMORY_TRACKING=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_NVME_CORE=y
+CONFIG_BLK_DEV_NVME=y
+CONFIG_SCSI_MOD=y
+CONFIG_SCSI_COMMON=y
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+CONFIG_SCSI_PROC_FS=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_DEV_SR=y
+CONFIG_BLK_DEV_BSG=y
+CONFIG_SCSI_LOWLEVEL=y
+CONFIG_NETDEVICES=y
+CONFIG_MII=y
+CONFIG_NET_CORE=y
+CONFIG_ETHERNET=y
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_NET_VENDOR_ADAPTEC=y
+CONFIG_NET_VENDOR_AGERE=y
+CONFIG_NET_VENDOR_ALACRITECH=y
+CONFIG_NET_VENDOR_ALTEON=y
+CONFIG_NET_VENDOR_AMAZON=y
+CONFIG_NET_VENDOR_AMD=y
+CONFIG_NET_VENDOR_AQUANTIA=y
+CONFIG_NET_VENDOR_ARC=y
+CONFIG_NET_VENDOR_ASIX=y
+CONFIG_NET_VENDOR_ATHEROS=y
+CONFIG_NET_VENDOR_BROADCOM=y
+CONFIG_NET_VENDOR_CADENCE=y
+CONFIG_NET_VENDOR_CAVIUM=y
+CONFIG_NET_VENDOR_CHELSIO=y
+CONFIG_NET_VENDOR_CISCO=y
+CONFIG_NET_VENDOR_CORTINA=y
+CONFIG_NET_VENDOR_DAVICOM=y
+CONFIG_NET_VENDOR_DEC=y
+CONFIG_NET_VENDOR_DLINK=y
+CONFIG_NET_VENDOR_EMULEX=y
+CONFIG_NET_VENDOR_ENGLEDER=y
+CONFIG_NET_VENDOR_EZCHIP=y
+CONFIG_NET_VENDOR_FUNGIBLE=y
+CONFIG_NET_VENDOR_GOOGLE=y
+CONFIG_NET_VENDOR_HUAWEI=y
+CONFIG_NET_VENDOR_I825XX=y
+CONFIG_NET_VENDOR_INTEL=y
+CONFIG_NET_VENDOR_ADI=y
+CONFIG_NET_VENDOR_LITEX=y
+CONFIG_NET_VENDOR_MARVELL=y
+CONFIG_NET_VENDOR_MELLANOX=y
+CONFIG_NET_VENDOR_MICREL=y
+CONFIG_NET_VENDOR_MICROCHIP=y
+CONFIG_NET_VENDOR_MICROSEMI=y
+CONFIG_NET_VENDOR_MICROSOFT=y
+CONFIG_NET_VENDOR_MYRI=y
+CONFIG_NET_VENDOR_NI=y
+CONFIG_NET_VENDOR_NATSEMI=y
+CONFIG_NET_VENDOR_NETERION=y
+CONFIG_NET_VENDOR_NETRONOME=y
+CONFIG_NET_VENDOR_8390=y
+CONFIG_NET_VENDOR_NVIDIA=y
+CONFIG_NET_VENDOR_OKI=y
+CONFIG_NET_VENDOR_PACKET_ENGINES=y
+CONFIG_NET_VENDOR_PENSANDO=y
+CONFIG_NET_VENDOR_QLOGIC=y
+CONFIG_NET_VENDOR_BROCADE=y
+CONFIG_NET_VENDOR_QUALCOMM=y
+CONFIG_NET_VENDOR_RDC=y
+CONFIG_NET_VENDOR_REALTEK=y
+CONFIG_NET_VENDOR_RENESAS=y
+CONFIG_NET_VENDOR_ROCKER=y
+CONFIG_NET_VENDOR_SAMSUNG=y
+CONFIG_NET_VENDOR_SEEQ=y
+CONFIG_NET_VENDOR_SILAN=y
+CONFIG_NET_VENDOR_SIS=y
+CONFIG_NET_VENDOR_SOLARFLARE=y
+CONFIG_NET_VENDOR_SMSC=y
+CONFIG_NET_VENDOR_SOCIONEXT=y
+CONFIG_NET_VENDOR_STMICRO=y
+CONFIG_STMMAC_ETH=y
+CONFIG_STMMAC_PLATFORM=y
+CONFIG_DWMAC_DWC_QOS_ETH=y
+CONFIG_DWMAC_STARFIVE=y
+CONFIG_NET_VENDOR_SUN=y
+CONFIG_NET_VENDOR_SYNOPSYS=y
+CONFIG_NET_VENDOR_TEHUTI=y
+CONFIG_NET_VENDOR_TI=y
+CONFIG_NET_VENDOR_VERTEXCOM=y
+CONFIG_NET_VENDOR_VIA=y
+CONFIG_NET_VENDOR_WANGXUN=y
+CONFIG_NET_VENDOR_WIZNET=y
+CONFIG_NET_VENDOR_XILINX=y
+CONFIG_PHYLINK=y
+CONFIG_PHYLIB=y
+CONFIG_SWPHY=y
+CONFIG_FIXED_PHY=y
+CONFIG_MICROCHIP_PHY=y
+CONFIG_MOTORCOMM_PHY=y
+CONFIG_MDIO_DEVICE=y
+CONFIG_MDIO_BUS=y
+CONFIG_FWNODE_MDIO=y
+CONFIG_OF_MDIO=y
+CONFIG_MDIO_DEVRES=y
+CONFIG_PCS_XPCS=y
+CONFIG_USB_NET_DRIVERS=y
+CONFIG_INPUT=y
+CONFIG_TTY=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_TIOCSTI=y
+CONFIG_SERIAL_EARLYCON=y
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_DMA=y
+CONFIG_SERIAL_8250_PCILIB=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_EXAR=y
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_MANY_PORTS=y
+CONFIG_SERIAL_8250_DWLIB=y
+CONFIG_SERIAL_8250_DW=y
+CONFIG_SERIAL_8250_PERICOM=y
+CONFIG_SERIAL_OF_PLATFORM=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SERIAL_MCTRL_GPIO=y
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_JH7110=y
+CONFIG_DEVMEM=y
+CONFIG_DEVPORT=y
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_DESIGNWARE_CORE=y
+CONFIG_I2C_DESIGNWARE_PLATFORM=y
+CONFIG_SPI=y
+CONFIG_SPI_MASTER=y
+CONFIG_SPI_MEM=y
+CONFIG_SPI_CADENCE_QUADSPI=y
+CONFIG_SPI_PL022=y
+CONFIG_SPI_SPIDEV=y
+CONFIG_PTP_1588_CLOCK_OPTIONAL=y
+CONFIG_PINCTRL=y
+CONFIG_GENERIC_PINCTRL_GROUPS=y
+CONFIG_PINMUX=y
+CONFIG_GENERIC_PINMUX_FUNCTIONS=y
+CONFIG_PINCONF=y
+CONFIG_GENERIC_PINCONF=y
+CONFIG_PINCTRL_STARFIVE_JH7100=y
+CONFIG_PINCTRL_STARFIVE_JH7110=y
+CONFIG_PINCTRL_STARFIVE_JH7110_SYS=y
+CONFIG_PINCTRL_STARFIVE_JH7110_AON=y
+CONFIG_GPIOLIB=y
+CONFIG_OF_GPIO=y
+CONFIG_GPIOLIB_IRQCHIP=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_CDEV=y
+CONFIG_GPIO_CDEV_V1=y
+CONFIG_POWER_RESET=y
+CONFIG_POWER_RESET_GPIO_RESTART=y
+CONFIG_HWMON=y
+CONFIG_SENSORS_SFCTEMP=y
+CONFIG_THERMAL=y
+CONFIG_THERMAL_HWMON=y
+CONFIG_THERMAL_OF=y
+CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
+CONFIG_THERMAL_GOV_STEP_WISE=y
+CONFIG_CPU_THERMAL=y
+CONFIG_CPU_FREQ_THERMAL=y
+CONFIG_THERMAL_EMULATION=y
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=y
+CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
+CONFIG_STARFIVE_WATCHDOG=y
+CONFIG_SSB_POSSIBLE=y
+CONFIG_BCMA_POSSIBLE=y
+CONFIG_MFD_CORE=y
+CONFIG_MFD_AXP20X=y
+CONFIG_MFD_AXP20X_I2C=y
+CONFIG_MFD_SYSCON=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_AXP20X=y
+CONFIG_MEDIA_CEC_SUPPORT=y
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_MEDIA_SUPPORT_FILTER=y
+CONFIG_VIDEO_CMDLINE=y
+CONFIG_VIDEO_NOMODESET=y
+CONFIG_DRM=y
+CONFIG_DRM_PANEL=y
+CONFIG_DRM_BRIDGE=y
+CONFIG_DRM_PANEL_BRIDGE=y
+CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_HDMI=y
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_DMAENGINE_PCM=y
+CONFIG_SND_JACK=y
+CONFIG_SND_JACK_INPUT_DEV=y
+CONFIG_SND_PCM_TIMER=y
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_PROC_FS=y
+CONFIG_SND_VERBOSE_PROCFS=y
+CONFIG_SND_CTL_FAST_LOOKUP=y
+CONFIG_SND_DRIVERS=y
+CONFIG_SND_PCI=y
+CONFIG_SND_SPI=y
+CONFIG_SND_USB=y
+CONFIG_SND_SOC=y
+CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
+CONFIG_SND_DESIGNWARE_I2S=y
+CONFIG_SND_SOC_STARFIVE=y
+CONFIG_SND_SOC_JH7110_PWMDAC=y
+CONFIG_SND_SOC_JH7110_TDM=y
+CONFIG_SND_SOC_I2C_AND_SPI=y
+CONFIG_SND_SOC_SPDIF=y
+CONFIG_SND_SOC_WM8960=y
+CONFIG_SND_SIMPLE_CARD_UTILS=y
+CONFIG_SND_SIMPLE_CARD=y
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=y
+CONFIG_HID_GENERIC=y
+CONFIG_USB_HID=y
+CONFIG_I2C_HID=y
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB=y
+CONFIG_USB_PCI=y
+CONFIG_USB_DEFAULT_PERSIST=y
+CONFIG_USB_XHCI_HCD=y
+CONFIG_USB_XHCI_PCI=y
+CONFIG_USB_XHCI_PLATFORM=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+CONFIG_USB_EHCI_PCI=y
+CONFIG_USB_EHCI_HCD_PLATFORM=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_HCD_PCI=y
+CONFIG_USB_OHCI_HCD_PLATFORM=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_UAS=y
+CONFIG_USB_CDNS_SUPPORT=y
+CONFIG_USB_CDNS_HOST=y
+CONFIG_USB_CDNS3=y
+CONFIG_USB_CDNS3_GADGET=y
+CONFIG_USB_CDNS3_HOST=y
+CONFIG_USB_CDNS3_STARFIVE=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_LIBCOMPOSITE=y
+CONFIG_USB_F_FS=y
+CONFIG_USB_CONFIGFS=y
+CONFIG_USB_CONFIGFS_F_FS=y
+CONFIG_USB_ROLE_SWITCH=y
+CONFIG_MMC=y
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_OF_DWCMSHC=y
+CONFIG_MMC_DW=y
+CONFIG_MMC_DW_PLTFM=y
+CONFIG_MMC_DW_STARFIVE=y
+CONFIG_EDAC_SUPPORT=y
+CONFIG_DMADEVICES=y
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_VIRTUAL_CHANNELS=y
+CONFIG_DMA_OF=y
+CONFIG_AMBA_PL08X=y
+CONFIG_DW_AXI_DMAC=y
+CONFIG_DMATEST=y
+CONFIG_DMA_ENGINE_RAID=y
+CONFIG_SYNC_FILE=y
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_CLK_PREPARE=y
+CONFIG_COMMON_CLK=y
+CONFIG_CLK_STARFIVE_JH71X0=y
+CONFIG_CLK_STARFIVE_JH7100=y
+CONFIG_CLK_STARFIVE_JH7110_PLL=y
+CONFIG_CLK_STARFIVE_JH7110_SYS=y
+CONFIG_CLK_STARFIVE_JH7110_AON=y
+CONFIG_CLK_STARFIVE_JH7110_STG=y
+CONFIG_CLK_STARFIVE_JH7110_ISP=y
+CONFIG_CLK_STARFIVE_JH7110_VOUT=y
+CONFIG_TIMER_OF=y
+CONFIG_TIMER_PROBE=y
+CONFIG_RISCV_TIMER=y
+CONFIG_JH71XX_PMU=y
+CONFIG_PWM=y
+CONFIG_PWM_SYSFS=y
+CONFIG_IRQCHIP=y
+CONFIG_RISCV_INTC=y
+CONFIG_SIFIVE_PLIC=y
+CONFIG_RESET_CONTROLLER=y
+CONFIG_RESET_STARFIVE_JH71X0=y
+CONFIG_RESET_STARFIVE_JH7100=y
+CONFIG_RESET_STARFIVE_JH7110=y
+CONFIG_GENERIC_PHY=y
+CONFIG_GENERIC_PHY_MIPI_DPHY=y
+CONFIG_PHY_STARFIVE_JH7110_DPHY_RX=y
+CONFIG_PHY_STARFIVE_JH7110_PCIE=y
+CONFIG_PHY_STARFIVE_JH7110_USB=y
+CONFIG_RISCV_PMU=y
+CONFIG_RISCV_PMU_LEGACY=y
+CONFIG_RISCV_PMU_SBI=y
diff --git a/target/riscv64/starfive-visionfive2/extlinux.conf b/target/riscv64/starfive-visionfive2/extlinux.conf
new file mode 100644
index 000000000..3d7e45151
--- /dev/null
+++ b/target/riscv64/starfive-visionfive2/extlinux.conf
@@ -0,0 +1,4 @@
+label starfive-visionfive2
+ kernel /boot/kernel
+ devicetree /boot/jh7110-starfive-visionfive-2-v1.3b.dtb
+ append console=ttyS0,115200 root=/dev/mmcblk1p3 rootwait
diff --git a/target/riscv64/starfive-visionfive2/genimage.cfg b/target/riscv64/starfive-visionfive2/genimage.cfg
new file mode 100644
index 000000000..5d26dc49b
--- /dev/null
+++ b/target/riscv64/starfive-visionfive2/genimage.cfg
@@ -0,0 +1,28 @@
+# Minimal SD card image for the Starfive VisionFive2 board
+
+image sdcard.img {
+ hdimage {
+ partition-table-type = "gpt"
+ }
+
+ partition spl {
+ partition-type-uuid = 2E54B353-1271-4842-806F-E436D6AF6985
+ image = "u-boot-spl.bin.normal.out"
+ }
+
+ partition uboot {
+ partition-type-uuid = BC13C2FF-59E6-4262-A352-B275FD6F7172
+ image = "u-boot.itb"
+ }
+
+ partition rootfs {
+ partition-type-uuid = 0FC63DAF-8483-4772-8E79-3D69D8477DE4
+ bootable = true
+ image = "rootfs.ext"
+ }
+
+ partition cfgfs {
+ partition-type-uuid = 0FC63DAF-8483-4772-8E79-3D69D8477DE4
+ image = "cfgfs.img"
+ }
+}
diff --git a/target/riscv64/systems/starfive-visionfive2 b/target/riscv64/systems/starfive-visionfive2
new file mode 100644
index 000000000..041cd1c53
--- /dev/null
+++ b/target/riscv64/systems/starfive-visionfive2
@@ -0,0 +1,17 @@
+config ADK_TARGET_SYSTEM_STARFIVE_VISIONFIVE2
+ bool "Starfive VisionFive 2"
+ select ADK_TARGET_CPU_RISCV64
+ select ADK_TARGET_WITH_SERIAL
+ select ADK_TARGET_WITH_BLOCK
+ select ADK_TARGET_WITH_SD
+ select ADK_TARGET_WITH_SMP
+ select ADK_TARGET_WITH_PCI
+ select ADK_TARGET_WITH_USB
+ select ADK_TARGET_WITH_NET
+ select ADK_TARGET_WITH_NETDEVICE
+ select ADK_TARGET_KERNEL_IMAGE
+ select ADK_PACKAGE_GPTFDISK
+ select ADK_PACKAGE_OPENSBI
+ select ADK_PACKAGE_U_BOOT
+ help
+ Starfive VisionFive 2.
diff --git a/target/sh/kernel/qemu-sh b/target/sh/kernel/qemu-sh
index 7a2e8f458..58dfc450f 100644
--- a/target/sh/kernel/qemu-sh
+++ b/target/sh/kernel/qemu-sh
@@ -3,7 +3,7 @@ CONFIG_SUPERH32=y
CONFIG_CPU_SH4=y
CONFIG_CPU_SUBTYPE_SH7751R=y
CONFIG_MEMORY_START=0x0c000000
-CONFIG_MEMORY_SIZE=0x04000000
+CONFIG_MEMORY_SIZE=0x07000000
CONFIG_29BIT=y
CONFIG_VSYSCALL=y
CONFIG_SH_FPU=y
@@ -15,4 +15,3 @@ CONFIG_CMDLINE_EXTEND=y
CONFIG_SERIAL_SH_SCI=y
CONFIG_SERIAL_SH_SCI_NR_UARTS=2
CONFIG_SERIAL_SH_SCI_CONSOLE=y
-CONFIG_COMPAT_32BIT_TIME=y
diff --git a/target/xtensa/Makefile b/target/xtensa/Makefile
index 457783bfc..9e9e90b49 100644
--- a/target/xtensa/Makefile
+++ b/target/xtensa/Makefile
@@ -5,24 +5,21 @@ include $(ADK_TOPDIR)/rules.mk
include $(ADK_TOPDIR)/mk/kernel-build.mk
include $(ADK_TOPDIR)/mk/image.mk
-ifeq ($(ADK_TARGET_CPU_XTENSA_DE212),y)
-KERNEL:=$(LINUX_DIR)/arch/xtensa/boot/Image.elf
-else
-KERNEL:=$(LINUX_DIR)/arch/xtensa/boot/uImage
-endif
-
QEMU_ARGS:=${ADK_QEMU_ARGS}
ifeq ($(ADK_TARGET_CPU_XTENSA_DC233C),y)
-QEMU_ARGS+=-M kc705
+QEMU_ARGS+=-M lx60
QEMU_ARGS+=-cpu dc233c
+KERNEL:=$(LINUX_DIR)/arch/xtensa/boot/Image.elf
endif
ifeq ($(ADK_TARGET_CPU_XTENSA_DC232B),y)
QEMU_ARGS+=-M kc705
QEMU_ARGS+=-cpu dc232b
+KERNEL:=$(LINUX_DIR)/arch/xtensa/boot/uImage
endif
ifeq ($(ADK_TARGET_CPU_XTENSA_DE212),y)
QEMU_ARGS+=-M kc705-nommu
QEMU_ARGS+=-cpu de212 -m 256
+KERNEL:=$(LINUX_DIR)/arch/xtensa/boot/Image.elf
endif
# target helper text
diff --git a/target/xtensa/kernel/qemu-xtensa b/target/xtensa/kernel/qemu-xtensa
index f56550baa..5f50e9f61 100644
--- a/target/xtensa/kernel/qemu-xtensa
+++ b/target/xtensa/kernel/qemu-xtensa
@@ -1,5 +1,6 @@
CONFIG_XTENSA=y
+CONFIG_XTENSA_UNALIGNED_USER=y
CONFIG_XTENSA_PLATFORM_XTFPGA=y
CONFIG_CMDLINE_BOOL=y
-CONFIG_CMDLINE="console=ttyS0,38400 memmap=128M@0"
-CONFIG_COMPAT_32BIT_TIME=y
+CONFIG_CMDLINE="earlycon=uart8250,mmio32,0xfd050020,115200n8 console=ttyS0,115200n8 memmap=0x04000000@0"
+CONFIG_SECTION_MISMATCH_WARN_ONLY=y
diff --git a/target/xtensa/overlay/xtensa_dc233c_call0.tar b/target/xtensa/overlay/xtensa_dc233c_call0.tar
new file mode 100644
index 000000000..c36f65cc4
--- /dev/null
+++ b/target/xtensa/overlay/xtensa_dc233c_call0.tar
Binary files differ
diff --git a/target/xtensa/overlay/xtensa_dc233c.tar b/target/xtensa/overlay/xtensa_dc233c_windowed.tar
index 56ccc5b31..56ccc5b31 100644
--- a/target/xtensa/overlay/xtensa_dc233c.tar
+++ b/target/xtensa/overlay/xtensa_dc233c_windowed.tar
Binary files differ
diff --git a/target/xtensa/uclibc-ng-nommu.config b/target/xtensa/uclibc-ng-nommu.config
index e9f9a7546..b2a2ae778 100644
--- a/target/xtensa/uclibc-ng-nommu.config
+++ b/target/xtensa/uclibc-ng-nommu.config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# uClibc-ng 1.0.45 C Library Configuration
+# uClibc-ng 1.0.48 C Library Configuration
#
# TARGET_aarch64 is not set
# TARGET_alpha is not set
@@ -43,9 +43,9 @@ TARGET_ARCH_BITS=32
TARGET_ARCH="xtensa"
FORCE_OPTIONS_FOR_ARCH=y
TARGET_SUBARCH=""
-UCLIBC_FORMAT_FLAT=y
+UCLIBC_FORMAT_FDPIC_ELF=y
+# UCLIBC_FORMAT_FLAT is not set
# UCLIBC_FORMAT_FLAT_SEP_DATA is not set
-# UCLIBC_FORMAT_SHARED_FLAT is not set
ARCH_HAS_DEPRECATED_SYSCALLS=y
ARCH_ANY_ENDIAN=y
ARCH_LITTLE_ENDIAN=y
@@ -66,13 +66,31 @@ HAVE_DOT_CONFIG=y
# General Library Settings
#
DOPIC=y
-# STATIC_PIE is not set
-ARCH_HAS_NO_SHARED=y
-ARCH_HAS_NO_LDSO=y
ARCH_HAS_UCONTEXT=y
+HAVE_LDSO=y
+HAVE_SHARED=y
+# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
+LDSO_LDD_SUPPORT=y
+LDSO_CACHE_SUPPORT=y
+LDSO_PRELOAD_ENV_SUPPORT=y
+# LDSO_PRELOAD_FILE_SUPPORT is not set
+LDSO_BASE_FILENAME="ld.so"
+# LDSO_STANDALONE_SUPPORT is not set
+# LDSO_PRELINK_SUPPORT is not set
+UCLIBC_STATIC_LDCONFIG=y
+LDSO_RUNPATH=y
+# LDSO_RUNPATH_OF_EXECUTABLE is not set
+LDSO_SAFE_RUNPATH=y
+LDSO_SEARCH_INTERP_PATH=y
+LDSO_LD_LIBRARY_PATH=y
UCLIBC_CTOR_DTOR=y
-HAS_NO_THREADS=y
+# LDSO_GNU_HASH_SUPPORT is not set
+# HAS_NO_THREADS is not set
# UCLIBC_HAS_LINUXTHREADS is not set
+UCLIBC_HAS_THREADS_NATIVE=y
+UCLIBC_HAS_THREADS=y
+UCLIBC_HAS_TLS=y
+# PTHREADS_DEBUG_SUPPORT is not set
PTHREADS_STACK_DEFAULT_SIZE=2097152
UCLIBC_HAS_SYSLOG=y
UCLIBC_HAS_LFS=y
@@ -151,6 +169,7 @@ UCLIBC_DNSRAND_MODE_PRNGPLUS=y
#
UCLIBC_HAS_STRING_GENERIC_OPT=y
UCLIBC_HAS_STRING_ARCH_OPT=y
+UCLIBC_HAS_STDIO_FUTEXES=y
UCLIBC_HAS_CTYPE_TABLES=y
UCLIBC_HAS_CTYPE_SIGNED=y
# UCLIBC_HAS_CTYPE_UNSAFE is not set
@@ -214,6 +233,8 @@ HARDWIRED_ABSPATH=y
# Security options
#
# UCLIBC_HAS_SSP is not set
+UCLIBC_BUILD_RELRO=y
+# UCLIBC_BUILD_NOW is not set
UCLIBC_BUILD_NOEXECSTACK=y
#
@@ -224,6 +245,9 @@ UCLIBC_EXTRA_CFLAGS=""
# DODEBUG is not set
# DOSTRIP is not set
# DOASSERTS is not set
+# SUPPORT_LD_DEBUG is not set
+# SUPPORT_LD_DEBUG_EARLY is not set
# UCLIBC_MALLOC_DEBUGGING is not set
+# UCLIBC_HAS_BACKTRACE is not set
WARNINGS="-Wall"
# EXTRA_WARNINGS is not set