From e8725a932e16eaf6ec51add8c084d959cbe32ff2 Mon Sep 17 00:00:00 2001 From: Paul Spooren Date: Sun, 17 Mar 2024 18:43:10 +0100 Subject: [PATCH 01/23] treewide: use APK compatible version schema Different from OPKG, APK uses a deterministic version schema which chips the version into chunks and compares them individually. This enforces a certain schema which was previously entirely flexible. - Releases are added at the very and end prefixed with an `r` like `1.2.3-r3`. - Hashes are prefixed with a `~` like `1.2.3~abc123`. - Dates become semantic versions, like `2024.04.01` - Extra tags are possible like `_git`, `_alpha` and more. For full details see the APK test list: https://gitlab.alpinelinux.org/alpine/apk-tools/-/blob/master/test/version.data Signed-off-by: Paul Spooren --- include/download.mk | 2 +- include/kernel.mk | 4 ++-- include/package-defaults.mk | 2 +- package/base-files/Makefile | 2 +- package/devel/leds/Makefile | 1 - package/firmware/ath10k-ct-firmware/Makefile | 2 +- package/firmware/ath11k-firmware/Makefile | 2 +- package/firmware/broadcom-sprom/Makefile | 2 +- package/kernel/ath10k-ct/Makefile | 2 +- package/kernel/linux/Makefile | 2 +- package/kernel/mt76/Makefile | 2 +- package/kernel/nat46/Makefile | 2 +- package/kernel/rtl8812au-ct/Makefile | 2 +- package/libs/libnl-tiny/Makefile | 2 +- package/libs/libubox/Makefile | 2 +- package/libs/toolchain/Makefile | 4 ++-- package/libs/uclient/Makefile | 2 +- package/libs/udebug/Makefile | 2 +- package/libs/ustream-ssl/Makefile | 2 +- package/network/config/firewall/Makefile | 2 +- package/network/config/firewall4/Makefile | 4 ++-- package/network/config/netifd/Makefile | 2 +- package/network/config/qosify/Makefile | 2 +- package/network/ipv6/odhcp6c/Makefile | 2 +- package/network/services/bridger/Makefile | 2 +- package/network/services/hostapd/Makefile | 8 ++++---- package/network/services/ipset-dns/Makefile | 2 +- package/network/services/odhcpd/Makefile | 2 +- package/network/services/omcproxy/Makefile | 2 +- package/network/services/ppp/Makefile | 4 ++-- package/network/services/relayd/Makefile | 2 +- package/network/services/uhttpd/Makefile | 2 +- package/network/services/umdns/Makefile | 2 +- package/network/services/unetd/Makefile | 2 +- package/network/services/ustp/Makefile | 2 +- package/network/utils/ebtables/Makefile | 2 +- package/network/utils/iwinfo/Makefile | 2 +- package/network/utils/umbim/Makefile | 2 +- package/network/utils/uqmi/Makefile | 2 +- package/network/utils/wwan/Makefile | 2 +- package/system/fstools/Makefile | 2 +- package/system/fwtool/Makefile | 2 +- package/system/gpio-cdev/nu801/Makefile | 2 +- package/system/openwrt-keyring/Makefile | 2 +- package/system/opkg/Makefile | 2 +- package/system/procd/Makefile | 2 +- package/system/rpcd/Makefile | 2 +- package/system/ubox/Makefile | 2 +- package/system/ubus/Makefile | 2 +- package/system/ucert/Makefile | 2 +- package/system/uci/Makefile | 2 +- package/system/urngd/Makefile | 2 +- package/system/usign/Makefile | 2 +- package/utils/jsonfilter/Makefile | 2 +- package/utils/ravpower-mcu/Makefile | 2 +- package/utils/ucode/Makefile | 2 +- package/utils/ugps/Makefile | 2 +- package/utils/usbmode/Makefile | 2 +- tools/b43-tools/Makefile | 2 +- tools/cbootimage-configs/Makefile | 2 +- tools/firmware-utils/Makefile | 2 +- tools/make-ext4fs/Makefile | 2 +- tools/sdimage/Makefile | 2 +- 63 files changed, 69 insertions(+), 70 deletions(-) diff --git a/include/download.mk b/include/download.mk index e261b14035..d9edcb1c3a 100644 --- a/include/download.mk +++ b/include/download.mk @@ -10,7 +10,7 @@ LEDE_GIT = $(PROJECT_GIT) ifdef PKG_SOURCE_VERSION ifndef PKG_VERSION - PKG_VERSION := $(if $(PKG_SOURCE_DATE),$(PKG_SOURCE_DATE)-)$(call version_abbrev,$(PKG_SOURCE_VERSION)) + PKG_VERSION := $(if $(PKG_SOURCE_DATE),$(subst -,.,$(PKG_SOURCE_DATE)),0)~$(call version_abbrev,$(PKG_SOURCE_VERSION)) endif PKG_SOURCE_SUBDIR ?= $(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE ?= $(PKG_SOURCE_SUBDIR).tar.xz diff --git a/include/kernel.mk b/include/kernel.mk index 8236416132..9969c519dd 100644 --- a/include/kernel.mk +++ b/include/kernel.mk @@ -211,8 +211,8 @@ define KernelPackage SECTION:=kernel CATEGORY:=Kernel modules DESCRIPTION:=$(DESCRIPTION) - EXTRA_DEPENDS:=kernel (=$(LINUX_VERSION)-$(LINUX_RELEASE)-$(LINUX_VERMAGIC)) - VERSION:=$(LINUX_VERSION)$(if $(PKG_VERSION),+$(PKG_VERSION))-$(if $(PKG_RELEASE),$(PKG_RELEASE),$(LINUX_RELEASE)) + EXTRA_DEPENDS:=kernel (=$(LINUX_VERSION)~$(LINUX_VERMAGIC)-r$(LINUX_RELEASE)) + VERSION:=$(LINUX_VERSION)$(if $(PKG_VERSION),.$(PKG_VERSION))-r$(if $(PKG_RELEASE),$(PKG_RELEASE),$(LINUX_RELEASE)) PKGFLAGS:=$(PKGFLAGS) $(call KernelPackage/$(1)) $(call KernelPackage/$(1)/$(BOARD)) diff --git a/include/package-defaults.mk b/include/package-defaults.mk index 392aad0d5d..37de9f0ccb 100644 --- a/include/package-defaults.mk +++ b/include/package-defaults.mk @@ -23,7 +23,7 @@ define Package/Default SOURCE:=$(patsubst $(TOPDIR)/%,%,$(patsubst $(TOPDIR)/package/%,feeds/base/%,$(CURDIR))) ifneq ($(PKG_VERSION),) ifneq ($(PKG_RELEASE),) - VERSION:=$(PKG_VERSION)-$(PKG_RELEASE) + VERSION:=$(PKG_VERSION)-r$(PKG_RELEASE) else VERSION:=$(PKG_VERSION) endif diff --git a/package/base-files/Makefile b/package/base-files/Makefile index 67fc5d29c1..b1a834e1bf 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -42,7 +42,7 @@ define Package/base-files DEPENDS:=+netifd +libc +jsonfilter +SIGNED_PACKAGES:usign +SIGNED_PACKAGES:openwrt-keyring +NAND_SUPPORT:ubi-utils +fstools +fwtool TITLE:=Base filesystem for OpenWrt URL:=http://openwrt.org/ - VERSION:=$(PKG_RELEASE)-$(REVISION) + VERSION:=$(PKG_RELEASE)~$(lastword $(subst -, ,$(REVISION))) endef define Package/base-files/conffiles diff --git a/package/devel/leds/Makefile b/package/devel/leds/Makefile index 47b9674c4f..ea3b19c4e9 100644 --- a/package/devel/leds/Makefile +++ b/package/devel/leds/Makefile @@ -14,7 +14,6 @@ include $(INCLUDE_DIR)/package.mk define Package/leds/default SECTION:=devel CATEGORY:=Development - VERSION:=$(LINUX_VERSION)-$(PKG_RELEASE) URL:=http://www.kernel.org endef diff --git a/package/firmware/ath10k-ct-firmware/Makefile b/package/firmware/ath10k-ct-firmware/Makefile index 78846fbe9d..f861a32b8b 100644 --- a/package/firmware/ath10k-ct-firmware/Makefile +++ b/package/firmware/ath10k-ct-firmware/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ath10k-ct-firmware -PKG_VERSION:=2020-11-08 +PKG_VERSION:=2020.11.08 PKG_RELEASE:=1 DL_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) diff --git a/package/firmware/ath11k-firmware/Makefile b/package/firmware/ath11k-firmware/Makefile index 33fe6fbb1f..87d486eacc 100644 --- a/package/firmware/ath11k-firmware/Makefile +++ b/package/firmware/ath11k-firmware/Makefile @@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ath11k-firmware PKG_SOURCE_DATE:=2024-03-14 PKG_SOURCE_VERSION:=795809c7041582bd51bdfaa1f548b916ae8d4382 -PKG_MIRROR_HASH:=7d6d2946531c336a402f51e453d5b0e2b5c17201432d6cfa5482eb3626270212 +PKG_MIRROR_HASH:=5018bbfed6da372b9f2ab9b152d3dfd09718713310d83232a699545b53c84b2e PKG_RELEASE:=2 PKG_SOURCE_PROTO:=git diff --git a/package/firmware/broadcom-sprom/Makefile b/package/firmware/broadcom-sprom/Makefile index 01bca2c35b..2d2839179e 100644 --- a/package/firmware/broadcom-sprom/Makefile +++ b/package/firmware/broadcom-sprom/Makefile @@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=broadcom-sprom PKG_SOURCE_DATE:=2023-04-27 PKG_SOURCE_VERSION:=d36f7fcb37711106a3a2652b576436cb09aa5b6f -PKG_MIRROR_HASH:=fde251ab4ed26d61c95269316119710d6ccb8fe30ef13305d08b3e7d7d8a4c60 +PKG_MIRROR_HASH:=70c68c923a661f40842e8800203b4b3a2675f6735c35aa3479f856cc54ad750c PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git diff --git a/package/kernel/ath10k-ct/Makefile b/package/kernel/ath10k-ct/Makefile index 9c0029d3bd..2942976373 100644 --- a/package/kernel/ath10k-ct/Makefile +++ b/package/kernel/ath10k-ct/Makefile @@ -10,7 +10,7 @@ PKG_SOURCE_URL:=https://github.com/greearb/ath10k-ct.git PKG_SOURCE_PROTO:=git PKG_SOURCE_DATE:=2023-06-05 PKG_SOURCE_VERSION:=fadd0768cbd22248a60efbb219ccefc9d86cd78c -PKG_MIRROR_HASH:=513f62765ba3a2f423099426fbba86b854f3de0ab13ec2ab6e2780577ea75f95 +PKG_MIRROR_HASH:=94b5f99245bb35edbfeff08b32f03272c4e6fac8eabcd2a88e85835e088bc534 # Build the 6.4 ath10k-ct driver version. # Probably this should match as closely as diff --git a/package/kernel/linux/Makefile b/package/kernel/linux/Makefile index d53017018c..8dfb01ad66 100644 --- a/package/kernel/linux/Makefile +++ b/package/kernel/linux/Makefile @@ -52,7 +52,7 @@ define Package/kernel CATEGORY:=Kernel DEFAULT:=y TITLE:=Virtual kernel package - VERSION:=$(LINUX_VERSION)-$(LINUX_RELEASE)-$(LINUX_VERMAGIC) + VERSION:=$(LINUX_VERSION)~$(LINUX_VERMAGIC)-r$(LINUX_RELEASE) URL:=http://www.kernel.org/ PKG_FLAGS:=nonshared endef diff --git a/package/kernel/mt76/Makefile b/package/kernel/mt76/Makefile index 9daa5a2783..61491063e9 100644 --- a/package/kernel/mt76/Makefile +++ b/package/kernel/mt76/Makefile @@ -10,7 +10,7 @@ PKG_SOURCE_URL:=https://github.com/openwrt/mt76 PKG_SOURCE_PROTO:=git PKG_SOURCE_DATE:=2024-03-18 PKG_SOURCE_VERSION:=2135e201e7a9339e018d4e2d4a33c73266e674d7 -PKG_MIRROR_HASH:=810f636c60c86e6a426c676c3bf7aaea2f711feb31f4a66889d485112b612745 +PKG_MIRROR_HASH:=530db8a70d18295677989aafc9c1757b151ef77e359985417f1d36e7d2415d33 PKG_MAINTAINER:=Felix Fietkau PKG_USE_NINJA:=0 diff --git a/package/kernel/nat46/Makefile b/package/kernel/nat46/Makefile index 5e5efbe101..5c70b4b5fd 100644 --- a/package/kernel/nat46/Makefile +++ b/package/kernel/nat46/Makefile @@ -3,7 +3,7 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=nat46 -PKG_MIRROR_HASH:=aeff95aa278ec1e197b59700284c0210f32b92c1fb757e5c3088bd00b3b403d4 +PKG_MIRROR_HASH:=fc3ce43f8680bba6ada7d793479c5961e609138304198b250609b968d1833bb4 PKG_SOURCE_URL:=https://github.com/ayourtch/nat46.git PKG_SOURCE_DATE:=2022-09-19 PKG_SOURCE_PROTO:=git diff --git a/package/kernel/rtl8812au-ct/Makefile b/package/kernel/rtl8812au-ct/Makefile index b0440a6858..8941358d54 100644 --- a/package/kernel/rtl8812au-ct/Makefile +++ b/package/kernel/rtl8812au-ct/Makefile @@ -7,7 +7,7 @@ PKG_LICENSE:=GPLv2 PKG_LICENSE_FILES:= PKG_SOURCE_URL:=https://github.com/greearb/rtl8812AU_8821AU_linux.git -PKG_MIRROR_HASH:=748f5c58aa3f391222c0c43db35b9ff4c30c9c987ca052a5a3cdf36193e5821b +PKG_MIRROR_HASH:=141633ba4d68fce3ae1eed59e79eec9107ae36614480630a6eccd97d5cee612a PKG_SOURCE_PROTO:=git PKG_SOURCE_DATE:=2022-10-26 PKG_SOURCE_VERSION:=9b2b203a217e1320602a0eb07c338a1bfca0f5a6 diff --git a/package/libs/libnl-tiny/Makefile b/package/libs/libnl-tiny/Makefile index a0c6efe517..093c058a22 100644 --- a/package/libs/libnl-tiny/Makefile +++ b/package/libs/libnl-tiny/Makefile @@ -14,7 +14,7 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/libnl-tiny.git PKG_SOURCE_DATE:=2023-12-05 PKG_SOURCE_VERSION:=965c4bf49658342ced0bd6e7cb069571b4a1ddff -PKG_MIRROR_HASH:=93596c2686926a470b6bf322f6c166a420a08abe1ea715b4ae8c9df3de00eb28 +PKG_MIRROR_HASH:=4e166d01533aaaea5e01a2e3605ae224c3d632264936b6c40c07335e11e6b51b CMAKE_INSTALL:=1 PKG_LICENSE:=LGPL-2.1 diff --git a/package/libs/libubox/Makefile b/package/libs/libubox/Makefile index a987304ba1..67bc100b60 100644 --- a/package/libs/libubox/Makefile +++ b/package/libs/libubox/Makefile @@ -5,7 +5,7 @@ PKG_RELEASE=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/libubox.git -PKG_MIRROR_HASH:=071139fed757bea240d4ba8f55a0ff5a81862d23e16b39fc871ae07da78ae6a4 +PKG_MIRROR_HASH:=e07d0c8b92a9ef18d2459ebbbca38de20eeee657704320d4705578f895b78257 PKG_SOURCE_DATE:=2024-01-26 PKG_SOURCE_VERSION:=c1be505732e6d254464973bdeacb955214c76c46 PKG_ABI_VERSION:=$(call abi_version_str,$(PKG_SOURCE_DATE)) diff --git a/package/libs/toolchain/Makefile b/package/libs/toolchain/Makefile index 4f71d31b28..285fbcfa98 100644 --- a/package/libs/toolchain/Makefile +++ b/package/libs/toolchain/Makefile @@ -27,7 +27,7 @@ define Package/gcc/Default SECTION:=libs CATEGORY:=Base system URL:=http://gcc.gnu.org/ - VERSION:=$(LIBGCC_VERSION)-$(PKG_RELEASE) + VERSION:=$(LIBGCC_VERSION)-r$(PKG_RELEASE) endef define Package/libgcc @@ -230,7 +230,7 @@ endef define Package/libc/Default SECTION:=libs CATEGORY:=Base system - VERSION:=$(LIBC_VERSION)-$(PKG_RELEASE) + VERSION:=$(LIBC_VERSION)-r$(PKG_RELEASE) DEPENDS:=+libgcc URL:=$(LIBC_URL) endef diff --git a/package/libs/uclient/Makefile b/package/libs/uclient/Makefile index d7d1f1bb1f..6294f5d089 100644 --- a/package/libs/uclient/Makefile +++ b/package/libs/uclient/Makefile @@ -5,7 +5,7 @@ PKG_RELEASE=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/uclient.git -PKG_MIRROR_HASH:=16c6c97f45d9737fb40628ea22ae347541a1e37d8d1576e04ffbaa5fc92f3b6d +PKG_MIRROR_HASH:=761d8b357eb0c37a0833cc76106948c5f2bfe9abe785728996a8d050a25b0a8a PKG_SOURCE_DATE:=2023-04-13 PKG_SOURCE_VERSION:=007d945467499f43656b141171d31f5643b83a6c CMAKE_INSTALL:=1 diff --git a/package/libs/udebug/Makefile b/package/libs/udebug/Makefile index 0a54515e74..5c665f2d1e 100644 --- a/package/libs/udebug/Makefile +++ b/package/libs/udebug/Makefile @@ -11,7 +11,7 @@ PKG_NAME:=udebug CMAKE_INSTALL:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/udebug.git -PKG_MIRROR_HASH:=553a58a14b59dc7b22755557acbc74f0655a431442a4faca56d28cdb1ef14fb4 +PKG_MIRROR_HASH:=62d470ad4a3c4a0138c3102ad2e21dd56e93e9c0c7ec466d591c14e7b8af9a97 PKG_SOURCE_DATE:=2023-12-06 PKG_SOURCE_VERSION:=6d3f51f9fda706f0cf4732c762e4dbe8c21e12cf PKG_ABI_VERSION:=$(call abi_version_str,$(PKG_SOURCE_DATE)) diff --git a/package/libs/ustream-ssl/Makefile b/package/libs/ustream-ssl/Makefile index 076053abf6..830f67ad0e 100644 --- a/package/libs/ustream-ssl/Makefile +++ b/package/libs/ustream-ssl/Makefile @@ -7,7 +7,7 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/ustream-ssl.git PKG_SOURCE_DATE:=2023-11-26 PKG_SOURCE_VERSION:=263b9a97cf7e1e2467319c23832b705fc01190b5 -PKG_MIRROR_HASH:=1c01d633f21c6cb578a785826d1983284b28f49b20d608d82179842dcdbeed6e +PKG_MIRROR_HASH:=95db3f3a01c65d008a48398c7d5bfbf98cb31eabe291e74a0238220018f0a15b CMAKE_INSTALL:=1 PKG_LICENSE:=ISC diff --git a/package/network/config/firewall/Makefile b/package/network/config/firewall/Makefile index 0e00f38689..3306dde319 100644 --- a/package/network/config/firewall/Makefile +++ b/package/network/config/firewall/Makefile @@ -15,7 +15,7 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/firewall3.git PKG_SOURCE_DATE:=2022-02-17 PKG_SOURCE_VERSION:=4cd7d4f36bea731bf901cb067456f1d460294926 -PKG_MIRROR_HASH:=ce9e8ac1bcf22afbb0a80c3da1a8e8e887851299681097e3dfbfc347f2c4c80f +PKG_MIRROR_HASH:=66a498164dc89251f34155a679186f090d9f1df104a4a63805f3231d0587e0c9 PKG_MAINTAINER:=Jo-Philipp Wich PKG_LICENSE:=ISC diff --git a/package/network/config/firewall4/Makefile b/package/network/config/firewall4/Makefile index 6a54e28f0c..7f1058b8d4 100644 --- a/package/network/config/firewall4/Makefile +++ b/package/network/config/firewall4/Makefile @@ -11,7 +11,7 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/firewall4.git PKG_SOURCE_DATE:=2023-11-03 PKG_SOURCE_VERSION:=698a53354fd280aae097efe08803c0c9a10c14c2 -PKG_MIRROR_HASH:=e38484bffe11a04a67069128aa3b8a8c707ad58c79c0de2785a5d995421457aa +PKG_MIRROR_HASH:=466c43e46fc4b9c24053874b322b84556e24718c1149bd9a52b889062de0dc29 PKG_MAINTAINER:=Jo-Philipp Wich PKG_LICENSE:=ISC @@ -26,7 +26,7 @@ define Package/firewall4 +kmod-nft-nat \ +nftables-json \ +ucode +ucode-mod-fs +ucode-mod-ubus +ucode-mod-uci - EXTRA_DEPENDS:=ucode (>= 2022-03-22) + EXTRA_DEPENDS:=ucode (>=2022.03.22) PROVIDES:=uci-firewall endef diff --git a/package/network/config/netifd/Makefile b/package/network/config/netifd/Makefile index ba4516c1dc..e0998b0b80 100644 --- a/package/network/config/netifd/Makefile +++ b/package/network/config/netifd/Makefile @@ -7,7 +7,7 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/netifd.git PKG_SOURCE_DATE:=2024-01-04 PKG_SOURCE_VERSION:=f01345ec13b9b27ffd314d8689fb2d3f9c81a47d -PKG_MIRROR_HASH:=58e92e9ce1a2c8ccb487e95dadf806f38b38abbe7cb3cde61ff880de5eb85c2f +PKG_MIRROR_HASH:=7d1d40d89a8bc20213e0f7a9c1167cdefef250417ec34ca8b4df79b92ba0b5d3 PKG_MAINTAINER:=Felix Fietkau PKG_LICENSE:=GPL-2.0 diff --git a/package/network/config/qosify/Makefile b/package/network/config/qosify/Makefile index f4ad042235..1cfc65d4f0 100644 --- a/package/network/config/qosify/Makefile +++ b/package/network/config/qosify/Makefile @@ -13,7 +13,7 @@ PKG_SOURCE_URL=$(PROJECT_GIT)/project/qosify.git PKG_SOURCE_PROTO:=git PKG_SOURCE_DATE:=2023-03-07 PKG_SOURCE_VERSION:=9a47ea4b683dd845ec94534fcd82d3117c9ab313 -PKG_MIRROR_HASH:=c4c313aed4a405492201612bdfef5e219c9a994a35f35acc84fc8327d9aa73d2 +PKG_MIRROR_HASH:=0df1dc6e9645691f1ce0c3c039afedbcd8d4635dad36923ce47174e8d5b4ce43 PKG_RELEASE:=1 PKG_LICENSE:=GPL-2.0 diff --git a/package/network/ipv6/odhcp6c/Makefile b/package/network/ipv6/odhcp6c/Makefile index ac507e1f17..36e79c6d79 100644 --- a/package/network/ipv6/odhcp6c/Makefile +++ b/package/network/ipv6/odhcp6c/Makefile @@ -14,7 +14,7 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/odhcp6c.git PKG_SOURCE_DATE:=2023-05-12 PKG_SOURCE_VERSION:=bcd283632ac13391aac3ebdd074d1fd832d76fa3 -PKG_MIRROR_HASH:=0f3508a5a148ca831ae30b49b21919535f9dfbbd003a942baa6cb5388d207878 +PKG_MIRROR_HASH:=21aac76fcf4099287868afb52924ed2219e8e846ad82b96b7e1753417a8dde87 PKG_MAINTAINER:=Hans Dedecker PKG_LICENSE:=GPL-2.0 diff --git a/package/network/services/bridger/Makefile b/package/network/services/bridger/Makefile index e228de517d..ccb29db1ed 100644 --- a/package/network/services/bridger/Makefile +++ b/package/network/services/bridger/Makefile @@ -12,7 +12,7 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=https://github.com/nbd168/bridger PKG_SOURCE_DATE:=2023-05-12 PKG_SOURCE_VERSION:=d0f79a16c749ad310d79e1c31f593860619f99eb -PKG_MIRROR_HASH:=bee35594767cbcd13764f5c95e4837a4fc73171a91fcdae73aaefe00f4e8f8fa +PKG_MIRROR_HASH:=052beb648545c67a4e24034347e4cb5d91319147bfe3f8d498d1aa576d14a089 PKG_LICENSE:=GPL-2.0 PKG_MAINTAINER:=Felix Fietkau diff --git a/package/network/services/hostapd/Makefile b/package/network/services/hostapd/Makefile index c8f476f7b8..2b072bd599 100644 --- a/package/network/services/hostapd/Makefile +++ b/package/network/services/hostapd/Makefile @@ -11,7 +11,7 @@ PKG_SOURCE_URL:=http://w1.fi/hostap.git PKG_SOURCE_PROTO:=git PKG_SOURCE_DATE:=2023-09-08 PKG_SOURCE_VERSION:=e5ccbfc69ecf297590341ae8b461edba9d8e964c -PKG_MIRROR_HASH:=fcc6550f46c7f8bbdbf71e63f8f699b9a0878565ad1b90a17855f5ec21283b8f +PKG_MIRROR_HASH:=8be806f6c88e736fff920e0d3e2cde7188fbf640fef47e9aeaad504674bfc0f3 PKG_MAINTAINER:=Felix Fietkau PKG_LICENSE:=BSD-3-Clause @@ -150,7 +150,7 @@ define Package/hostapd/Default TITLE:=IEEE 802.1x Authenticator URL:=http://hostap.epitest.fi/ DEPENDS:=$(DRV_DEPENDS) +hostapd-common $(CORE_DEPENDS) - EXTRA_DEPENDS:=hostapd-common (=$(PKG_VERSION)-$(PKG_RELEASE)) + EXTRA_DEPENDS:=hostapd-common (=$(PKG_VERSION)-r$(PKG_RELEASE)) USERID:=network=101:network=101 PROVIDES:=hostapd CONFLICTS:=$(HOSTAPD_PROVIDERS) @@ -255,7 +255,7 @@ define Package/wpad/Default SUBMENU:=WirelessAPD TITLE:=IEEE 802.1x Auth/Supplicant DEPENDS:=$(DRV_DEPENDS) +hostapd-common $(CORE_DEPENDS) - EXTRA_DEPENDS:=hostapd-common (=$(PKG_VERSION)-$(PKG_RELEASE)) + EXTRA_DEPENDS:=hostapd-common (=$(PKG_VERSION)-r$(PKG_RELEASE)) USERID:=network=101:network=101 URL:=http://hostap.epitest.fi/ PROVIDES:=hostapd wpa-supplicant @@ -400,7 +400,7 @@ define Package/wpa-supplicant/Default TITLE:=WPA Supplicant URL:=http://hostap.epitest.fi/wpa_supplicant/ DEPENDS:=$(DRV_DEPENDS) +hostapd-common $(CORE_DEPENDS) - EXTRA_DEPENDS:=hostapd-common (=$(PKG_VERSION)-$(PKG_RELEASE)) + EXTRA_DEPENDS:=hostapd-common (=$(PKG_VERSION)-r$(PKG_RELEASE)) USERID:=network=101:network=101 PROVIDES:=wpa-supplicant CONFLICTS:=$(SUPPLICANT_PROVIDERS) diff --git a/package/network/services/ipset-dns/Makefile b/package/network/services/ipset-dns/Makefile index f55281ef42..284e76eab2 100644 --- a/package/network/services/ipset-dns/Makefile +++ b/package/network/services/ipset-dns/Makefile @@ -14,7 +14,7 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://git.zx2c4.com/ipset-dns PKG_SOURCE_DATE:=2017-10-08 PKG_SOURCE_VERSION:=ade2cf88e933f4f90451e0a6171f0aa4a523f989 -PKG_MIRROR_HASH:=34ad1f5c7d2eab90b795f2a512102891428216e3d439d918a8992846550e9697 +PKG_MIRROR_HASH:=3e978df41cf2c79edb13846c458579388b0fae9a547ebca7b9f52ad6c0e50e70 PKG_MAINTAINER:=Jo-Philipp Wich PKG_LICENSE:=GPL-2.0 diff --git a/package/network/services/odhcpd/Makefile b/package/network/services/odhcpd/Makefile index ba6358f779..22df72df60 100644 --- a/package/network/services/odhcpd/Makefile +++ b/package/network/services/odhcpd/Makefile @@ -12,7 +12,7 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/odhcpd.git -PKG_MIRROR_HASH:=9936331b64880260cf969cc5656e1e1a8b7dc0e0843d64621242c500a330b4d6 +PKG_MIRROR_HASH:=59d04d80175a115d04031291195dcb2ce858301c78bd37f18aeabfa40f750ef8 PKG_SOURCE_DATE:=2023-10-24 PKG_SOURCE_VERSION:=d8118f6e76e5519881f9a37137c3a06b3cb60fd2 diff --git a/package/network/services/omcproxy/Makefile b/package/network/services/omcproxy/Makefile index c5b2f3e67f..f90c5192f0 100644 --- a/package/network/services/omcproxy/Makefile +++ b/package/network/services/omcproxy/Makefile @@ -12,7 +12,7 @@ PKG_RELEASE:=9 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/omcproxy.git -PKG_MIRROR_HASH:=6443276368dc7d45ee58bd7067da6c3a85396d9996039232cae3bdd426382f0c +PKG_MIRROR_HASH:=5e69aa12ca3bc1ecfb211e0ad40e0763a7e9dd99fc8b95b4d62b8c3d29df40bd PKG_SOURCE_DATE:=2021-11-04 PKG_SOURCE_VERSION:=bfba2aa75802ff1a70ef2fd3eba53409a8c6e93a PKG_MAINTAINER:=Steven Barth diff --git a/package/network/services/ppp/Makefile b/package/network/services/ppp/Makefile index 40ec5c5cf1..db55a32e2f 100644 --- a/package/network/services/ppp/Makefile +++ b/package/network/services/ppp/Makefile @@ -15,13 +15,13 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/paulusmack/ppp PKG_SOURCE_DATE:=2021-01-04 PKG_SOURCE_VERSION:=4fb319056f168bb8379865b91b4fd3e1ada73f1e -PKG_MIRROR_HASH:=429cb5fcff36e1d8698766130711d4764347f08b83233dfb4831bea21616efef +PKG_MIRROR_HASH:=a6a31f71e46c7170b94e53723515f7d6f8ec512a84aa3003f20d393d8bd97347 PKG_MAINTAINER:=Felix Fietkau PKG_LICENSE:=BSD-4-Clause PKG_CPE_ID:=cpe:/a:samba:ppp PKG_RELEASE_VERSION:=2.4.9 -PKG_VERSION:=$(PKG_RELEASE_VERSION).git-$(PKG_SOURCE_DATE) +PKG_VERSION:=$(PKG_RELEASE_VERSION)_git$(subst -,,$(PKG_SOURCE_DATE)) PKG_BUILD_DEPENDS:=libpcap diff --git a/package/network/services/relayd/Makefile b/package/network/services/relayd/Makefile index aba6939955..a7d38cb0a8 100644 --- a/package/network/services/relayd/Makefile +++ b/package/network/services/relayd/Makefile @@ -14,7 +14,7 @@ PKG_SOURCE_URL=$(PROJECT_GIT)/project/relayd.git PKG_SOURCE_PROTO:=git PKG_SOURCE_DATE:=2023-01-28 PKG_SOURCE_VERSION:=f646ba40489371e69f624f2dee2fc4e19ceec00e -PKG_MIRROR_HASH:=672d3115728d40ee6897a9f633d269d127496699a7bd45eba11844aa771f2501 +PKG_MIRROR_HASH:=19f2627c2e878617df72e31f01bf4505b063e0cb736c1745b176ec416971f923 PKG_MAINTAINER:=Felix Fietkau PKG_LICENSE:=GPL-2.0 diff --git a/package/network/services/uhttpd/Makefile b/package/network/services/uhttpd/Makefile index 2a6ad535b4..b4f5fb84cf 100644 --- a/package/network/services/uhttpd/Makefile +++ b/package/network/services/uhttpd/Makefile @@ -14,7 +14,7 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/uhttpd.git PKG_SOURCE_DATE:=2023-06-25 PKG_SOURCE_VERSION:=34a8a74dbdec3c0de38abc1b08f6a73c51263792 -PKG_MIRROR_HASH:=8206885eebed5d1827763bcc5bcf9ca3510ae22b0ad1f6432114f1136c32dde2 +PKG_MIRROR_HASH:=28f4b97588d6a991f64ae19a3e8dfed52295f37f543e30010fbeec92b3723c66 PKG_MAINTAINER:=Felix Fietkau PKG_LICENSE:=ISC diff --git a/package/network/services/umdns/Makefile b/package/network/services/umdns/Makefile index ab6bf290dc..95997eaba5 100644 --- a/package/network/services/umdns/Makefile +++ b/package/network/services/umdns/Makefile @@ -14,7 +14,7 @@ PKG_SOURCE_URL=$(PROJECT_GIT)/project/mdnsd.git PKG_SOURCE_PROTO:=git PKG_SOURCE_DATE:=2024-01-08 PKG_SOURCE_VERSION:=e91ed406ecebb4bc08c346929e25f1b819c19edd -PKG_MIRROR_HASH:=6568409c5facaa37dc27aeca67dc798b822c2e2897d6e067b4c61e3e99c1072c +PKG_MIRROR_HASH:=d5b94ff96dd16d1df3281621c66b3974982d9ee96f52b8400504e9acbc3d9de4 PKG_MAINTAINER:=John Crispin PKG_LICENSE:=LGPL-2.1 diff --git a/package/network/services/unetd/Makefile b/package/network/services/unetd/Makefile index 7d8ed9a144..e3d947b047 100644 --- a/package/network/services/unetd/Makefile +++ b/package/network/services/unetd/Makefile @@ -12,7 +12,7 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/unetd.git PKG_SOURCE_DATE:=2023-05-31 PKG_SOURCE_VERSION:=7d3986b7a5a20b9af0dacd053b2657210385e7bb -PKG_MIRROR_HASH:=07f0a4cbae3e80c6309bb8aa27fcef19fbc56093a9c7e426e0d527227af09429 +PKG_MIRROR_HASH:=d3db5c71fdeae96782deadb413adf902009a189b7d5f21875d8f4315389849c3 PKG_LICENSE:=GPL-2.0 PKG_MAINTAINER:=Felix Fietkau diff --git a/package/network/services/ustp/Makefile b/package/network/services/ustp/Makefile index 2cdd033754..48ee988882 100644 --- a/package/network/services/ustp/Makefile +++ b/package/network/services/ustp/Makefile @@ -14,7 +14,7 @@ PKG_SOURCE_URL=$(PROJECT_GIT)/project/ustp.git PKG_SOURCE_PROTO:=git PKG_SOURCE_DATE:=2021-09-21 PKG_SOURCE_VERSION:=462b3a491347e452c15220861949b1d6371fa59e -PKG_MIRROR_HASH:=0e96edc983cf437b95874e5715d743f30bb826d8757dc3771ff872ab9cf18f35 +PKG_MIRROR_HASH:=b1d4e96f4855580d20572f930764cb09986339017c2a0ec26b22ce11d511c14f PKG_MAINTAINER:=Felix Fietkau PKG_LICENSE:=GPL-2.0 diff --git a/package/network/utils/ebtables/Makefile b/package/network/utils/ebtables/Makefile index f35b768b43..ebbdcb035f 100644 --- a/package/network/utils/ebtables/Makefile +++ b/package/network/utils/ebtables/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PKG_SOURCE_URL:=https://git.netfilter.org/ebtables PKG_SOURCE_PROTO:=git PKG_SOURCE_VERSION:=48cff25dfea5b37e16ba5dc6601e98ab140f5f99 -PKG_MIRROR_HASH:=1327cdc3402e5e3056819e4e9b6f9d4a5bfd401f2c4f58447afb2c3c73fc8aac +PKG_MIRROR_HASH:=160f5087b403173d5d1e93880d28b89dab98e828ba3f545315bf1cb88afe5a46 PKG_LICENSE:=GPL-2.0 PKG_CPE_ID:=cpe:/a:netfilter:ebtables diff --git a/package/network/utils/iwinfo/Makefile b/package/network/utils/iwinfo/Makefile index e1941ca3a8..0a8320c0d4 100644 --- a/package/network/utils/iwinfo/Makefile +++ b/package/network/utils/iwinfo/Makefile @@ -13,7 +13,7 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/iwinfo.git PKG_SOURCE_DATE:=2024-03-08 PKG_SOURCE_VERSION:=8ffb8bfd1115ae95265aa52590aa948aba7672e4 -PKG_MIRROR_HASH:=77bb6018b5001268c0f442dbfd8159893db620c575c9810221b1a42a30be4b5f +PKG_MIRROR_HASH:=846d4ac22832e507e5a96e07332324e30cd39289743d18e9ec0d418009f3ba37 PKG_MAINTAINER:=Jo-Philipp Wich PKG_LICENSE:=GPL-2.0 diff --git a/package/network/utils/umbim/Makefile b/package/network/utils/umbim/Makefile index 56e1a6f378..0d4ea5ac5f 100644 --- a/package/network/utils/umbim/Makefile +++ b/package/network/utils/umbim/Makefile @@ -7,7 +7,7 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/umbim.git PKG_SOURCE_DATE:=2022-08-13 PKG_SOURCE_VERSION:=146bc77c98ace3d1cc672986669650d2e1da71f3 -PKG_MIRROR_HASH:=3cf04858ff5c3f529904f9789b094aa9645ad41c91f553e6fc3fcd3cb341d359 +PKG_MIRROR_HASH:=c610dc08b5663876c2afdc247d4d5615fd1be23e33fa7a646f0237d298719b98 PKG_MAINTAINER:=John Crispin PKG_LICENSE:=GPL-2.0 diff --git a/package/network/utils/uqmi/Makefile b/package/network/utils/uqmi/Makefile index 6753e47cdb..2c7f71b48a 100644 --- a/package/network/utils/uqmi/Makefile +++ b/package/network/utils/uqmi/Makefile @@ -7,7 +7,7 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/uqmi.git PKG_SOURCE_DATE:=2024-01-16 PKG_SOURCE_VERSION:=c3488b831ce6285c8107704156b9b8ed7d59deb3 -PKG_MIRROR_HASH:=3ca47f2ae22bc1adcb05560e6dbea824063fa914670c13f107e7e78f33399779 +PKG_MIRROR_HASH:=a171d71d471a03e24c45509059db461efcf3cfe0fc19cffec2e8e4fbf99d6eed PKG_MAINTAINER:=Matti Laakso PKG_LICENSE:=GPL-2.0 diff --git a/package/network/utils/wwan/Makefile b/package/network/utils/wwan/Makefile index 19404383cb..b02f9e11a4 100644 --- a/package/network/utils/wwan/Makefile +++ b/package/network/utils/wwan/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=wwan -PKG_VERSION:=2019-04-29 +PKG_VERSION:=2019.04.29 PKG_RELEASE=6 PKG_LICENSE:=GPL-2.0 diff --git a/package/system/fstools/Makefile b/package/system/fstools/Makefile index 717e59f836..86f9a8643b 100644 --- a/package/system/fstools/Makefile +++ b/package/system/fstools/Makefile @@ -12,7 +12,7 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/fstools.git -PKG_MIRROR_HASH:=32e39891455b602e9deb367c9ce2d099dc72353fad0bf0433307416925f7b393 +PKG_MIRROR_HASH:=ab6978773d2b88eec502f5a217035b059730baf845d90ebb5f1fa52aacf12218 PKG_SOURCE_DATE:=2024-01-22 PKG_SOURCE_VERSION:=08cd7083cac4bddf88459efa0881ee52858e7d0a CMAKE_INSTALL:=1 diff --git a/package/system/fwtool/Makefile b/package/system/fwtool/Makefile index 00f0339b02..965200bf5c 100644 --- a/package/system/fwtool/Makefile +++ b/package/system/fwtool/Makefile @@ -14,7 +14,7 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/fwtool.git PKG_SOURCE_DATE:=2019-11-12 PKG_SOURCE_VERSION:=8f7fe925ca205c8e8e2d0d1b16218c1e148d5173 -PKG_MIRROR_HASH:=ff68e77397a7ba8f497aae9a6d1f89e196c89391a8d5ed0b81c4eafb889ba744 +PKG_MIRROR_HASH:=f8309d4cf548ce28d98f8f8313d78e17307ded135b96b49bfbc9ac6b039d8689 CMAKE_INSTALL:=1 PKG_FLAGS:=nonshared diff --git a/package/system/gpio-cdev/nu801/Makefile b/package/system/gpio-cdev/nu801/Makefile index 67b2a771ec..3c0b4f2086 100644 --- a/package/system/gpio-cdev/nu801/Makefile +++ b/package/system/gpio-cdev/nu801/Makefile @@ -8,7 +8,7 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/chunkeey/nu801.git PKG_SOURCE_VERSION:=f623879a393d0315f29095fe46b19cd2246d10d7 -PKG_MIRROR_HASH:=db21671a1c14f0bfeb65525cbfd0576d2d5bbebf3901e35e64f9bf92a9a53b0d +PKG_MIRROR_HASH:=d2080fa74901fcd9c2576784adaa84792b577167576a45326b478192cb157eba PKG_MAINTAINER:=Christian Lamparter PKG_LICENSE:=GPL-3.0-or-later PKG_LICENSE_FILES:=LICENSE diff --git a/package/system/openwrt-keyring/Makefile b/package/system/openwrt-keyring/Makefile index 4f8a20734a..9280e8102b 100644 --- a/package/system/openwrt-keyring/Makefile +++ b/package/system/openwrt-keyring/Makefile @@ -9,7 +9,7 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/keyring.git PKG_SOURCE_DATE:=2022-03-25 PKG_SOURCE_VERSION:=62471e693b4f9f19dd88afa6827fc3a2cf121d9a -PKG_MIRROR_HASH:=9e1c85c83b61c91f467d8df9bdf94e8a94a85ffbddfcbf3b3dc38a56e98e2516 +PKG_MIRROR_HASH:=805bc093b13d9faa4751f7236421199554e6ddbd7d8ae399b9ca3925dcdc5374 PKG_MAINTAINER:=John Crispin PKG_LICENSE:=GPL-2.0 diff --git a/package/system/opkg/Makefile b/package/system/opkg/Makefile index 3510e7435d..c892020de9 100644 --- a/package/system/opkg/Makefile +++ b/package/system/opkg/Makefile @@ -14,7 +14,7 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/opkg-lede.git PKG_SOURCE_DATE:=2022-02-24 PKG_SOURCE_VERSION:=d038e5b6d155784575f62a66a8bb7e874173e92e -PKG_MIRROR_HASH:=e5ec4ae93f6529f7f0b9acc22a9a63c1b2f27d3b30b4a82041fcd58b9bc7cdf3 +PKG_MIRROR_HASH:=6ef0c62ae66ae77c51513b42b685908b709cf7e1c897289a36b3f6d5612b1462 PKG_LICENSE:=GPL-2.0 PKG_LICENSE_FILES:=COPYING diff --git a/package/system/procd/Makefile b/package/system/procd/Makefile index 5cbc44f0c0..537a1ff718 100644 --- a/package/system/procd/Makefile +++ b/package/system/procd/Makefile @@ -12,7 +12,7 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/procd.git -PKG_MIRROR_HASH:=fc7ea415ebb1946661c1204a16b2a2b129014d39521da5883524e5ced8c3c9b4 +PKG_MIRROR_HASH:=90dc0593b8db32e8645e82cc36f18438ccd2103d56fae68c44320f7633aa0eec PKG_SOURCE_DATE:=2024-02-24 PKG_SOURCE_VERSION:=1901aba90b6841ec1a99a25224a92d2519c603fd CMAKE_INSTALL:=1 diff --git a/package/system/rpcd/Makefile b/package/system/rpcd/Makefile index ef360a2c12..2bdd7a7e8d 100644 --- a/package/system/rpcd/Makefile +++ b/package/system/rpcd/Makefile @@ -12,7 +12,7 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/rpcd.git -PKG_MIRROR_HASH:=cf77c8aca75f893315620e2e3abf7fa02d8c8a21f54808b238973e43c66d0059 +PKG_MIRROR_HASH:=69ba17315cfaa2736e1d2c4da03624f42dcff25cc3c8422cbb0e5f7d2729f4ae PKG_SOURCE_DATE:=2024-02-22 PKG_SOURCE_VERSION:=8ef4c2587ac0041049c67befed281a70cf240769 PKG_MAINTAINER:=Jo-Philipp Wich diff --git a/package/system/ubox/Makefile b/package/system/ubox/Makefile index adfb68e55b..3d1754c5f0 100644 --- a/package/system/ubox/Makefile +++ b/package/system/ubox/Makefile @@ -7,7 +7,7 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/ubox.git PKG_SOURCE_DATE:=2024-01-24 PKG_SOURCE_VERSION:=2c5887cb46883a28d69071c4349c3dabbbe3972c -PKG_MIRROR_HASH:=0ded95382fd3a2e9751ea5fdd16c2afb7dcc52499f6ab47951c5db9525a4faa9 +PKG_MIRROR_HASH:=3194d80bc10147a32d7e4491c54d1a4e718a53080fa0307fe68b6d11cf79e13e CMAKE_INSTALL:=1 PKG_LICENSE:=GPL-2.0 diff --git a/package/system/ubus/Makefile b/package/system/ubus/Makefile index fdf16cfeee..fddc36b0dd 100644 --- a/package/system/ubus/Makefile +++ b/package/system/ubus/Makefile @@ -7,7 +7,7 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/ubus.git PKG_SOURCE_DATE:=2023-11-28 PKG_SOURCE_VERSION:=f84eb5998c6ea2d34989ca2d3254e56c66139313 -PKG_MIRROR_HASH:=d0c15a0275fa3d35accddb84611700bf601745ad68462bc18905bb65da931f21 +PKG_MIRROR_HASH:=75f39a88a6b019ae95c73ed3f7373e5197aa1ff29dc9a95ea46483412f4051ae PKG_ABI_VERSION:=$(call abi_version_str,$(PKG_SOURCE_DATE)) CMAKE_INSTALL:=1 diff --git a/package/system/ucert/Makefile b/package/system/ucert/Makefile index 950f2b64d3..2aea706a3a 100644 --- a/package/system/ucert/Makefile +++ b/package/system/ucert/Makefile @@ -7,7 +7,7 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/ucert.git PKG_SOURCE_DATE:=2020-05-24 PKG_SOURCE_VERSION:=00b921d80ac0dc47339305d803f865ff43c56d63 -PKG_MIRROR_HASH:=839fda1811a58a495ac7bbc41db75222dd5a15e4d72110ca6acc4cdad56908fe +PKG_MIRROR_HASH:=e6e9024777c36c43a8aa5f0f91927d822d1e08943adfee9bc0a34d86a00dde4c CMAKE_INSTALL:=1 PKG_CHECK_FORMAT_SECURITY:=1 diff --git a/package/system/uci/Makefile b/package/system/uci/Makefile index 5d68b8905d..90cd8be1f9 100644 --- a/package/system/uci/Makefile +++ b/package/system/uci/Makefile @@ -15,7 +15,7 @@ PKG_SOURCE_URL=$(PROJECT_GIT)/project/uci.git PKG_SOURCE_PROTO:=git PKG_SOURCE_DATE:=2023-08-10 PKG_SOURCE_VERSION:=5781664d5087ccc4b5ab58505883231212dbedbc -PKG_MIRROR_HASH:=2d60a8543fa00cfc75df6417354b004abf58f672c91bf0a3bffe3ea1dbf84a4b +PKG_MIRROR_HASH:=18169cbabe76e8b3f5989a031c05e353a57708633e522605ea0f11dcbb3fa441 PKG_LICENSE:=LGPL-2.1 PKG_LICENSE_FILES:= diff --git a/package/system/urngd/Makefile b/package/system/urngd/Makefile index 477c5f2405..ff7e59fc56 100644 --- a/package/system/urngd/Makefile +++ b/package/system/urngd/Makefile @@ -7,7 +7,7 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/urngd.git PKG_SOURCE_DATE:=2023-11-01 PKG_SOURCE_VERSION:=44365eb1e1165f2a44cb31f404b04cf85031718e -PKG_MIRROR_HASH:=743bdfacf1f1e779047a55fe8f388aaf31f6e55e8a4d0a00fcabffb68af2202e +PKG_MIRROR_HASH:=07055a10fe6f45e07bb8e06245e3231f316ac0c9efb0f86a0f6630b8ac640b38 PKG_LICENSE:=GPL-2.0 BSD-3-Clause PKG_LICENSE_FILES:= diff --git a/package/system/usign/Makefile b/package/system/usign/Makefile index 3c28318028..75ecd2018a 100644 --- a/package/system/usign/Makefile +++ b/package/system/usign/Makefile @@ -7,7 +7,7 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/usign.git PKG_SOURCE_DATE:=2020-05-23 PKG_SOURCE_VERSION:=f1f65026a94137c91b5466b149ef3ea3f20091e9 -PKG_MIRROR_HASH:=3f6569a5e63fdfd032976ac0f79d736d3935101ac1b97fb370514b013c5e6bb6 +PKG_MIRROR_HASH:=e5c047bf0fdb2d790a60fcfe460c414be8bea84863fa4503c65d95d2ee4bf5ee CMAKE_INSTALL:=1 PKG_CHECK_FORMAT_SECURITY:=1 PKG_BUILD_FLAGS:=no-mips16 lto diff --git a/package/utils/jsonfilter/Makefile b/package/utils/jsonfilter/Makefile index fda66bbfb4..d243ac732c 100644 --- a/package/utils/jsonfilter/Makefile +++ b/package/utils/jsonfilter/Makefile @@ -7,7 +7,7 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/jsonpath.git PKG_SOURCE_DATE:=2024-01-23 PKG_SOURCE_VERSION:=594cfa86469c005972ba750614f5b3f1af84d0f6 -PKG_MIRROR_HASH:=70d2e0870b746920af4569631218c38c1dddfee4f5d029ec8ea0a67999bdafcd +PKG_MIRROR_HASH:=92bb2bc64be6769bd16c2c3c0e955e8f58abd6b99ffe6841d089e08df78fc8b7 CMAKE_INSTALL:=1 PKG_MAINTAINER:=Jo-Philipp Wich diff --git a/package/utils/ravpower-mcu/Makefile b/package/utils/ravpower-mcu/Makefile index 949ccfcce1..8337cb2a1a 100644 --- a/package/utils/ravpower-mcu/Makefile +++ b/package/utils/ravpower-mcu/Makefile @@ -5,7 +5,7 @@ PKG_RELEASE:=2 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=https://github.com/blocktrron/ravpower-mcu.git -PKG_MIRROR_HASH:=edde0fda3fc708eac65baff46b5b6f1290ab733d3f4bd7fc027ef45c3d1b5814 +PKG_MIRROR_HASH:=b018291629782d46cd5e3aae59c18598f83d2bae2edd1e356b88d296be07a48a PKG_SOURCE_DATE:=2020-06-19 PKG_SOURCE_VERSION:=1665d9e9212dcd118629a74fbe658841f81036f7 PKG_MAINTAINER:=David Bauer diff --git a/package/utils/ucode/Makefile b/package/utils/ucode/Makefile index e18f53ea32..61cf3815a9 100644 --- a/package/utils/ucode/Makefile +++ b/package/utils/ucode/Makefile @@ -14,7 +14,7 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=https://github.com/jow-/ucode.git PKG_SOURCE_DATE:=2024-02-21 PKG_SOURCE_VERSION:=ba3855ae3775197f3594fc2615cac539075bd2fb -PKG_MIRROR_HASH:=82b8a73417575b58a234586354eba4d0b10180a80b441cd87a9a554227304d34 +PKG_MIRROR_HASH:=8c52f1a03729653640a8184dbb97c22fde9619ee3a29b6ebdd76a16fae3e60ef PKG_MAINTAINER:=Jo-Philipp Wich PKG_LICENSE:=ISC diff --git a/package/utils/ugps/Makefile b/package/utils/ugps/Makefile index 66d42dca89..62e183821d 100644 --- a/package/utils/ugps/Makefile +++ b/package/utils/ugps/Makefile @@ -14,7 +14,7 @@ PKG_SOURCE_URL=$(PROJECT_GIT)/project/ugps.git PKG_SOURCE_PROTO:=git PKG_SOURCE_DATE:=2024-02-14 PKG_SOURCE_VERSION:=69561a074d6f50f63b82608b19041e5eb2c605a9 -PKG_MIRROR_HASH:=6a9ea235665babc22393df53e6945030a2e2264d92afccf2e9cd61fa01aa3b11 +PKG_MIRROR_HASH:=ed85dfc8eb34b2c4ffdfd817f851bcef48f46983e5a3b7212003df418c217493 PKG_MAINTAINER:=John Crispin PKG_LICENSE:=GPL-2.0+ diff --git a/package/utils/usbmode/Makefile b/package/utils/usbmode/Makefile index 1aa1980ce2..aebc7926d6 100644 --- a/package/utils/usbmode/Makefile +++ b/package/utils/usbmode/Makefile @@ -7,7 +7,7 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/usbmode.git PKG_SOURCE_DATE:=2022-02-24 PKG_SOURCE_VERSION:=3c8595a4e75510f58fa231b145d5506768dcafc9 -PKG_MIRROR_HASH:=5f0234945f61639080f039522172151452180dd4aec33bafc8a61b60131c3bed +PKG_MIRROR_HASH:=dfa2cd90d5bea5f7382157f6396da8a79a7b38d25f65bacfdb682729ac257cf4 CMAKE_INSTALL:=1 PKG_LICENSE:=GPL-2.0 diff --git a/tools/b43-tools/Makefile b/tools/b43-tools/Makefile index bae498c78f..d3f6e80b52 100644 --- a/tools/b43-tools/Makefile +++ b/tools/b43-tools/Makefile @@ -13,7 +13,7 @@ PKG_DATE:=2022-07-05 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/mbuesch/b43-tools.git PKG_SOURCE_VERSION:=2fe10ea6690df9a068cb21cde537236bae784a14 -PKG_MIRROR_HASH:=4f1cde5da35a1e768f6a01d67888549d04512073990769342381af1b2c9e7fd2 +PKG_MIRROR_HASH:=3b18a0883924029b295fd2df4458b51e00f47d299a8ecca6cb2ed9e30afae5d5 include $(INCLUDE_DIR)/host-build.mk diff --git a/tools/cbootimage-configs/Makefile b/tools/cbootimage-configs/Makefile index cafd4e5a20..5d841041b3 100644 --- a/tools/cbootimage-configs/Makefile +++ b/tools/cbootimage-configs/Makefile @@ -12,7 +12,7 @@ PKG_SOURCE_DATE := 2017-04-13 PKG_SOURCE_PROTO := git PKG_SOURCE_URL := https://github.com/NVIDIA/cbootimage-configs.git PKG_SOURCE_VERSION := 7c3b458b93ed6947cd083623f543e93f9103cc0f -PKG_MIRROR_HASH := 1d24421af8cf74ec2d625e237aa8121b1273774c4380ad333e2954e052a5a4fe +PKG_MIRROR_HASH := 56c01f0339a3b4bee4ce31db253bb614d04f4e17a13793e873d701ec1a0de91b include $(INCLUDE_DIR)/host-build.mk diff --git a/tools/firmware-utils/Makefile b/tools/firmware-utils/Makefile index 4809c9aa19..3d86d6aec2 100644 --- a/tools/firmware-utils/Makefile +++ b/tools/firmware-utils/Makefile @@ -13,7 +13,7 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/firmware-utils.git PKG_SOURCE_DATE:=2023-11-22 PKG_SOURCE_VERSION:=d87b6c4b6423201e595459840f51d0dced04a4eb -PKG_MIRROR_HASH:=f34fbf4dc4bd13d18ea94e6e25090b57cde11b3dc7133e46f6ce3bb9164ab8fb +PKG_MIRROR_HASH:=00f25358d4755547618affee173986e95ba078d04fc80535fe394505196fdc0d include $(INCLUDE_DIR)/host-build.mk include $(INCLUDE_DIR)/cmake.mk diff --git a/tools/make-ext4fs/Makefile b/tools/make-ext4fs/Makefile index 77031cdce3..91fba48ba7 100644 --- a/tools/make-ext4fs/Makefile +++ b/tools/make-ext4fs/Makefile @@ -13,7 +13,7 @@ PKG_SOURCE_URL=$(PROJECT_GIT)/project/make_ext4fs.git PKG_SOURCE_PROTO:=git PKG_SOURCE_DATE:=2020-01-05 PKG_SOURCE_VERSION:=5c201be7d72aff735da27e17c29852e0cefe3e52 -PKG_MIRROR_HASH:=a9b74b7b95acc84a5a5c33d6acf493faad8f161caca3180734d9bd383c9d823f +PKG_MIRROR_HASH:=f1c204ff4daa941dc30465286af25044d67bafa537cc66b29fc1b4ec49bfdb28 include $(INCLUDE_DIR)/host-build.mk diff --git a/tools/sdimage/Makefile b/tools/sdimage/Makefile index 532bc481ac..654d157497 100644 --- a/tools/sdimage/Makefile +++ b/tools/sdimage/Makefile @@ -13,7 +13,7 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/mhei/fsl-imx-uuc.git PKG_SOURCE_DATE:=2018-11-18 PKG_SOURCE_VERSION:=c6536ac5b4388b33c217bde2c3a76a4e96d64176 -PKG_MIRROR_HASH:=747fb640a0596cab7d516979188e1f85be58c470df85cf1f7e3dcf8a4c1b36e5 +PKG_MIRROR_HASH:=5bff90bf59bb3e7e8db6c2ec55c984367f75cb0ee6847f3f2ea666172e203c07 PKG_LICENSE:=GPL-2.0+ PKG_LICENSE_FILES:=LICENSE From 28ee115673c5752b9953430ae22ecd0979526cbb Mon Sep 17 00:00:00 2001 From: Marius Durbaca Date: Wed, 28 Feb 2024 08:37:44 +0000 Subject: [PATCH 02/23] kernel: kmod-ata-ahci-platform: enable support for RK35xx enable support for RK35xx in kmod-ata-ahci-platform kernel module Suggested-by: Tianling Shen Signed-off-by: Marius Durbaca --- package/kernel/linux/modules/block.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/kernel/linux/modules/block.mk b/package/kernel/linux/modules/block.mk index 49a1b6fce1..4f3a6e085f 100644 --- a/package/kernel/linux/modules/block.mk +++ b/package/kernel/linux/modules/block.mk @@ -65,7 +65,7 @@ define KernelPackage/ata-ahci-platform $(LINUX_DIR)/drivers/ata/ahci_platform.ko \ $(LINUX_DIR)/drivers/ata/libahci_platform.ko AUTOLOAD:=$(call AutoLoad,40,libahci libahci_platform ahci_platform,1) - $(call AddDepends/ata,@TARGET_ipq806x||TARGET_layerscape||TARGET_sunxi) + $(call AddDepends/ata,@TARGET_ipq806x||TARGET_layerscape||TARGET_rockchip||TARGET_sunxi) endef define KernelPackage/ata-ahci-platform/description From ce5661e455f7bb87c028ac989c6d05dbc174877b Mon Sep 17 00:00:00 2001 From: Marius Durbaca Date: Wed, 28 Feb 2024 08:41:31 +0000 Subject: [PATCH 03/23] uboot-rockchip: add Radxa E25 board support add Radxa E25 board support in uboot-rockchip Signed-off-by: Marius Durbaca Reviewed-by: Tianling Shen --- package/boot/uboot-rockchip/Makefile | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/package/boot/uboot-rockchip/Makefile b/package/boot/uboot-rockchip/Makefile index c9b3bbd3ac..89a7ccdd4b 100644 --- a/package/boot/uboot-rockchip/Makefile +++ b/package/boot/uboot-rockchip/Makefile @@ -165,6 +165,13 @@ define U-Boot/nanopi-r5s-rk3568 friendlyarm_nanopi-r5s endef +define U-Boot/radxa-e25-rk3568 + $(U-Boot/rk3568/Default) + NAME:=E25 + BUILD_DEVICES:= \ + radxa_e25 +endef + UBOOT_TARGETS := \ nanopc-t4-rk3399 \ nanopi-r4s-rk3399 \ @@ -180,7 +187,8 @@ UBOOT_TARGETS := \ rock-pi-e-rk3328 \ radxa-cm3-io-rk3566 \ nanopi-r5c-rk3568 \ - nanopi-r5s-rk3568 + nanopi-r5s-rk3568 \ + radxa-e25-rk3568 UBOOT_CONFIGURE_VARS += USE_PRIVATE_LIBGCC=yes From f7c732bf9ed9bd09646a528681256fb7b0d80bfc Mon Sep 17 00:00:00 2001 From: Marius Durbaca Date: Wed, 28 Feb 2024 09:39:44 +0000 Subject: [PATCH 04/23] rockchip: add Radxa E25 board support Radxa E25 is a network application carrier board for the Radxa CM3 Industrial (CM3I) SoM, which is based on the Rockchip RK3568 SoC. It has the following features: - MicroSD card socket, on board eMMC flash - 2x 2.5GbE Realtek RTL8125B Ethernet transceiver - 1x USB Type-C port (Power and Serial console) - 1x USB 3.0 OTG port - mini PCIe socket (USB or PCIe) - ngff PCIe socket (USB or SATA) - 1x User LED and 16x RGB LEDs - 26-pin expansion header Installation: Uncompress the OpenWrt sysupgrade and write it to a micro SD card or internal eMMC using dd. Signed-off-by: Marius Durbaca --- .../armv8/base-files/etc/board.d/02_network | 3 +- .../etc/hotplug.d/net/40-net-smp-affinity | 3 +- target/linux/rockchip/image/armv8.mk | 10 + ...rm64-dts-rockchip-Add-Radxa-CM3I-E25.patch | 689 ++++++++++++++++++ ....3-arm64-dts-rockchip-Update-eMMC-SD.patch | 48 ++ ...-arm64-dts-rockchip-Add-missing-CM3i.patch | 35 + ...Correct-the-model-name-for-Radxa-E25.patch | 28 + ...hip-Fix-PCIe-regulators-on-Radxa-E25.patch | 79 ++ ...ts-rockchip-Enable-SATA-on-Radxa-E25.patch | 41 ++ .../112-radxa-e25-add-led-aliases.patch | 24 + 10 files changed, 958 insertions(+), 2 deletions(-) create mode 100644 target/linux/rockchip/patches-6.1/024-v6.3-arm64-dts-rockchip-Add-Radxa-CM3I-E25.patch create mode 100644 target/linux/rockchip/patches-6.1/025-v6.3-arm64-dts-rockchip-Update-eMMC-SD.patch create mode 100644 target/linux/rockchip/patches-6.1/026-v6.3-arm64-dts-rockchip-Add-missing-CM3i.patch create mode 100644 target/linux/rockchip/patches-6.1/027-v6.3-arm64-dts-rockchip-Correct-the-model-name-for-Radxa-E25.patch create mode 100644 target/linux/rockchip/patches-6.1/028-v6.6-arm64-dts-rockchip-Fix-PCIe-regulators-on-Radxa-E25.patch create mode 100644 target/linux/rockchip/patches-6.1/029-v6.6-arm64-dts-rockchip-Enable-SATA-on-Radxa-E25.patch create mode 100644 target/linux/rockchip/patches-6.1/112-radxa-e25-add-led-aliases.patch diff --git a/target/linux/rockchip/armv8/base-files/etc/board.d/02_network b/target/linux/rockchip/armv8/base-files/etc/board.d/02_network index f87b17dbc1..d6e97b91fa 100644 --- a/target/linux/rockchip/armv8/base-files/etc/board.d/02_network +++ b/target/linux/rockchip/armv8/base-files/etc/board.d/02_network @@ -16,7 +16,8 @@ rockchip_setup_interfaces() xunlong,orangepi-r1-plus-lts) ucidef_set_interfaces_lan_wan 'eth1' 'eth0' ;; - friendlyarm,nanopi-r5c) + friendlyarm,nanopi-r5c|\ + radxa,e25) ucidef_set_interfaces_lan_wan 'eth0' 'eth1' ;; friendlyarm,nanopi-r5s) diff --git a/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity b/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity index 360b34ba91..5753d1e856 100644 --- a/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity +++ b/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity @@ -43,7 +43,8 @@ friendlyarm,nanopi-r4s-enterprise) set_interface_core 10 "eth0" set_interface_core 20 "eth1" ;; -friendlyarm,nanopi-r5c) +friendlyarm,nanopi-r5c|\ +radxa,e25) set_interface_core 2 "eth0" set_interface_core 4 "eth1" ;; diff --git a/target/linux/rockchip/image/armv8.mk b/target/linux/rockchip/image/armv8.mk index 251a9c17db..d457058282 100644 --- a/target/linux/rockchip/image/armv8.mk +++ b/target/linux/rockchip/image/armv8.mk @@ -104,6 +104,16 @@ define Device/radxa_cm3-io endef TARGET_DEVICES += radxa_cm3-io +define Device/radxa_e25 + DEVICE_VENDOR := Radxa + DEVICE_MODEL := E25 + SOC := rk3568 + DEVICE_DTS := rockchip/rk3568-radxa-e25 + UBOOT_DEVICE_NAME := radxa-e25-rk3568 + DEVICE_PACKAGES := kmod-r8169 kmod-ata-ahci-platform +endef +TARGET_DEVICES += radxa_e25 + define Device/radxa_rock-pi-4a DEVICE_VENDOR := Radxa DEVICE_MODEL := ROCK Pi 4A diff --git a/target/linux/rockchip/patches-6.1/024-v6.3-arm64-dts-rockchip-Add-Radxa-CM3I-E25.patch b/target/linux/rockchip/patches-6.1/024-v6.3-arm64-dts-rockchip-Add-Radxa-CM3I-E25.patch new file mode 100644 index 0000000000..354c546d7e --- /dev/null +++ b/target/linux/rockchip/patches-6.1/024-v6.3-arm64-dts-rockchip-Add-Radxa-CM3I-E25.patch @@ -0,0 +1,689 @@ +From 2bf2f4d9f673013a58109626b87329310537a611 Mon Sep 17 00:00:00 2001 +From: Chukun Pan +Date: Fri, 9 Dec 2022 18:25:24 +0800 +Subject: [PATCH] arm64: dts: rockchip: Add Radxa CM3I E25 + +Radxa E25 is a network application carrier board for the Radxa CM3 +Industrial (CM3I) SoM, which is based on the Rockchip RK3568 SoC. + +It has the following features: + +- MicroSD card socket, on board eMMC flash +- 2x 2.5GbE Realtek RTL8125B Ethernet transceiver +- 1x USB Type-C port (Power and Serial console) +- 1x USB 3.0 OTG port +- mini PCIe socket (USB or PCIe) +- ngff PCIe socket (USB or SATA) +- 1x User LED and 16x RGB LEDs +- 26-pin expansion header + +Signed-off-by: Chukun Pan +Link: https://lore.kernel.org/r/20221209102524.129367-3-amadeus@jmu.edu.cn +Signed-off-by: Heiko Stuebner +--- + arch/arm64/boot/dts/rockchip/Makefile | 1 + + .../boot/dts/rockchip/rk3568-radxa-cm3i.dtsi | 416 ++++++++++++++++++ + .../boot/dts/rockchip/rk3568-radxa-e25.dts | 229 ++++++++++ + 3 files changed, 646 insertions(+) + create mode 100644 arch/arm64/boot/dts/rockchip/rk3568-radxa-cm3i.dtsi + create mode 100644 arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts + +--- a/arch/arm64/boot/dts/rockchip/Makefile ++++ b/arch/arm64/boot/dts/rockchip/Makefile +@@ -78,4 +78,5 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-bp + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb1-v10.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-nanopi-r5c.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-nanopi-r5s.dtb ++dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-radxa-e25.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-rock-3a.dtb +--- /dev/null ++++ b/arch/arm64/boot/dts/rockchip/rk3568-radxa-cm3i.dtsi +@@ -0,0 +1,416 @@ ++// SPDX-License-Identifier: (GPL-2.0+ OR MIT) ++ ++#include ++#include ++#include ++#include "rk3568.dtsi" ++ ++/ { ++ model = "Radxa CM3 Industrial Board"; ++ compatible = "radxa,cm3i", "rockchip,rk3568"; ++ ++ aliases { ++ mmc0 = &sdhci; ++ }; ++ ++ chosen { ++ stdout-path = "serial2:115200n8"; ++ }; ++ ++ gpio-leds { ++ compatible = "gpio-leds"; ++ ++ led_user: led-0 { ++ gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>; ++ function = LED_FUNCTION_HEARTBEAT; ++ color = ; ++ linux,default-trigger = "heartbeat"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&led_user_en>; ++ }; ++ }; ++ ++ pcie30_avdd0v9: pcie30-avdd0v9-regulator { ++ compatible = "regulator-fixed"; ++ regulator-name = "pcie30_avdd0v9"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <900000>; ++ regulator-max-microvolt = <900000>; ++ vin-supply = <&vcc3v3_sys>; ++ }; ++ ++ pcie30_avdd1v8: pcie30-avdd1v8-regulator { ++ compatible = "regulator-fixed"; ++ regulator-name = "pcie30_avdd1v8"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ vin-supply = <&vcc3v3_sys>; ++ }; ++ ++ vcc3v3_sys: vcc3v3-sys-regulator { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc3v3_sys"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ vin-supply = <&vcc5v_input>; ++ }; ++ ++ vcc5v0_sys: vcc5v0-sys-regulator { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc5v0_sys"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ vin-supply = <&vcc5v_input>; ++ }; ++ ++ /* labeled +5v_input in schematic */ ++ vcc5v_input: vcc5v-input-regulator { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc5v_input"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ }; ++}; ++ ++&combphy0 { ++ status = "okay"; ++}; ++ ++&combphy1 { ++ status = "okay"; ++}; ++ ++&combphy2 { ++ status = "okay"; ++}; ++ ++&cpu0 { ++ cpu-supply = <&vdd_cpu>; ++}; ++ ++&cpu1 { ++ cpu-supply = <&vdd_cpu>; ++}; ++ ++&cpu2 { ++ cpu-supply = <&vdd_cpu>; ++}; ++ ++&cpu3 { ++ cpu-supply = <&vdd_cpu>; ++}; ++ ++&display_subsystem { ++ status = "disabled"; ++}; ++ ++&gpu { ++ mali-supply = <&vdd_gpu>; ++ status = "okay"; ++}; ++ ++&i2c0 { ++ status = "okay"; ++ ++ vdd_cpu: regulator@1c { ++ compatible = "tcs,tcs4525"; ++ reg = <0x1c>; ++ fcs,suspend-voltage-selector = <1>; ++ regulator-name = "vdd_cpu"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <800000>; ++ regulator-max-microvolt = <1150000>; ++ regulator-ramp-delay = <2300>; ++ vin-supply = <&vcc5v_input>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ rk809: pmic@20 { ++ compatible = "rockchip,rk809"; ++ reg = <0x20>; ++ interrupt-parent = <&gpio0>; ++ interrupts = ; ++ #clock-cells = <1>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pmic_int>; ++ rockchip,system-power-controller; ++ wakeup-source; ++ ++ vcc1-supply = <&vcc3v3_sys>; ++ vcc2-supply = <&vcc3v3_sys>; ++ vcc3-supply = <&vcc3v3_sys>; ++ vcc4-supply = <&vcc3v3_sys>; ++ vcc5-supply = <&vcc3v3_sys>; ++ vcc6-supply = <&vcc3v3_sys>; ++ vcc7-supply = <&vcc3v3_sys>; ++ vcc8-supply = <&vcc3v3_sys>; ++ vcc9-supply = <&vcc3v3_sys>; ++ ++ regulators { ++ vdd_logic: DCDC_REG1 { ++ regulator-name = "vdd_logic"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-init-microvolt = <900000>; ++ regulator-initial-mode = <0x2>; ++ regulator-min-microvolt = <500000>; ++ regulator-max-microvolt = <1350000>; ++ regulator-ramp-delay = <6001>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vdd_gpu: DCDC_REG2 { ++ regulator-name = "vdd_gpu"; ++ regulator-always-on; ++ regulator-init-microvolt = <900000>; ++ regulator-initial-mode = <0x2>; ++ regulator-min-microvolt = <500000>; ++ regulator-max-microvolt = <1350000>; ++ regulator-ramp-delay = <6001>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcc_ddr: DCDC_REG3 { ++ regulator-name = "vcc_ddr"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-initial-mode = <0x2>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ }; ++ }; ++ ++ vdd_npu: DCDC_REG4 { ++ regulator-name = "vdd_npu"; ++ regulator-init-microvolt = <900000>; ++ regulator-initial-mode = <0x2>; ++ regulator-min-microvolt = <500000>; ++ regulator-max-microvolt = <1350000>; ++ regulator-ramp-delay = <6001>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcc_1v8: DCDC_REG5 { ++ regulator-name = "vcc_1v8"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vdda0v9_image: LDO_REG1 { ++ regulator-name = "vdda0v9_image"; ++ regulator-min-microvolt = <900000>; ++ regulator-max-microvolt = <900000>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vdda_0v9: LDO_REG2 { ++ regulator-name = "vdda_0v9"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <900000>; ++ regulator-max-microvolt = <900000>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vdda0v9_pmu: LDO_REG3 { ++ regulator-name = "vdda0v9_pmu"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <900000>; ++ regulator-max-microvolt = <900000>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <900000>; ++ }; ++ }; ++ ++ vccio_acodec: LDO_REG4 { ++ regulator-name = "vccio_acodec"; ++ regulator-always-on; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vccio_sd: LDO_REG5 { ++ regulator-name = "vccio_sd"; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <3300000>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcc3v3_pmu: LDO_REG6 { ++ regulator-name = "vcc3v3_pmu"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <3300000>; ++ }; ++ }; ++ ++ vcca_1v8: LDO_REG7 { ++ regulator-name = "vcca_1v8"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcca1v8_pmu: LDO_REG8 { ++ regulator-name = "vcca1v8_pmu"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <1800000>; ++ }; ++ }; ++ ++ vcca1v8_image: LDO_REG9 { ++ regulator-name = "vcca1v8_image"; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcc_3v3: SWITCH_REG1 { ++ regulator-name = "vcc_3v3"; ++ regulator-always-on; ++ regulator-boot-on; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcc3v3_sd: SWITCH_REG2 { ++ regulator-name = "vcc3v3_sd"; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ }; ++ }; ++}; ++ ++&pinctrl { ++ leds { ++ led_user_en: led_user_en { ++ rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++ ++ pmic { ++ pmic_int: pmic_int { ++ rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ }; ++}; ++ ++&pmu_io_domains { ++ pmuio1-supply = <&vcc3v3_pmu>; ++ pmuio2-supply = <&vcc3v3_pmu>; ++ vccio1-supply = <&vccio_acodec>; ++ vccio2-supply = <&vcc_1v8>; ++ vccio3-supply = <&vccio_sd>; ++ vccio4-supply = <&vcc_1v8>; ++ vccio5-supply = <&vcc_3v3>; ++ vccio6-supply = <&vcc_1v8>; ++ vccio7-supply = <&vcc_3v3>; ++ status = "okay"; ++}; ++ ++&saradc { ++ vref-supply = <&vcca_1v8>; ++ status = "okay"; ++}; ++ ++&sdhci { ++ bus-width = <8>; ++ max-frequency = <200000000>; ++ non-removable; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>; ++ vmmc-supply = <&vcc_3v3>; ++ vqmmc-supply = <&vcc_1v8>; ++ status = "okay"; ++}; ++ ++&tsadc { ++ rockchip,hw-tshut-mode = <1>; ++ rockchip,hw-tshut-polarity = <0>; ++ status = "okay"; ++}; ++ ++&uart2 { ++ status = "okay"; ++}; ++ ++&usb2phy0 { ++ status = "okay"; ++}; ++ ++&usb2phy1 { ++ status = "okay"; ++}; ++ ++&usb_host0_xhci { ++ extcon = <&usb2phy0>; ++}; +--- /dev/null ++++ b/arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts +@@ -0,0 +1,229 @@ ++// SPDX-License-Identifier: (GPL-2.0+ OR MIT) ++ ++/dts-v1/; ++#include "rk3568-radxa-cm3i.dtsi" ++ ++/ { ++ model = "Radxa E25"; ++ compatible = "radxa,e25", "rockchip,rk3568"; ++ ++ aliases { ++ mmc0 = &sdmmc0; ++ mmc1 = &sdhci; ++ }; ++ ++ pwm-leds { ++ compatible = "pwm-leds-multicolor"; ++ ++ multi-led { ++ color = ; ++ max-brightness = <255>; ++ ++ led-red { ++ color = ; ++ pwms = <&pwm1 0 1000000 0>; ++ }; ++ ++ led-green { ++ color = ; ++ pwms = <&pwm2 0 1000000 0>; ++ }; ++ ++ led-blue { ++ color = ; ++ pwms = <&pwm12 0 1000000 0>; ++ }; ++ }; ++ }; ++ ++ vbus_typec: vbus-typec-regulator { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&vbus_typec_en>; ++ regulator-name = "vbus_typec"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ vin-supply = <&vcc5v0_sys>; ++ }; ++ ++ vcc3v3_minipcie: vcc3v3-minipcie-regulator { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio3 RK_PA7 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&minipcie_enable_h>; ++ regulator-name = "vcc3v3_minipcie"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ vin-supply = <&vcc5v0_sys>; ++ }; ++ ++ vcc3v3_ngff: vcc3v3-ngff-regulator { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&ngffpcie_enable_h>; ++ regulator-name = "vcc3v3_ngff"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ vin-supply = <&vcc5v0_sys>; ++ }; ++ ++ /* actually fed by vcc5v0_sys, dependent ++ * on pi6c clock generator ++ */ ++ vcc3v3_pcie30x1: vcc3v3-pcie30x1-regulator { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pcie30x1_enable_h>; ++ regulator-name = "vcc3v3_pcie30x1"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ vin-supply = <&vcc3v3_pi6c_05>; ++ }; ++ ++ vcc3v3_pi6c_05: vcc3v3-pi6c-05-regulator { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpios = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pcie_enable_h>; ++ regulator-name = "vcc3v3_pcie"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ vin-supply = <&vcc5v0_sys>; ++ }; ++}; ++ ++&pcie2x1 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pcie20_reset_h>; ++ reset-gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>; ++ vpcie3v3-supply = <&vcc3v3_pi6c_05>; ++ status = "okay"; ++}; ++ ++&pcie30phy { ++ data-lanes = <1 2>; ++ status = "okay"; ++}; ++ ++&pcie3x1 { ++ num-lanes = <1>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pcie30x1m0_pins>; ++ reset-gpios = <&gpio0 RK_PC3 GPIO_ACTIVE_HIGH>; ++ vpcie3v3-supply = <&vcc3v3_pcie30x1>; ++ status = "okay"; ++}; ++ ++&pcie3x2 { ++ num-lanes = <1>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pcie30x2_reset_h>; ++ reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>; ++ vpcie3v3-supply = <&vcc3v3_pi6c_05>; ++ status = "okay"; ++}; ++ ++&pinctrl { ++ pcie { ++ pcie20_reset_h: pcie20-reset-h { ++ rockchip,pins = <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ pcie30x1_enable_h: pcie30x1-enable-h { ++ rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ pcie30x2_reset_h: pcie30x2-reset-h { ++ rockchip,pins = <2 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ pcie_enable_h: pcie-enable-h { ++ rockchip,pins = <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++ ++ usb { ++ minipcie_enable_h: minipcie-enable-h { ++ rockchip,pins = <3 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ ngffpcie_enable_h: ngffpcie-enable-h { ++ rockchip,pins = <0 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ vbus_typec_en: vbus_typec_en { ++ rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++}; ++ ++&pwm1 { ++ status = "okay"; ++}; ++ ++&pwm2 { ++ status = "okay"; ++}; ++ ++&pwm12 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwm12m1_pins>; ++ status = "okay"; ++}; ++ ++&sdmmc0 { ++ bus-width = <4>; ++ cap-sd-highspeed; ++ cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; ++ /* Also used in pcie30x1_clkreqnm0 */ ++ disable-wp; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd>; ++ sd-uhs-sdr104; ++ vmmc-supply = <&vcc3v3_sd>; ++ vqmmc-supply = <&vccio_sd>; ++ status = "okay"; ++}; ++ ++&usb_host0_ehci { ++ status = "okay"; ++}; ++ ++&usb_host0_ohci { ++ status = "okay"; ++}; ++ ++&usb_host0_xhci { ++ status = "okay"; ++}; ++ ++&usb_host1_ehci { ++ status = "okay"; ++}; ++ ++&usb_host1_ohci { ++ status = "okay"; ++}; ++ ++&usb2phy0_otg { ++ phy-supply = <&vbus_typec>; ++ status = "okay"; ++}; ++ ++&usb2phy1_host { ++ phy-supply = <&vcc3v3_minipcie>; ++ status = "okay"; ++}; ++ ++&usb2phy1_otg { ++ phy-supply = <&vcc3v3_ngff>; ++ status = "okay"; ++}; diff --git a/target/linux/rockchip/patches-6.1/025-v6.3-arm64-dts-rockchip-Update-eMMC-SD.patch b/target/linux/rockchip/patches-6.1/025-v6.3-arm64-dts-rockchip-Update-eMMC-SD.patch new file mode 100644 index 0000000000..e556e2eb42 --- /dev/null +++ b/target/linux/rockchip/patches-6.1/025-v6.3-arm64-dts-rockchip-Update-eMMC-SD.patch @@ -0,0 +1,48 @@ +From c80992abd2877590059e9cb254213c16824e2106 Mon Sep 17 00:00:00 2001 +From: Jagan Teki +Date: Wed, 18 Jan 2023 13:34:53 +0530 +Subject: [PATCH] arm64: dts: rockchip: Update eMMC, SD aliases for Radxa SoM + boards + +Radxa has produced Compute Modules like RK3399pro VMARC and CM3i with +onboarding eMMC flash, so the eMMC is the primary MMC device. + +On the other hand, Rockchip boot orders start from eMMC from an MMC +device perspective. + +Mark, the eMMC has mmc0 to satisfy the above two conditions. + +Reported-by: FUKAUMI Naoki +Signed-off-by: Jagan Teki +Link: https://lore.kernel.org/r/20230118080454.11643-1-jagan@amarulasolutions.com +Signed-off-by: Heiko Stuebner +--- + arch/arm64/boot/dts/rockchip/rk3399pro-vmarc-som.dtsi | 4 ++-- + arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts | 3 +-- + 2 files changed, 3 insertions(+), 4 deletions(-) + +--- a/arch/arm64/boot/dts/rockchip/rk3399pro-vmarc-som.dtsi ++++ b/arch/arm64/boot/dts/rockchip/rk3399pro-vmarc-som.dtsi +@@ -13,8 +13,8 @@ + compatible = "vamrs,rk3399pro-vmarc-som", "rockchip,rk3399pro"; + + aliases { +- mmc0 = &sdmmc; +- mmc1 = &sdhci; ++ mmc0 = &sdhci; ++ mmc1 = &sdmmc; + }; + + vcc3v3_pcie: vcc-pcie-regulator { +--- a/arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts +@@ -8,8 +8,7 @@ + compatible = "radxa,e25", "rockchip,rk3568"; + + aliases { +- mmc0 = &sdmmc0; +- mmc1 = &sdhci; ++ mmc1 = &sdmmc0; + }; + + pwm-leds { diff --git a/target/linux/rockchip/patches-6.1/026-v6.3-arm64-dts-rockchip-Add-missing-CM3i.patch b/target/linux/rockchip/patches-6.1/026-v6.3-arm64-dts-rockchip-Add-missing-CM3i.patch new file mode 100644 index 0000000000..c1f1a09219 --- /dev/null +++ b/target/linux/rockchip/patches-6.1/026-v6.3-arm64-dts-rockchip-Add-missing-CM3i.patch @@ -0,0 +1,35 @@ +From c4d2b02d63ee38b381fbc886c02eecfec4f981cc Mon Sep 17 00:00:00 2001 +From: Jagan Teki +Date: Mon, 23 Jan 2023 12:46:51 +0530 +Subject: [PATCH] arm64: dts: rockchip: Add missing CM3i fallback compatible + for Radxa E25 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +In order to function the Radxa E25 Carrier board, it is mandatory to +mount the Radxa CM3i module.  + +Add Radxa CM3i compatible as fallback compatible to string to satisfy +the Module and Carrier board topology. + +Fixes: 2bf2f4d9f673 ("arm64: dts: rockchip: Add Radxa CM3I E25") +Cc: Chukun Pan +Signed-off-by: Jagan Teki +Link: https://lore.kernel.org/r/20230123071654.73139-2-jagan@amarulasolutions.com +Signed-off-by: Heiko Stuebner +--- + arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts +@@ -5,7 +5,7 @@ + + / { + model = "Radxa E25"; +- compatible = "radxa,e25", "rockchip,rk3568"; ++ compatible = "radxa,e25", "radxa,cm3i", "rockchip,rk3568"; + + aliases { + mmc1 = &sdmmc0; diff --git a/target/linux/rockchip/patches-6.1/027-v6.3-arm64-dts-rockchip-Correct-the-model-name-for-Radxa-E25.patch b/target/linux/rockchip/patches-6.1/027-v6.3-arm64-dts-rockchip-Correct-the-model-name-for-Radxa-E25.patch new file mode 100644 index 0000000000..84e87bae05 --- /dev/null +++ b/target/linux/rockchip/patches-6.1/027-v6.3-arm64-dts-rockchip-Correct-the-model-name-for-Radxa-E25.patch @@ -0,0 +1,28 @@ +From ef9134d9bbce071c9e4ebdcbb6f8fb1a5dd0a67e Mon Sep 17 00:00:00 2001 +From: Jagan Teki +Date: Mon, 23 Jan 2023 12:46:53 +0530 +Subject: [PATCH] arm64: dts: rockchip: Correct the model name for Radxa E25 + +Radxa E25 is a Carrier board, so update the model name for Radxa E25 +as suggested by the Radxa website. + +Fixes: 2bf2f4d9f673 ("arm64: dts: rockchip: Add Radxa CM3I E25") +Cc: Chukun Pan +Signed-off-by: Jagan Teki +Link: https://lore.kernel.org/r/20230123071654.73139-4-jagan@amarulasolutions.com +Signed-off-by: Heiko Stuebner +--- + arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts +@@ -4,7 +4,7 @@ + #include "rk3568-radxa-cm3i.dtsi" + + / { +- model = "Radxa E25"; ++ model = "Radxa E25 Carrier Board"; + compatible = "radxa,e25", "radxa,cm3i", "rockchip,rk3568"; + + aliases { diff --git a/target/linux/rockchip/patches-6.1/028-v6.6-arm64-dts-rockchip-Fix-PCIe-regulators-on-Radxa-E25.patch b/target/linux/rockchip/patches-6.1/028-v6.6-arm64-dts-rockchip-Fix-PCIe-regulators-on-Radxa-E25.patch new file mode 100644 index 0000000000..da02c4c001 --- /dev/null +++ b/target/linux/rockchip/patches-6.1/028-v6.6-arm64-dts-rockchip-Fix-PCIe-regulators-on-Radxa-E25.patch @@ -0,0 +1,79 @@ +From a87852e37f782257ebc57cc44a0d3fbf806471f6 Mon Sep 17 00:00:00 2001 +From: Jonas Karlman +Date: Mon, 24 Jul 2023 14:52:16 +0000 +Subject: [PATCH] arm64: dts: rockchip: Fix PCIe regulators on Radxa E25 + +Despite its name, the regulator vcc3v3_pcie30x1 has nothing to do with +pcie30x1. Instead, it supply power to VBAT1-5 on the M.2 KEY B port as +seen on page 8 of the schematic [1]. + +pcie30x1 is used for the mini PCIe slot, and as seen on page 9 the +vcc3v3_minipcie regulator is instead related to pcie30x1. + +The M.2 KEY B port can be used for WWAN USB2 modules or SATA drives. + +Use correct regulator vcc3v3_minipcie for pcie30x1. + +[1] https://dl.radxa.com/cm3p/e25/radxa-e25-v1.4-sch.pdf + +Fixes: 2bf2f4d9f673 ("arm64: dts: rockchip: Add Radxa CM3I E25") +Signed-off-by: Jonas Karlman +Link: https://lore.kernel.org/r/20230724145213.3833099-1-jonas@kwiboo.se +Signed-off-by: Heiko Stuebner +--- + .../arm64/boot/dts/rockchip/rk3568-radxa-e25.dts | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +--- a/arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts +@@ -47,6 +47,9 @@ + vin-supply = <&vcc5v0_sys>; + }; + ++ /* actually fed by vcc5v0_sys, dependent ++ * on pi6c clock generator ++ */ + vcc3v3_minipcie: vcc3v3-minipcie-regulator { + compatible = "regulator-fixed"; + enable-active-high; +@@ -54,9 +57,9 @@ + pinctrl-names = "default"; + pinctrl-0 = <&minipcie_enable_h>; + regulator-name = "vcc3v3_minipcie"; +- regulator-min-microvolt = <5000000>; +- regulator-max-microvolt = <5000000>; +- vin-supply = <&vcc5v0_sys>; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ vin-supply = <&vcc3v3_pi6c_05>; + }; + + vcc3v3_ngff: vcc3v3-ngff-regulator { +@@ -71,9 +74,6 @@ + vin-supply = <&vcc5v0_sys>; + }; + +- /* actually fed by vcc5v0_sys, dependent +- * on pi6c clock generator +- */ + vcc3v3_pcie30x1: vcc3v3-pcie30x1-regulator { + compatible = "regulator-fixed"; + enable-active-high; +@@ -83,7 +83,7 @@ + regulator-name = "vcc3v3_pcie30x1"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; +- vin-supply = <&vcc3v3_pi6c_05>; ++ vin-supply = <&vcc5v0_sys>; + }; + + vcc3v3_pi6c_05: vcc3v3-pi6c-05-regulator { +@@ -117,7 +117,7 @@ + pinctrl-names = "default"; + pinctrl-0 = <&pcie30x1m0_pins>; + reset-gpios = <&gpio0 RK_PC3 GPIO_ACTIVE_HIGH>; +- vpcie3v3-supply = <&vcc3v3_pcie30x1>; ++ vpcie3v3-supply = <&vcc3v3_minipcie>; + status = "okay"; + }; + diff --git a/target/linux/rockchip/patches-6.1/029-v6.6-arm64-dts-rockchip-Enable-SATA-on-Radxa-E25.patch b/target/linux/rockchip/patches-6.1/029-v6.6-arm64-dts-rockchip-Enable-SATA-on-Radxa-E25.patch new file mode 100644 index 0000000000..c0abdeb267 --- /dev/null +++ b/target/linux/rockchip/patches-6.1/029-v6.6-arm64-dts-rockchip-Enable-SATA-on-Radxa-E25.patch @@ -0,0 +1,41 @@ +From 2bdfe84fbd57a4ed9fd65a67210442559ce078f0 Mon Sep 17 00:00:00 2001 +From: Jonas Karlman +Date: Mon, 24 Jul 2023 14:52:16 +0000 +Subject: [PATCH] arm64: dts: rockchip: Enable SATA on Radxa E25 + +The M.2 KEY B port can be used for WWAN USB2 modules or SATA drives. + +Enable sata1 node to fix use of SATA drives on the M.2 slot. + +Fixes: 2bf2f4d9f673 ("arm64: dts: rockchip: Add Radxa CM3I E25") +Signed-off-by: Jonas Karlman +Link: https://lore.kernel.org/r/20230724145213.3833099-1-jonas@kwiboo.se +Signed-off-by: Heiko Stuebner +--- + arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts | 8 ++++++++ + 1 file changed, 8 insertions(+) + +--- a/arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts +@@ -99,6 +99,10 @@ + }; + }; + ++&combphy1 { ++ phy-supply = <&vcc3v3_pcie30x1>; ++}; ++ + &pcie2x1 { + pinctrl-names = "default"; + pinctrl-0 = <&pcie20_reset_h>; +@@ -178,6 +182,10 @@ + status = "okay"; + }; + ++&sata1 { ++ status = "okay"; ++}; ++ + &sdmmc0 { + bus-width = <4>; + cap-sd-highspeed; diff --git a/target/linux/rockchip/patches-6.1/112-radxa-e25-add-led-aliases.patch b/target/linux/rockchip/patches-6.1/112-radxa-e25-add-led-aliases.patch new file mode 100644 index 0000000000..75038c7f39 --- /dev/null +++ b/target/linux/rockchip/patches-6.1/112-radxa-e25-add-led-aliases.patch @@ -0,0 +1,24 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Marius Durbaca +Date: Tue Feb 27 16:25:27 2024 +0200 +Subject: [PATCH] arm64: dts: rockchip: Update LED properties for Radxa +E25 + +Add OpenWrt's LED aliases for showing system status. + +Signed-off-by: Marius Durbaca +--- + +--- a/arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3568-radxa-e25.dts +@@ -9,6 +9,10 @@ + + aliases { + mmc1 = &sdmmc0; ++ led-boot = &led_user; ++ led-failsafe = &led_user; ++ led-running = &led_user; ++ led-upgrade = &led_user; + }; + + pwm-leds { From bce7b4f8e5bc01fa29ca45db88bb55bb0d301265 Mon Sep 17 00:00:00 2001 From: Mieczyslaw Nalewaj Date: Fri, 22 Mar 2024 23:15:59 +0100 Subject: [PATCH 05/23] mac80211: carl9170: re-fix fortified-memset warning The carl9170_tx_release() function sometimes triggers a fortified-memset warning in my randconfig builds: In file included from include/linux/string.h:254, from drivers/net/wireless/ath/carl9170/tx.c:40: In function 'fortify_memset_chk', inlined from 'carl9170_tx_release' at drivers/net/wireless/ath/carl9170/tx.c:283:2, inlined from 'kref_put' at include/linux/kref.h:65:3, inlined from 'carl9170_tx_put_skb' at drivers/net/wireless/ath/carl9170/tx.c:342:9: include/linux/fortify-string.h:493:25: error: call to '__write_overflow_field' declared with attribute warning: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Werror=attribute-warning] 493 | __write_overflow_field(p_size_field, size); Kees previously tried to avoid this by using memset_after(), but it seems this does not fully address the problem. I noticed that the memset_after() here is done on a different part of the union (status) than the original cast was from (rate_driver_data), which may confuse the compiler. Unfortunately, the memset_after() trick does not work on driver_rates[] because that is part of an anonymous struct, and I could not get struct_group() to do this either. Using two separate memset() calls on the two members does address the warning though. Signed-off-by: Mieczyslaw Nalewaj --- ...9170_re-fix_fortified-memset_warning.patch | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 package/kernel/mac80211/patches/ath/432-carl9170_re-fix_fortified-memset_warning.patch diff --git a/package/kernel/mac80211/patches/ath/432-carl9170_re-fix_fortified-memset_warning.patch b/package/kernel/mac80211/patches/ath/432-carl9170_re-fix_fortified-memset_warning.patch new file mode 100644 index 0000000000..eafe49bd6f --- /dev/null +++ b/package/kernel/mac80211/patches/ath/432-carl9170_re-fix_fortified-memset_warning.patch @@ -0,0 +1,51 @@ +[PATCH 1/2] carl9170: re-fix fortified-memset warning +@ 2023-06-23 15:23 Arnd Bergmann + 2023-06-23 15:24 ` [PATCH 2/2] mac80211: make ieee80211_tx_info padding explicit Arnd Bergmann + ` (2 more replies) + 0 siblings, 3 replies; 9+ messages in thread +From: Arnd Bergmann @ 2023-06-23 15:23 UTC (permalink / raw) + To: Christian Lamparter, Kalle Valo, Kees Cook, Johannes Berg + Cc: Arnd Bergmann, linux-wireless, linux-kernel + +From: Arnd Bergmann + +The carl9170_tx_release() function sometimes triggers a fortified-memset +warning in my randconfig builds: + +In file included from include/linux/string.h:254, + from drivers/net/wireless/ath/carl9170/tx.c:40: +In function 'fortify_memset_chk', + inlined from 'carl9170_tx_release' at drivers/net/wireless/ath/carl9170/tx.c:283:2, + inlined from 'kref_put' at include/linux/kref.h:65:3, + inlined from 'carl9170_tx_put_skb' at drivers/net/wireless/ath/carl9170/tx.c:342:9: +include/linux/fortify-string.h:493:25: error: call to '__write_overflow_field' declared with attribute warning: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Werror=attribute-warning] + 493 | __write_overflow_field(p_size_field, size); + +Kees previously tried to avoid this by using memset_after(), but it seems +this does not fully address the problem. I noticed that the memset_after() +here is done on a different part of the union (status) than the original +cast was from (rate_driver_data), which may confuse the compiler. + +Unfortunately, the memset_after() trick does not work on driver_rates[] +because that is part of an anonymous struct, and I could not get +struct_group() to do this either. Using two separate memset() calls +on the two members does address the warning though. + +Fixes: fb5f6a0e8063b ("mac80211: Use memset_after() to clear tx status") +Signed-off-by: Arnd Bergmann +--- + drivers/net/wireless/ath/carl9170/tx.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/net/wireless/ath/carl9170/tx.c ++++ b/drivers/net/wireless/ath/carl9170/tx.c +@@ -280,7 +280,8 @@ static void carl9170_tx_release(struct k + * carl9170_tx_fill_rateinfo() has filled the rate information + * before we get to this point. + */ +- memset_after(&txinfo->status, 0, rates); ++ memset(&txinfo->pad, 0, sizeof(txinfo->pad)); ++ memset(&txinfo->rate_driver_data, 0, sizeof(txinfo->rate_driver_data)); + + if (atomic_read(&ar->tx_total_queued)) + ar->tx_schedule = true; From 2cfe86d383c9eb74b6d37d8e33bb726f7d6cbb8a Mon Sep 17 00:00:00 2001 From: Sander van Deijck Date: Tue, 12 Mar 2024 01:54:38 +0100 Subject: [PATCH 06/23] kirkwood: add ix4-200d support to uboot-envtools This adds support for the Iomega ix4-200d device in uboot-envtools. Signed-off-by: Sander van Deijck --- package/boot/uboot-envtools/files/kirkwood | 1 + 1 file changed, 1 insertion(+) diff --git a/package/boot/uboot-envtools/files/kirkwood b/package/boot/uboot-envtools/files/kirkwood index 240371f48d..1b07640cd3 100644 --- a/package/boot/uboot-envtools/files/kirkwood +++ b/package/boot/uboot-envtools/files/kirkwood @@ -17,6 +17,7 @@ cloudengines,pogoe02|\ cloudengines,pogoplugv4|\ globalscale,sheevaplug|\ iom,ix2-200|\ +iom,ix4-200d|\ linksys,e4200-v2|\ linksys,ea4500|\ netgear,readynas-duo-v2|\ From 3b4cfb25bc33da5171c6936b45ed89a424841a73 Mon Sep 17 00:00:00 2001 From: Sander Vanheule Date: Sat, 23 Mar 2024 15:36:34 +0100 Subject: [PATCH 07/23] tools: firmware-utils: update to git HEAD Add the new 'zycast' tool for remote flashing of Zyxel devices, support for factory image generation for two new TP-Link devices, and improved compatibility with two other devices. 17de36575f1e zycast: disable build on non-Linux OS a5dfb5fb5e6e tplink-safeloader: add TP-Link RE205 v3 support c1e06daf4622 tplink-safeloader: bump EAP225-V3 compat_level 335d063cff23 tplink-safeloader: bump EAP225-Outdoor v1 compat c1e69e6f9c0d tplink-safeloader: show compat_level with FW info e87f23849790 zycast: new tool for ZyXEL bootloader flashing 9067281d17da tplink-safeloader: add RE365 v1 Signed-off-by: Sander Vanheule --- tools/firmware-utils/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/firmware-utils/Makefile b/tools/firmware-utils/Makefile index 3d86d6aec2..6d378589f0 100644 --- a/tools/firmware-utils/Makefile +++ b/tools/firmware-utils/Makefile @@ -11,9 +11,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/firmware-utils.git -PKG_SOURCE_DATE:=2023-11-22 -PKG_SOURCE_VERSION:=d87b6c4b6423201e595459840f51d0dced04a4eb -PKG_MIRROR_HASH:=00f25358d4755547618affee173986e95ba078d04fc80535fe394505196fdc0d +PKG_SOURCE_DATE:=2024-02-14 +PKG_SOURCE_VERSION:=17de36575f1edf4287c1d92c7d7eb45c8ceca29e +PKG_MIRROR_HASH:=70ee16f2dd00a9f1a66b6cd0d90ba58ad36e45e713dae53af38831ed38fbe7e5 include $(INCLUDE_DIR)/host-build.mk include $(INCLUDE_DIR)/cmake.mk From 2ac6fe6a8849e700012d17705c6252716a0e8c8b Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sat, 23 Mar 2024 15:14:01 +0100 Subject: [PATCH 08/23] tools: firmware-utils: update to git HEAD 6b24299 ptgen: fix limitation for active partition in GPT Signed-off-by: Hauke Mehrtens --- tools/firmware-utils/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/firmware-utils/Makefile b/tools/firmware-utils/Makefile index 6d378589f0..9e7c8d6d31 100644 --- a/tools/firmware-utils/Makefile +++ b/tools/firmware-utils/Makefile @@ -11,9 +11,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/firmware-utils.git -PKG_SOURCE_DATE:=2024-02-14 -PKG_SOURCE_VERSION:=17de36575f1edf4287c1d92c7d7eb45c8ceca29e -PKG_MIRROR_HASH:=70ee16f2dd00a9f1a66b6cd0d90ba58ad36e45e713dae53af38831ed38fbe7e5 +PKG_SOURCE_DATE:=2024-03-23 +PKG_SOURCE_VERSION:=6b242991a995c41769977efb010dc9f4e4ec3da2 +PKG_MIRROR_HASH:=f8d84868487ec51ea4119fb5a48a181025ca272d8eb5b714068d0eec8db88d87 include $(INCLUDE_DIR)/host-build.mk include $(INCLUDE_DIR)/cmake.mk From f403824a6fde7c06c7ea7af5a81b0971fce714a1 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sat, 23 Mar 2024 15:16:19 +0100 Subject: [PATCH 09/23] firmware-utils: update to git HEAD 9067281 tplink-safeloader: add RE365 v1 e87f238 zycast: new tool for ZyXEL bootloader flashing c1e69e6 tplink-safeloader: show compat_level with FW info 335d063 tplink-safeloader: bump EAP225-Outdoor v1 compat c1e06da tplink-safeloader: bump EAP225-V3 compat_level a5dfb5f tplink-safeloader: add TP-Link RE205 v3 support 17de365 zycast: disable build on non-Linux OS 6b24299 ptgen: fix limitation for active partition in GPT Signed-off-by: Hauke Mehrtens --- package/utils/firmware-utils/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/utils/firmware-utils/Makefile b/package/utils/firmware-utils/Makefile index 5e5f57e5a0..d9213d71c8 100644 --- a/package/utils/firmware-utils/Makefile +++ b/package/utils/firmware-utils/Makefile @@ -7,9 +7,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/firmware-utils.git -PKG_SOURCE_DATE:=2023-11-22 -PKG_SOURCE_VERSION:=d87b6c4b6423201e595459840f51d0dced04a4eb -PKG_MIRROR_HASH:=f34fbf4dc4bd13d18ea94e6e25090b57cde11b3dc7133e46f6ce3bb9164ab8fb +PKG_SOURCE_DATE:=2024-03-23 +PKG_SOURCE_VERSION:=6b242991a995c41769977efb010dc9f4e4ec3da2 +PKG_MIRROR_HASH:=f8d84868487ec51ea4119fb5a48a181025ca272d8eb5b714068d0eec8db88d87 PKG_BUILD_DEPENDS:=openssl zlib From a91b79fd04d58e711273d08e0b1246942b2eec98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Owoc?= Date: Mon, 18 Mar 2024 21:53:51 +0100 Subject: [PATCH 10/23] mac80211: add missing config for third 160MHz width for 5GHz radio MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Without this configuration it is not possible to run the radio using HE160 on channels 149-177. Fixes: #14906 Signed-off-by: Paweł Owoc --- .../config/wifi-scripts/files/lib/netifd/wireless/mac80211.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/package/network/config/wifi-scripts/files/lib/netifd/wireless/mac80211.sh b/package/network/config/wifi-scripts/files/lib/netifd/wireless/mac80211.sh index 55df71ee3d..bc59c303b9 100755 --- a/package/network/config/wifi-scripts/files/lib/netifd/wireless/mac80211.sh +++ b/package/network/config/wifi-scripts/files/lib/netifd/wireless/mac80211.sh @@ -273,6 +273,7 @@ mac80211_hostapd_setup_base() { case "$channel" in 36|40|44|48|52|56|60|64) idx=50;; 100|104|108|112|116|120|124|128) idx=114;; + 149|153|157|161|165|169|173|177) idx=163;; esac fi enable_ac=1 From 686cc58c10a48b58a9eef601f3697c9ec4019da6 Mon Sep 17 00:00:00 2001 From: Qingfang Deng Date: Tue, 12 Mar 2024 10:08:30 +0800 Subject: [PATCH 11/23] kernel: support RISC-V PMU Add RISC-V PMU config symbols and enable them for riscv64. Signed-off-by: Qingfang Deng --- config/Config-kernel.in | 10 ++++++++++ target/linux/generic/config-6.1 | 3 +++ target/linux/generic/config-6.6 | 3 +++ 3 files changed, 16 insertions(+) diff --git a/config/Config-kernel.in b/config/Config-kernel.in index 2e59bc9551..f4ea6ccbe8 100644 --- a/config/Config-kernel.in +++ b/config/Config-kernel.in @@ -50,6 +50,15 @@ config KERNEL_ARM_PMU default y if TARGET_armsr_armv8 depends on (arm || aarch64) +config KERNEL_RISCV_PMU + bool + select KERNEL_RISCV_PMU_SBI + depends on riscv64 + +config KERNEL_RISCV_PMU_SBI + bool + depends on riscv64 + config KERNEL_X86_VSYSCALL_EMULATION bool "Enable vsyscall emulation" depends on x86_64 @@ -70,6 +79,7 @@ config KERNEL_X86_VSYSCALL_EMULATION config KERNEL_PERF_EVENTS bool "Compile the kernel with performance events and counters" select KERNEL_ARM_PMU if (arm || aarch64) + select KERNEL_RISCV_PMU if riscv64 config KERNEL_PROFILING bool "Compile the kernel with profiling enabled" diff --git a/target/linux/generic/config-6.1 b/target/linux/generic/config-6.1 index fa82f9cb9a..5bac0ee57a 100644 --- a/target/linux/generic/config-6.1 +++ b/target/linux/generic/config-6.1 @@ -5304,6 +5304,9 @@ CONFIG_RFKILL=y # CONFIG_RING_BUFFER_BENCHMARK is not set # CONFIG_RING_BUFFER_STARTUP_TEST is not set # CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS is not set +# CONFIG_RISCV_PMU is not set +# CONFIG_RISCV_PMU_LEGACY is not set +# CONFIG_RISCV_PMU_SBI is not set # CONFIG_RMI4_CORE is not set # CONFIG_RMNET is not set # CONFIG_ROCKCHIP_PHY is not set diff --git a/target/linux/generic/config-6.6 b/target/linux/generic/config-6.6 index d012750ba1..4e26f2af9b 100644 --- a/target/linux/generic/config-6.6 +++ b/target/linux/generic/config-6.6 @@ -5426,6 +5426,9 @@ CONFIG_RFKILL=y # CONFIG_RING_BUFFER_BENCHMARK is not set # CONFIG_RING_BUFFER_STARTUP_TEST is not set # CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS is not set +# CONFIG_RISCV_PMU is not set +# CONFIG_RISCV_PMU_LEGACY is not set +# CONFIG_RISCV_PMU_SBI is not set # CONFIG_RMI4_CORE is not set # CONFIG_RMNET is not set # CONFIG_ROCKCHIP_ERRATUM_3588001 is not set From 27ce04a94867e870ffa1c753e531571054f2358f Mon Sep 17 00:00:00 2001 From: Qingfang Deng Date: Tue, 12 Mar 2024 10:05:13 +0800 Subject: [PATCH 12/23] kernel: fix iptables offload build without nftables When rebasing patches on top of 6.1, a change that removed NF_TABLES from NF_FLOW_TABLE's dependency was dropped accidentally, and iptables flow offload module can only be built when nftables is selected. Restore the change to fix it. Fixes: 19a246bb6503 ("generic: 6.1: manually refresh hack patches") Signed-off-by: Qingfang Deng --- .../650-netfilter-add-xt_FLOWOFFLOAD-target.patch | 10 +++++++++- .../650-netfilter-add-xt_FLOWOFFLOAD-target.patch | 10 +++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/target/linux/generic/hack-6.1/650-netfilter-add-xt_FLOWOFFLOAD-target.patch b/target/linux/generic/hack-6.1/650-netfilter-add-xt_FLOWOFFLOAD-target.patch index 1dfd556ce8..6fdfc79207 100644 --- a/target/linux/generic/hack-6.1/650-netfilter-add-xt_FLOWOFFLOAD-target.patch +++ b/target/linux/generic/hack-6.1/650-netfilter-add-xt_FLOWOFFLOAD-target.patch @@ -8,7 +8,15 @@ Signed-off-by: Felix Fietkau --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -1023,6 +1023,15 @@ config NETFILTER_XT_TARGET_NOTRACK +@@ -726,7 +726,6 @@ config NF_FLOW_TABLE + tristate "Netfilter flow table module" + depends on NETFILTER_INGRESS + depends on NF_CONNTRACK +- depends on NF_TABLES + help + This option adds the flow table core infrastructure. + +@@ -1023,6 +1022,15 @@ config NETFILTER_XT_TARGET_NOTRACK depends on NETFILTER_ADVANCED select NETFILTER_XT_TARGET_CT diff --git a/target/linux/generic/hack-6.6/650-netfilter-add-xt_FLOWOFFLOAD-target.patch b/target/linux/generic/hack-6.6/650-netfilter-add-xt_FLOWOFFLOAD-target.patch index 1c75a2cf3d..9735983212 100644 --- a/target/linux/generic/hack-6.6/650-netfilter-add-xt_FLOWOFFLOAD-target.patch +++ b/target/linux/generic/hack-6.6/650-netfilter-add-xt_FLOWOFFLOAD-target.patch @@ -8,7 +8,15 @@ Signed-off-by: Felix Fietkau --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -1025,6 +1025,15 @@ config NETFILTER_XT_TARGET_NOTRACK +@@ -729,7 +729,6 @@ config NF_FLOW_TABLE + tristate "Netfilter flow table module" + depends on NETFILTER_INGRESS + depends on NF_CONNTRACK +- depends on NF_TABLES + help + This option adds the flow table core infrastructure. + +@@ -1025,6 +1024,15 @@ config NETFILTER_XT_TARGET_NOTRACK depends on NETFILTER_ADVANCED select NETFILTER_XT_TARGET_CT From 92c21b2e18f0c53f45cca9731e131568cddcbbd5 Mon Sep 17 00:00:00 2001 From: Richard Kunze Date: Wed, 20 Mar 2024 19:26:27 +0100 Subject: [PATCH 13/23] realtek: support common GPIOs on D-Link DGS-1210-16 D-Link DGS-1210-16 hangs when rebooting and has no support for the reset button. Fix both by enabling the same GPIOs for reboot and the reset button as already used for D-Link DGS-1210-20 and D-Link DGS-1210-28. Signed-off-by: Richard Kunze --- target/linux/realtek/dts-5.15/rtl8382_d-link_dgs-1210-16.dts | 1 + 1 file changed, 1 insertion(+) diff --git a/target/linux/realtek/dts-5.15/rtl8382_d-link_dgs-1210-16.dts b/target/linux/realtek/dts-5.15/rtl8382_d-link_dgs-1210-16.dts index 35f41b9e4d..c9a79fb607 100644 --- a/target/linux/realtek/dts-5.15/rtl8382_d-link_dgs-1210-16.dts +++ b/target/linux/realtek/dts-5.15/rtl8382_d-link_dgs-1210-16.dts @@ -2,6 +2,7 @@ #include "rtl838x.dtsi" #include "rtl83xx_d-link_dgs-1210_common.dtsi" +#include "rtl83xx_d-link_dgs-1210_gpio.dtsi" / { compatible = "d-link,dgs-1210-16", "realtek,rtl838x-soc"; From a693291ca9da031e168d802a5570c1a4bdfe0658 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sat, 23 Mar 2024 19:34:22 +0100 Subject: [PATCH 14/23] libiwinfo: update to Git HEAD (2024-03-23) 3aa2b6b devices: add device id for MediaTek MT7601U 79a9615 devices: add device id for Realtek RTL8188CU and RTL8188FTV Signed-off-by: Hauke Mehrtens --- package/network/utils/iwinfo/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/network/utils/iwinfo/Makefile b/package/network/utils/iwinfo/Makefile index 0a8320c0d4..5b5d1b573f 100644 --- a/package/network/utils/iwinfo/Makefile +++ b/package/network/utils/iwinfo/Makefile @@ -11,9 +11,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/iwinfo.git -PKG_SOURCE_DATE:=2024-03-08 -PKG_SOURCE_VERSION:=8ffb8bfd1115ae95265aa52590aa948aba7672e4 -PKG_MIRROR_HASH:=846d4ac22832e507e5a96e07332324e30cd39289743d18e9ec0d418009f3ba37 +PKG_SOURCE_DATE:=2024-03-23 +PKG_SOURCE_VERSION:=79a96150647110fb03852bc321bd37159d63ae1a +PKG_MIRROR_HASH:=684ef80f1b85e054016709fc1d90160bd2191e76309831818ace1d4c5ec0f37e PKG_MAINTAINER:=Jo-Philipp Wich PKG_LICENSE:=GPL-2.0 From 54f9744c820a6090e0c06574684c33e3e611939d Mon Sep 17 00:00:00 2001 From: Qingfang Deng Date: Mon, 26 Feb 2024 16:38:52 +0800 Subject: [PATCH 15/23] treewide: disable spectre mitigation on unaffected Arm32 targets Cortex-A5 and Cortex-A7 are not vulnerable to any Spectre variants. Ref: https://developer.arm.com/Arm%20Security%20Center/Speculative%20Processor%20Vulnerability Signed-off-by: Qingfang Deng --- target/linux/airoha/config-5.15 | 3 ++- target/linux/airoha/config-6.1 | 3 ++- target/linux/at91/sama5/config-5.15 | 3 ++- target/linux/at91/sama7/config-5.15 | 3 ++- target/linux/bcm27xx/bcm2709/config-6.1 | 3 ++- target/linux/imx/cortexa7/config-default | 2 ++ target/linux/ipq40xx/config-6.1 | 3 ++- target/linux/layerscape/armv7/config-6.1 | 3 ++- target/linux/mediatek/mt7623/config-6.1 | 3 ++- target/linux/mediatek/mt7623/config-6.6 | 2 ++ target/linux/mediatek/mt7629/config-6.1 | 3 ++- target/linux/mediatek/mt7629/config-6.6 | 2 ++ target/linux/sunxi/cortexa7/config-6.1 | 2 ++ 13 files changed, 26 insertions(+), 9 deletions(-) diff --git a/target/linux/airoha/config-5.15 b/target/linux/airoha/config-5.15 index ae6c1d5089..259ab03521 100644 --- a/target/linux/airoha/config-5.15 +++ b/target/linux/airoha/config-5.15 @@ -122,7 +122,8 @@ CONFIG_GPIO_CDEV=y CONFIG_GPIO_EN7523=y CONFIG_GPIO_GENERIC=y CONFIG_HANDLE_DOMAIN_IRQ=y -CONFIG_HARDEN_BRANCH_PREDICTOR=y +# CONFIG_HARDEN_BRANCH_HISTORY is not set +# CONFIG_HARDEN_BRANCH_PREDICTOR is not set CONFIG_HARDIRQS_SW_RESEND=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y diff --git a/target/linux/airoha/config-6.1 b/target/linux/airoha/config-6.1 index 3402d779b2..e609c29db2 100644 --- a/target/linux/airoha/config-6.1 +++ b/target/linux/airoha/config-6.1 @@ -133,7 +133,8 @@ CONFIG_GPIOLIB_IRQCHIP=y CONFIG_GPIO_CDEV=y CONFIG_GPIO_EN7523=y CONFIG_GPIO_GENERIC=y -CONFIG_HARDEN_BRANCH_PREDICTOR=y +# CONFIG_HARDEN_BRANCH_HISTORY is not set +# CONFIG_HARDEN_BRANCH_PREDICTOR is not set CONFIG_HARDIRQS_SW_RESEND=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y diff --git a/target/linux/at91/sama5/config-5.15 b/target/linux/at91/sama5/config-5.15 index 3e51deb98e..47596039c8 100644 --- a/target/linux/at91/sama5/config-5.15 +++ b/target/linux/at91/sama5/config-5.15 @@ -192,7 +192,8 @@ CONFIG_GLOB=y CONFIG_GPIOLIB_IRQCHIP=y CONFIG_GPIO_CDEV=y CONFIG_HANDLE_DOMAIN_IRQ=y -CONFIG_HARDEN_BRANCH_PREDICTOR=y +# CONFIG_HARDEN_BRANCH_HISTORY is not set +# CONFIG_HARDEN_BRANCH_PREDICTOR is not set CONFIG_HARDIRQS_SW_RESEND=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y diff --git a/target/linux/at91/sama7/config-5.15 b/target/linux/at91/sama7/config-5.15 index 150059bf50..228007b8c3 100644 --- a/target/linux/at91/sama7/config-5.15 +++ b/target/linux/at91/sama7/config-5.15 @@ -181,7 +181,8 @@ CONFIG_GPIOLIB_IRQCHIP=y CONFIG_GPIO_CDEV=y CONFIG_GRACE_PERIOD=y CONFIG_HANDLE_DOMAIN_IRQ=y -CONFIG_HARDEN_BRANCH_PREDICTOR=y +# CONFIG_HARDEN_BRANCH_HISTORY is not set +# CONFIG_HARDEN_BRANCH_PREDICTOR is not set CONFIG_HARDIRQS_SW_RESEND=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y diff --git a/target/linux/bcm27xx/bcm2709/config-6.1 b/target/linux/bcm27xx/bcm2709/config-6.1 index 4d307add54..58d695cff3 100644 --- a/target/linux/bcm27xx/bcm2709/config-6.1 +++ b/target/linux/bcm27xx/bcm2709/config-6.1 @@ -241,7 +241,8 @@ CONFIG_GPIO_BCM_VIRT=y CONFIG_GPIO_CDEV=y # CONFIG_GPIO_FSM is not set CONFIG_GPIO_RASPBERRYPI_EXP=y -CONFIG_HARDEN_BRANCH_PREDICTOR=y +# CONFIG_HARDEN_BRANCH_HISTORY is not set +# CONFIG_HARDEN_BRANCH_PREDICTOR is not set CONFIG_HARDIRQS_SW_RESEND=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y diff --git a/target/linux/imx/cortexa7/config-default b/target/linux/imx/cortexa7/config-default index 10f23be435..9fd67a79bb 100644 --- a/target/linux/imx/cortexa7/config-default +++ b/target/linux/imx/cortexa7/config-default @@ -53,6 +53,8 @@ CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y +# CONFIG_HARDEN_BRANCH_HISTORY is not set +# CONFIG_HARDEN_BRANCH_PREDICTOR is not set CONFIG_HDMI=y CONFIG_HW_CONSOLE=y CONFIG_HW_RANDOM_IMX_RNGC=y diff --git a/target/linux/ipq40xx/config-6.1 b/target/linux/ipq40xx/config-6.1 index f14dd0a474..866d49c66f 100644 --- a/target/linux/ipq40xx/config-6.1 +++ b/target/linux/ipq40xx/config-6.1 @@ -199,7 +199,8 @@ CONFIG_GPIO_CDEV=y CONFIG_GPIO_WATCHDOG=y CONFIG_GPIO_WATCHDOG_ARCH_INITCALL=y CONFIG_GRO_CELLS=y -CONFIG_HARDEN_BRANCH_PREDICTOR=y +# CONFIG_HARDEN_BRANCH_HISTORY is not set +# CONFIG_HARDEN_BRANCH_PREDICTOR is not set CONFIG_HARDIRQS_SW_RESEND=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y diff --git a/target/linux/layerscape/armv7/config-6.1 b/target/linux/layerscape/armv7/config-6.1 index d60e5824db..a4744623e4 100644 --- a/target/linux/layerscape/armv7/config-6.1 +++ b/target/linux/layerscape/armv7/config-6.1 @@ -274,7 +274,8 @@ CONFIG_GPIO_GENERIC_PLATFORM=y CONFIG_GPIO_MPC8XXX=y CONFIG_GPIO_MXC=y CONFIG_GPIO_VF610=y -CONFIG_HARDEN_BRANCH_PREDICTOR=y +# CONFIG_HARDEN_BRANCH_HISTORY is not set +# CONFIG_HARDEN_BRANCH_PREDICTOR is not set CONFIG_HARDIRQS_SW_RESEND=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y diff --git a/target/linux/mediatek/mt7623/config-6.1 b/target/linux/mediatek/mt7623/config-6.1 index a083809e34..3f7c1bee16 100644 --- a/target/linux/mediatek/mt7623/config-6.1 +++ b/target/linux/mediatek/mt7623/config-6.1 @@ -262,7 +262,8 @@ CONFIG_GENERIC_TIME_VSYSCALL=y CONFIG_GENERIC_VDSO_32=y CONFIG_GPIO_CDEV=y CONFIG_GRO_CELLS=y -CONFIG_HARDEN_BRANCH_PREDICTOR=y +# CONFIG_HARDEN_BRANCH_HISTORY is not set +# CONFIG_HARDEN_BRANCH_PREDICTOR is not set CONFIG_HARDIRQS_SW_RESEND=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y diff --git a/target/linux/mediatek/mt7623/config-6.6 b/target/linux/mediatek/mt7623/config-6.6 index fad11c8ae8..6e9948c516 100644 --- a/target/linux/mediatek/mt7623/config-6.6 +++ b/target/linux/mediatek/mt7623/config-6.6 @@ -270,6 +270,8 @@ CONFIG_GENERIC_TIME_VSYSCALL=y CONFIG_GENERIC_VDSO_32=y CONFIG_GPIO_CDEV=y CONFIG_GRO_CELLS=y +# CONFIG_HARDEN_BRANCH_HISTORY is not set +# CONFIG_HARDEN_BRANCH_PREDICTOR is not set CONFIG_HARDEN_BRANCH_PREDICTOR=y CONFIG_HARDIRQS_SW_RESEND=y CONFIG_HAS_DMA=y diff --git a/target/linux/mediatek/mt7629/config-6.1 b/target/linux/mediatek/mt7629/config-6.1 index d8dc50a67a..91d54d595e 100644 --- a/target/linux/mediatek/mt7629/config-6.1 +++ b/target/linux/mediatek/mt7629/config-6.1 @@ -146,7 +146,8 @@ CONFIG_GENERIC_TIME_VSYSCALL=y CONFIG_GENERIC_VDSO_32=y CONFIG_GPIO_CDEV=y CONFIG_GRO_CELLS=y -CONFIG_HARDEN_BRANCH_PREDICTOR=y +# CONFIG_HARDEN_BRANCH_HISTORY is not set +# CONFIG_HARDEN_BRANCH_PREDICTOR is not set CONFIG_HARDIRQS_SW_RESEND=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y diff --git a/target/linux/mediatek/mt7629/config-6.6 b/target/linux/mediatek/mt7629/config-6.6 index 31d7401619..3274864ac2 100644 --- a/target/linux/mediatek/mt7629/config-6.6 +++ b/target/linux/mediatek/mt7629/config-6.6 @@ -145,6 +145,8 @@ CONFIG_GENERIC_TIME_VSYSCALL=y CONFIG_GENERIC_VDSO_32=y CONFIG_GPIO_CDEV=y CONFIG_GRO_CELLS=y +# CONFIG_HARDEN_BRANCH_HISTORY is not set +# CONFIG_HARDEN_BRANCH_PREDICTOR is not set CONFIG_HARDEN_BRANCH_PREDICTOR=y CONFIG_HARDIRQS_SW_RESEND=y CONFIG_HAS_DMA=y diff --git a/target/linux/sunxi/cortexa7/config-6.1 b/target/linux/sunxi/cortexa7/config-6.1 index e911da4c3d..eaa6b037be 100644 --- a/target/linux/sunxi/cortexa7/config-6.1 +++ b/target/linux/sunxi/cortexa7/config-6.1 @@ -4,6 +4,8 @@ CONFIG_CRYPTO_BLAKE2S_ARM=y CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y CONFIG_DWMAC_SUN8I=y CONFIG_GRO_CELLS=y +# CONFIG_HARDEN_BRANCH_HISTORY is not set +# CONFIG_HARDEN_BRANCH_PREDICTOR is not set # CONFIG_MACH_SUN4I is not set # CONFIG_MACH_SUN5I is not set CONFIG_MDIO_BUS_MUX=y From 6b007d2512ad02d08f7e9fc7ad74801ce1330924 Mon Sep 17 00:00:00 2001 From: Qingfang Deng Date: Mon, 26 Feb 2024 16:38:53 +0800 Subject: [PATCH 16/23] treewide: disable spectre mitigation on unaffected Arm64 targets Cortex-A53 is not vulnerable to any Spectre variants. Ref: https://developer.arm.com/Arm%20Security%20Center/Speculative%20Processor%20Vulnerability Signed-off-by: Qingfang Deng --- target/linux/bcm27xx/bcm2710/config-6.1 | 1 + target/linux/bcm4908/config-5.15 | 1 + target/linux/bcm4908/config-6.1 | 1 + target/linux/mediatek/filogic/config-6.1 | 1 + target/linux/mediatek/filogic/config-6.6 | 1 + target/linux/mediatek/mt7622/config-6.1 | 1 + target/linux/mediatek/mt7622/config-6.6 | 1 + target/linux/mvebu/cortexa53/config-6.1 | 1 + target/linux/qualcommax/config-6.1 | 1 + target/linux/qualcommax/config-6.6 | 1 + target/linux/sunxi/cortexa53/config-6.1 | 1 + 11 files changed, 11 insertions(+) diff --git a/target/linux/bcm27xx/bcm2710/config-6.1 b/target/linux/bcm27xx/bcm2710/config-6.1 index f29d8483f8..e5b357f2fa 100644 --- a/target/linux/bcm27xx/bcm2710/config-6.1 +++ b/target/linux/bcm27xx/bcm2710/config-6.1 @@ -303,6 +303,7 @@ CONFIG_MFD_CORE=y CONFIG_MFD_SYSCON=y CONFIG_MICROCHIP_PHY=y CONFIG_MIGRATION=y +# CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY is not set CONFIG_MMC=y # CONFIG_MMC_BCM2835 is not set CONFIG_MMC_BCM2835_DMA=y diff --git a/target/linux/bcm4908/config-5.15 b/target/linux/bcm4908/config-5.15 index 892985f7f4..b1594ea8d8 100644 --- a/target/linux/bcm4908/config-5.15 +++ b/target/linux/bcm4908/config-5.15 @@ -135,6 +135,7 @@ CONFIG_MDIO_DEVRES=y CONFIG_MEMFD_CREATE=y CONFIG_MFD_SYSCON=y CONFIG_MIGRATION=y +# CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY is not set CONFIG_MODULES_USE_ELF_RELA=y CONFIG_MTD_BRCM_U_BOOT=y CONFIG_MTD_CMDLINE_PARTS=y diff --git a/target/linux/bcm4908/config-6.1 b/target/linux/bcm4908/config-6.1 index 8311277237..086d387bc7 100644 --- a/target/linux/bcm4908/config-6.1 +++ b/target/linux/bcm4908/config-6.1 @@ -136,6 +136,7 @@ CONFIG_MDIO_DEVRES=y CONFIG_MEMFD_CREATE=y CONFIG_MFD_SYSCON=y CONFIG_MIGRATION=y +# CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY is not set CONFIG_MODULES_USE_ELF_RELA=y CONFIG_MTD_BRCM_U_BOOT=y CONFIG_MTD_CMDLINE_PARTS=y diff --git a/target/linux/mediatek/filogic/config-6.1 b/target/linux/mediatek/filogic/config-6.1 index 34aa2e76b6..276c6fe6c4 100644 --- a/target/linux/mediatek/filogic/config-6.1 +++ b/target/linux/mediatek/filogic/config-6.1 @@ -232,6 +232,7 @@ CONFIG_MEMFD_CREATE=y CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7 CONFIG_MFD_SYSCON=y CONFIG_MIGRATION=y +# CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY is not set CONFIG_MMC=y CONFIG_MMC_BLOCK=y CONFIG_MMC_CQHCI=y diff --git a/target/linux/mediatek/filogic/config-6.6 b/target/linux/mediatek/filogic/config-6.6 index 704c32be8a..e6c2d18c73 100644 --- a/target/linux/mediatek/filogic/config-6.6 +++ b/target/linux/mediatek/filogic/config-6.6 @@ -245,6 +245,7 @@ CONFIG_MEDIATEK_WATCHDOG=y CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7 CONFIG_MFD_SYSCON=y CONFIG_MIGRATION=y +# CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY is not set CONFIG_MMC=y CONFIG_MMC_BLOCK=y CONFIG_MMC_CQHCI=y diff --git a/target/linux/mediatek/mt7622/config-6.1 b/target/linux/mediatek/mt7622/config-6.1 index 84af474e52..f10f1f7204 100644 --- a/target/linux/mediatek/mt7622/config-6.1 +++ b/target/linux/mediatek/mt7622/config-6.1 @@ -234,6 +234,7 @@ CONFIG_MEMFD_CREATE=y CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7 CONFIG_MFD_SYSCON=y CONFIG_MIGRATION=y +# CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY is not set CONFIG_MMC=y CONFIG_MMC_BLOCK=y CONFIG_MMC_CQHCI=y diff --git a/target/linux/mediatek/mt7622/config-6.6 b/target/linux/mediatek/mt7622/config-6.6 index 8eb7158914..0dc30969b0 100644 --- a/target/linux/mediatek/mt7622/config-6.6 +++ b/target/linux/mediatek/mt7622/config-6.6 @@ -248,6 +248,7 @@ CONFIG_MEDIATEK_WATCHDOG=y CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7 CONFIG_MFD_SYSCON=y CONFIG_MIGRATION=y +# CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY is not set CONFIG_MMC=y CONFIG_MMC_BLOCK=y CONFIG_MMC_CQHCI=y diff --git a/target/linux/mvebu/cortexa53/config-6.1 b/target/linux/mvebu/cortexa53/config-6.1 index 3534537b54..d8dd985365 100644 --- a/target/linux/mvebu/cortexa53/config-6.1 +++ b/target/linux/mvebu/cortexa53/config-6.1 @@ -52,6 +52,7 @@ CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 CONFIG_MAILBOX=y # CONFIG_MAILBOX_TEST is not set CONFIG_MFD_SYSCON=y +# CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY is not set CONFIG_MMC_SDHCI_XENON=y CONFIG_MODULES_USE_ELF_RELA=y CONFIG_MVEBU_GICP=y diff --git a/target/linux/qualcommax/config-6.1 b/target/linux/qualcommax/config-6.1 index acfdc99b22..55f6a2ba4f 100644 --- a/target/linux/qualcommax/config-6.1 +++ b/target/linux/qualcommax/config-6.1 @@ -227,6 +227,7 @@ CONFIG_MEMFD_CREATE=y # CONFIG_MFD_QCOM_RPM is not set CONFIG_MFD_SYSCON=y CONFIG_MIGRATION=y +# CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY is not set CONFIG_MMC=y CONFIG_MMC_BLOCK=y CONFIG_MMC_BLOCK_MINORS=32 diff --git a/target/linux/qualcommax/config-6.6 b/target/linux/qualcommax/config-6.6 index f9ab275fb3..71b54041c5 100644 --- a/target/linux/qualcommax/config-6.6 +++ b/target/linux/qualcommax/config-6.6 @@ -230,6 +230,7 @@ CONFIG_MDIO_IPQ4019=y # CONFIG_MFD_QCOM_RPM is not set CONFIG_MFD_SYSCON=y CONFIG_MIGRATION=y +# CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY is not set CONFIG_MMC=y CONFIG_MMC_BLOCK=y CONFIG_MMC_BLOCK_MINORS=32 diff --git a/target/linux/sunxi/cortexa53/config-6.1 b/target/linux/sunxi/cortexa53/config-6.1 index f57c664540..5331352386 100644 --- a/target/linux/sunxi/cortexa53/config-6.1 +++ b/target/linux/sunxi/cortexa53/config-6.1 @@ -52,6 +52,7 @@ CONFIG_GENERIC_MSI_IRQ_DOMAIN=y CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 CONFIG_MDIO_BUS_MUX=y CONFIG_MICREL_PHY=y +# CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY is not set CONFIG_MODULES_USE_ELF_RELA=y CONFIG_MUSB_PIO_ONLY=y CONFIG_NEED_SG_DMA_LENGTH=y From cf6849a6bf8002abf761dd25f74dd0b086b65fa2 Mon Sep 17 00:00:00 2001 From: Christian Lamparter Date: Sat, 23 Mar 2024 19:50:22 +0100 Subject: [PATCH 17/23] apm821xx: WNDR4700: fix fan-control This service was unfunctional due to not having its executable bit set. Furthermore, sysupgrade complains about the file being present in images. Also, the tc654 driver doesn't provide pwm1_enable sysfs file, instead its now called pwm1_mode. Please note that the fan was always spinning. It should now turn off, when there's enough the thermal headroom. Signed-off-by: Christian Lamparter --- target/linux/apm821xx/base-files/etc/init.d/hwmon_fancontrol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 target/linux/apm821xx/base-files/etc/init.d/hwmon_fancontrol diff --git a/target/linux/apm821xx/base-files/etc/init.d/hwmon_fancontrol b/target/linux/apm821xx/base-files/etc/init.d/hwmon_fancontrol old mode 100644 new mode 100755 index d38964e015..c1f159cafe --- a/target/linux/apm821xx/base-files/etc/init.d/hwmon_fancontrol +++ b/target/linux/apm821xx/base-files/etc/init.d/hwmon_fancontrol @@ -9,7 +9,7 @@ boot() { case $(board_name) in netgear,wndr4700) path_to_hwmon='/sys/devices/platform/plb/plb:opb/4ef600700.i2c/i2c-0/0-001b/hwmon/hwmon1' - echo 1 > "$path_to_hwmon/pwm1_enable" + echo 1 > "$path_to_hwmon/pwm1_mode" ;; esac } From bbaf6b764e3807d0ebe0c07274e9b067c5cfa148 Mon Sep 17 00:00:00 2001 From: Christian Lamparter Date: Sat, 23 Mar 2024 20:32:20 +0100 Subject: [PATCH 18/23] uml: promote to 6.1 kernel there have been no reports of any problems with 6.1. let's make it the default kernel. Signed-off-by: Christian Lamparter --- target/linux/uml/Makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/target/linux/uml/Makefile b/target/linux/uml/Makefile index ba3c7eae9d..d9c2b924b5 100644 --- a/target/linux/uml/Makefile +++ b/target/linux/uml/Makefile @@ -13,8 +13,7 @@ BOARD:=uml BOARDNAME:=User Mode Linux FEATURES:=audio ext4 rootfs-part squashfs -KERNEL_PATCHVER:=5.15 -KERNEL_TESTING_PATCHVER:=6.1 +KERNEL_PATCHVER:=6.1 include $(INCLUDE_DIR)/target.mk From 7656be978ae57bdff16ff666b85a61b40ed9f277 Mon Sep 17 00:00:00 2001 From: Christian Lamparter Date: Sat, 23 Mar 2024 20:35:59 +0100 Subject: [PATCH 19/23] uml: remove 5.15 config + patches no longer in use as we migrate to 6.6 shortly. Signed-off-by: Christian Lamparter --- target/linux/uml/config-5.15 | 140 ------------ .../uml/patches-5.15/101-mconsole-exec.patch | 213 ------------------ .../patches-5.15/102-pseudo-random-mac.patch | 151 ------------- ...efault-virtual-physical-memory-to-64.patch | 40 ---- 4 files changed, 544 deletions(-) delete mode 100644 target/linux/uml/config-5.15 delete mode 100644 target/linux/uml/patches-5.15/101-mconsole-exec.patch delete mode 100644 target/linux/uml/patches-5.15/102-pseudo-random-mac.patch delete mode 100644 target/linux/uml/patches-5.15/104-um-increase-default-virtual-physical-memory-to-64.patch diff --git a/target/linux/uml/config-5.15 b/target/linux/uml/config-5.15 deleted file mode 100644 index ac13cda703..0000000000 --- a/target/linux/uml/config-5.15 +++ /dev/null @@ -1,140 +0,0 @@ -CONFIG_3_LEVEL_PGTABLES=y -CONFIG_64BIT=y -CONFIG_ARCH_DMA_ADDR_T_64BIT=y -CONFIG_ARCH_EPHEMERAL_INODES=y -CONFIG_ARCH_NO_PREEMPT=y -CONFIG_ARCH_SUSPEND_POSSIBLE=y -CONFIG_BLK_DEV_COW_COMMON=y -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_UBD=y -CONFIG_BLK_DEV_UBD_SYNC=y -CONFIG_BLK_MQ_VIRTIO=y -CONFIG_CDROM=y -# CONFIG_COMMON_CLK is not set -# CONFIG_COMPAT_32BIT_TIME is not set -CONFIG_CON_CHAN="xterm" -CONFIG_CON_ZERO_CHAN="fd:0,fd:1" -CONFIG_CPU_SUP_AMD=y -CONFIG_CPU_SUP_CENTAUR=y -CONFIG_CPU_SUP_HYGON=y -CONFIG_CPU_SUP_INTEL=y -CONFIG_CPU_SUP_ZHAOXIN=y -CONFIG_CRC16=y -CONFIG_CRYPTO_CRC32=y -CONFIG_CRYPTO_CRC32C=y -CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y -CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11 -CONFIG_CRYPTO_RNG2=y -CONFIG_CRYPTO_SHA1=y -# CONFIG_CRYPTO_TWOFISH_X86_64 is not set -CONFIG_DEBUG_MEMORY_INIT=y -CONFIG_DECOMPRESS_BZIP2=y -CONFIG_DECOMPRESS_GZIP=y -CONFIG_DNOTIFY=y -# CONFIG_EARLY_PRINTK is not set -CONFIG_EXT4_FS=y -CONFIG_F2FS_FS=y -CONFIG_FAILOVER=y -CONFIG_FS_IOMAP=y -CONFIG_FS_MBCACHE=y -CONFIG_FW_LOADER_PAGED_BUF=y -CONFIG_GENERIC_CLOCKEVENTS=y -# CONFIG_GENERIC_CPU is not set -CONFIG_GENERIC_CPU_DEVICES=y -CONFIG_GENERIC_FIND_FIRST_BIT=y -CONFIG_GENERIC_IRQ_SHOW=y -CONFIG_HOSTFS=y -CONFIG_HVC_DRIVER=y -CONFIG_HW_RANDOM=y -CONFIG_HZ_PERIODIC=y -CONFIG_IA32_FEAT_CTL=y -CONFIG_INITRAMFS_SOURCE="" -CONFIG_INIT_ENV_ARG_LIMIT=128 -CONFIG_IRQ_WORK=y -CONFIG_ISO9660_FS=y -CONFIG_JBD2=y -# CONFIG_JFFS2_FS is not set -CONFIG_KALLSYMS=y -CONFIG_KERNEL_STACK_ORDER=2 -CONFIG_LOCK_DEBUGGING_SUPPORT=y -# CONFIG_MATOM is not set -CONFIG_MAY_HAVE_RUNTIME_DEPS=y -CONFIG_MCONSOLE=y -# CONFIG_MCORE2 is not set -CONFIG_MEMFD_CREATE=y -CONFIG_MIGRATION=y -CONFIG_MK8=y -# CONFIG_MMAPPER is not set -CONFIG_MODULES_USE_ELF_RELA=y -# CONFIG_MPSC is not set -CONFIG_NAMESPACES=y -CONFIG_NEED_PER_CPU_KM=y -CONFIG_NET_FAILOVER=y -# CONFIG_NET_NS is not set -CONFIG_NLS=y -CONFIG_NO_DMA=y -CONFIG_NO_IOMEM=y -CONFIG_NO_IOPORT_MAP=y -CONFIG_NR_CPUS=1 -CONFIG_NULL_CHAN=y -# CONFIG_OF is not set -CONFIG_PGTABLE_LEVELS=3 -CONFIG_PHYS_ADDR_T_64BIT=y -CONFIG_PORT_CHAN=y -CONFIG_POSIX_MQUEUE=y -CONFIG_POSIX_MQUEUE_SYSCTL=y -# CONFIG_PROCESSOR_SELECT is not set -CONFIG_PROC_PAGE_MONITOR=y -CONFIG_PTP_1588_CLOCK_OPTIONAL=y -CONFIG_PTY_CHAN=y -CONFIG_RD_BZIP2=y -CONFIG_RD_GZIP=y -CONFIG_RELAY=y -CONFIG_SG_POOL=y -CONFIG_SOFT_WATCHDOG=m -CONFIG_SRCU=y -CONFIG_SSL=y -CONFIG_SSL_CHAN="pty" -CONFIG_STACKTRACE=y -CONFIG_STDERR_CONSOLE=y -CONFIG_TICK_CPU_ACCOUNTING=y -CONFIG_TINY_SRCU=y -CONFIG_TTY_CHAN=y -CONFIG_UML=y -CONFIG_UML_NET=y -CONFIG_UML_NET_DAEMON=y -CONFIG_UML_NET_DETERMINISTIC_MAC=y -CONFIG_UML_NET_ETHERTAP=y -CONFIG_UML_NET_MCAST=y -# CONFIG_UML_NET_PCAP is not set -CONFIG_UML_NET_SLIP=y -CONFIG_UML_NET_SLIRP=y -CONFIG_UML_NET_TUNTAP=y -# CONFIG_UML_NET_VDE is not set -CONFIG_UML_NET_VECTOR=y -# CONFIG_UML_PCI_OVER_VIRTIO is not set -CONFIG_UML_RANDOM=y -# CONFIG_UML_SOUND is not set -CONFIG_UML_TIME_TRAVEL_SUPPORT=y -CONFIG_UML_WATCHDOG=y -CONFIG_UML_X86=y -# CONFIG_USER_NS is not set -CONFIG_VIRTIO=y -CONFIG_VIRTIO_BLK=y -CONFIG_VIRTIO_CONSOLE=y -CONFIG_VIRTIO_NET=y -CONFIG_VIRTIO_UML=y -CONFIG_VMAP_STACK=y -CONFIG_VM_EVENT_COUNTERS=y -CONFIG_WATCHDOG_CORE=y -CONFIG_X86_64=y -CONFIG_X86_CMOV=y -CONFIG_X86_CMPXCHG64=y -CONFIG_X86_INTEL_USERCOPY=y -CONFIG_X86_INTERNODE_CACHE_SHIFT=6 -CONFIG_X86_L1_CACHE_SHIFT=6 -CONFIG_X86_MINIMUM_CPU_FAMILY=64 -CONFIG_X86_TSC=y -CONFIG_X86_USE_PPRO_CHECKSUM=y -CONFIG_XTERM_CHAN=y -CONFIG_ZLIB_INFLATE=y diff --git a/target/linux/uml/patches-5.15/101-mconsole-exec.patch b/target/linux/uml/patches-5.15/101-mconsole-exec.patch deleted file mode 100644 index ceea41e013..0000000000 --- a/target/linux/uml/patches-5.15/101-mconsole-exec.patch +++ /dev/null @@ -1,213 +0,0 @@ -# -# Minimalist mconsole exec patch -# -# 3.10 version (with bit more synchronous behavior) by fingon at iki dot fi -# Adaptation to kernel 3.3.8 made by David Fernández (david at dit.upm.es) for -# Starting point: mconsole-exec-2.6.30.patch for kernel 2.6.30 -# Author of original patch: Paolo Giarrusso, aka Blaisorblade -# (http://www.user-mode-linux.org/~blaisorblade) -# -# Known misfeatures: -# -# - If output is too long, blocks (and breaks horribly) -# (this misfeature from 3.10 patches, when minimalizing the patch; -# workaround: redirect to a shared filesystem if long output is expected) -# -# - Nothing useful is done with stdin -# ---- a/arch/um/drivers/mconsole.h -+++ b/arch/um/drivers/mconsole.h -@@ -85,6 +85,7 @@ extern void mconsole_cad(struct mc_reque - extern void mconsole_stop(struct mc_request *req); - extern void mconsole_go(struct mc_request *req); - extern void mconsole_log(struct mc_request *req); -+extern void mconsole_exec(struct mc_request *req); - extern void mconsole_proc(struct mc_request *req); - extern void mconsole_stack(struct mc_request *req); - ---- a/arch/um/drivers/mconsole_kern.c -+++ b/arch/um/drivers/mconsole_kern.c -@@ -4,6 +4,7 @@ - * Copyright (C) 2001 - 2008 Jeff Dike (jdike@{addtoit,linux.intel}.com) - */ - -+#include - #include - #include - #include -@@ -27,6 +28,7 @@ - #include - #include - #include -+#include - #include - - #include -@@ -124,6 +126,59 @@ void mconsole_log(struct mc_request *req - mconsole_reply(req, "", 0, 0); - } - -+void mconsole_exec(struct mc_request *req) -+{ -+ struct subprocess_info *sub_info; -+ int res, len; -+ struct file *out; -+ char buf[MCONSOLE_MAX_DATA]; -+ -+ char *envp[] = { -+ "HOME=/", "TERM=linux", -+ "PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin", -+ NULL -+ }; -+ char *argv[] = { -+ "/bin/sh", "-c", -+ req->request.data + strlen("exec "), -+ NULL -+ }; -+ -+ sub_info = call_usermodehelper_setup("/bin/sh", argv, envp, GFP_ATOMIC, NULL, NULL, NULL); -+ if (sub_info == NULL) { -+ mconsole_reply(req, "call_usermodehelper_setup failed", 1, 0); -+ return; -+ } -+ res = call_usermodehelper_stdoutpipe(sub_info, &out); -+ if (res < 0) { -+ kfree(sub_info); -+ mconsole_reply(req, "call_usermodehelper_stdoutpipe failed", 1, 0); -+ return; -+ } -+ -+ res = call_usermodehelper_exec(sub_info, UMH_WAIT_PROC); -+ if (res < 0) { -+ kfree(sub_info); -+ mconsole_reply(req, "call_usermodehelper_exec failed", 1, 0); -+ return; -+ } -+ -+ for (;;) { -+ len = out->f_op->read(out, buf, sizeof(buf), &out->f_pos); -+ if (len < 0) { -+ mconsole_reply(req, "reading output failed", 1, 0); -+ break; -+ } -+ if (len == 0) -+ break; -+ mconsole_reply_len(req, buf, len, 0, 1); -+ } -+ fput(out); -+ -+ mconsole_reply_len(req, NULL, 0, 0, 0); -+} -+ -+ - void mconsole_proc(struct mc_request *req) - { - struct vfsmount *mnt = proc_mnt; -@@ -190,6 +245,7 @@ void mconsole_proc(struct mc_request *re - stop - pause the UML; it will do nothing until it receives a 'go' \n\ - go - continue the UML after a 'stop' \n\ - log - make UML enter into the kernel log\n\ -+ exec - pass to /bin/sh -c synchronously\n\ - proc - returns the contents of the UML's /proc/\n\ - stack - returns the stack of the specified pid\n\ - " ---- a/arch/um/drivers/mconsole_user.c -+++ b/arch/um/drivers/mconsole_user.c -@@ -30,6 +30,7 @@ static struct mconsole_command commands[ - { "stop", mconsole_stop, MCONSOLE_PROC }, - { "go", mconsole_go, MCONSOLE_INTR }, - { "log", mconsole_log, MCONSOLE_INTR }, -+ { "exec", mconsole_exec, MCONSOLE_PROC }, - { "proc", mconsole_proc, MCONSOLE_PROC }, - { "stack", mconsole_stack, MCONSOLE_INTR }, - }; ---- a/arch/um/os-Linux/file.c -+++ b/arch/um/os-Linux/file.c -@@ -560,6 +560,8 @@ int os_create_unix_socket(const char *fi - - addr.sun_family = AF_UNIX; - -+ if (len > sizeof(addr.sun_path)) -+ len = sizeof(addr.sun_path); - snprintf(addr.sun_path, len, "%s", file); - - err = bind(sock, (struct sockaddr *) &addr, sizeof(addr)); ---- a/include/linux/kmod.h -+++ b/include/linux/kmod.h -@@ -32,4 +32,6 @@ static inline int request_module_nowait( - #define try_then_request_module(x, mod...) (x) - #endif - -+int call_usermodehelper_stdoutpipe(struct subprocess_info *sub_info, struct file **filp); -+ - #endif /* __LINUX_KMOD_H__ */ ---- a/include/linux/umh.h -+++ b/include/linux/umh.h -@@ -22,6 +22,7 @@ struct subprocess_info { - const char *path; - char **argv; - char **envp; -+ struct file *stdout; - int wait; - int retval; - int (*init)(struct subprocess_info *info, struct cred *new); ---- a/kernel/umh.c -+++ b/kernel/umh.c -@@ -28,6 +28,7 @@ - #include - #include - #include -+#include - - #include - -@@ -73,6 +74,28 @@ static int call_usermodehelper_exec_asyn - flush_signal_handlers(current, 1); - spin_unlock_irq(¤t->sighand->siglock); - -+ /* Install output when needed */ -+ if (sub_info->stdout) { -+ struct files_struct *f = current->files; -+ struct fdtable *fdt; -+ -+ sys_close(1); -+ sys_close(2); -+ get_file(sub_info->stdout); -+ fd_install(1, sub_info->stdout); -+ fd_install(2, sub_info->stdout); -+ spin_lock(&f->file_lock); -+ fdt = files_fdtable(f); -+ __set_bit(1, fdt->open_fds); -+ __clear_bit(1, fdt->close_on_exec); -+ __set_bit(2, fdt->open_fds); -+ __clear_bit(2, fdt->close_on_exec); -+ spin_unlock(&f->file_lock); -+ -+ /* disallow core files */ -+ current->signal->rlim[RLIMIT_CORE] = (struct rlimit){0, 0}; -+ } -+ - /* - * Initial kernel threads share ther FS with init, in order to - * get the init root directory. But we've now created a new -@@ -332,6 +355,20 @@ static void helper_unlock(void) - wake_up(&running_helpers_waitq); - } - -+int call_usermodehelper_stdoutpipe(struct subprocess_info *sub_info, -+ struct file **filp) -+{ -+ struct file *f[2]; -+ -+ if (create_pipe_files(f, 0) < 0) -+ return PTR_ERR(f); -+ -+ sub_info->stdout = f[1]; -+ *filp = f[0]; -+ return 0; -+} -+EXPORT_SYMBOL(call_usermodehelper_stdoutpipe); -+ - /** - * call_usermodehelper_setup - prepare to call a usermode helper - * @path: path to usermode executable diff --git a/target/linux/uml/patches-5.15/102-pseudo-random-mac.patch b/target/linux/uml/patches-5.15/102-pseudo-random-mac.patch deleted file mode 100644 index 6806bb8a8a..0000000000 --- a/target/linux/uml/patches-5.15/102-pseudo-random-mac.patch +++ /dev/null @@ -1,151 +0,0 @@ -=============================================================================== - -This patch makes MAC addresses of network interfaces predictable. In -particular, it adds a small routine that computes MAC addresses of based on -a SHA1 hash of the virtual machine name and interface ID. - -TECHNICAL INFORMATION: - -Applies to vanilla kernel 3.9.4. - -=============================================================================== ---- a/arch/um/drivers/Kconfig -+++ b/arch/um/drivers/Kconfig -@@ -136,6 +136,20 @@ config UML_NET - enable at least one of the following transport options to actually - make use of UML networking. - -+config UML_NET_DETERMINISTIC_MAC -+ bool "Use deterministic MAC addresses for network interfaces" -+ default y -+ depends on UML_NET -+ select CRYPTO_SHA1 -+ help -+ Virtual network devices inside a User-Mode Linux instance must be -+ assigned a MAC (Ethernet) address. If none is specified on the UML -+ command line, one must be automatically computed. If this option is -+ enabled, a randomly generated address is used. Otherwise, if this -+ option is disabled, the address is generated from a SHA1 hash of -+ the umid of the UML instance and the interface name. The latter choice -+ is useful to make MAC addresses predictable. -+ - config UML_NET_ETHERTAP - bool "Ethertap transport (obsolete)" - depends on UML_NET ---- a/arch/um/drivers/net_kern.c -+++ b/arch/um/drivers/net_kern.c -@@ -25,6 +25,14 @@ - #include - #include - -+#include -+#include -+#include -+#include -+#include -+#include -+#include "os.h" -+ - #define DRIVER_NAME "uml-netdev" - - static DEFINE_SPINLOCK(opened_lock); -@@ -274,9 +282,55 @@ static const struct ethtool_ops uml_net_ - .get_ts_info = ethtool_op_get_ts_info, - }; - -+#ifdef CONFIG_UML_NET_DETERMINISTIC_MAC -+ -+/* Compute a SHA1 hash of the UML instance's id and -+ * * an interface name. */ -+static int compute_hash(const char *umid, const char *ifname, char *hash) -+{ -+ struct ahash_request *desc = NULL; -+ struct crypto_ahash *tfm = NULL; -+ struct scatterlist sg; -+ char *vmif = NULL; -+ int ret = -ENOMEM; -+ -+ vmif = kmalloc(1024, GFP_KERNEL); -+ if (!vmif) -+ goto out; -+ -+ strcpy (vmif, umid); -+ strcat (vmif, ifname); -+ -+ tfm = crypto_alloc_ahash("sha1", 0, CRYPTO_ALG_ASYNC); -+ if (IS_ERR(tfm)) -+ goto out; -+ -+ desc = ahash_request_alloc(tfm, GFP_KERNEL); -+ if (!desc) -+ goto out; -+ -+ crypto_ahash_clear_flags(tfm, ~0); -+ -+ sg_init_table(&sg, 1); -+ sg_set_buf(&sg, vmif, strlen(vmif)); -+ -+ ahash_request_set_crypt(desc, &sg, hash, strlen(vmif)); -+ -+ ret = crypto_ahash_digest(desc); -+out: -+ crypto_free_ahash(tfm); -+ ahash_request_free(desc); -+ kfree(vmif); -+ -+ return ret; -+} -+ -+#endif -+ - void uml_net_setup_etheraddr(struct net_device *dev, char *str) - { - unsigned char *addr = dev->dev_addr; -+ u8 hash[SHA1_DIGEST_SIZE]; - char *end; - int i; - -@@ -319,9 +373,26 @@ void uml_net_setup_etheraddr(struct net_ - return; - - random: -+#ifndef CONFIG_UML_NET_DETERMINISTIC_MAC - printk(KERN_INFO - "Choosing a random ethernet address for device %s\n", dev->name); - eth_hw_addr_random(dev); -+#else -+ printk(KERN_INFO -+ "Computing a digest to use as ethernet address for device %s\n", dev->name); -+ if (compute_hash(get_umid(), dev->name, hash) < 0) { -+ printk(KERN_WARNING -+ "Could not compute digest to use as ethernet address for device %s. " -+ "Using random address instead.\n", dev->name); -+ random_ether_addr(addr); -+ } -+ else { -+ for (i=0; i < 6; i++) -+ addr[i] = (hash[i] + hash[i+6]) % 0x100; -+ } -+ addr [0] &= 0xfe; /* clear multicast bit */ -+ addr [0] |= 0x02; /* set local assignment bit (IEEE802) */ -+#endif - } - - static DEFINE_SPINLOCK(devices_lock); ---- a/kernel/umh.c -+++ b/kernel/umh.c -@@ -356,12 +356,12 @@ static void helper_unlock(void) - } - - int call_usermodehelper_stdoutpipe(struct subprocess_info *sub_info, -- struct file **filp) -+ struct file **filp) - { - struct file *f[2]; - - if (create_pipe_files(f, 0) < 0) -- return PTR_ERR(f); -+ return PTR_ERR(f); - - sub_info->stdout = f[1]; - *filp = f[0]; diff --git a/target/linux/uml/patches-5.15/104-um-increase-default-virtual-physical-memory-to-64.patch b/target/linux/uml/patches-5.15/104-um-increase-default-virtual-physical-memory-to-64.patch deleted file mode 100644 index f19e38d510..0000000000 --- a/target/linux/uml/patches-5.15/104-um-increase-default-virtual-physical-memory-to-64.patch +++ /dev/null @@ -1,40 +0,0 @@ -From d7936f11aded13f03871c0d6502d611d6a1e2dc5 Mon Sep 17 00:00:00 2001 -Message-Id: -In-Reply-To: <53b5c5f559cc95fc676cb4cc9e5a8d9f0cb8f58c.1659815468.git.chunkeey@gmail.com> -References: <53b5c5f559cc95fc676cb4cc9e5a8d9f0cb8f58c.1659815468.git.chunkeey@gmail.com> -From: Christian Lamparter -Date: Sat, 6 Aug 2022 19:27:20 +0200 -Subject: [PATCH v1 2/2] um: increase default virtual physical memory to 64 MiB -To: linux-um@lists.infradead.org -Cc: Richard Weinberger , - Anton Ivanov , - Johannes Berg - -The current 32 MiB of RAM causes OOMs to appear shortly after -booting in a minimal OpenWrt 22.03 configuration with a -5.10.134 kernel. - -Of course, passing a "mem=64M" (from the --help text) parameter -works too, but it produces the following (info) message: - -| [ 0.000000] Unknown kernel command line parameters "mem=64M", will be passed to user space. - -That's why, I think it would be nicer, if this is working out -of the box again :). - -Signed-off-by: Christian Lamparter ---- - arch/um/kernel/um_arch.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/arch/um/kernel/um_arch.c -+++ b/arch/um/kernel/um_arch.c -@@ -131,7 +131,7 @@ static int have_root __initdata; - static int have_console __initdata; - - /* Set in uml_mem_setup and modified in linux_main */ --long long physmem_size = 32 * 1024 * 1024; -+long long physmem_size = 64 * 1024 * 1024; - EXPORT_SYMBOL(physmem_size); - - static const char *usage_string = From bfd1fd5da35a420b0c63bc6b47237dd092651cd4 Mon Sep 17 00:00:00 2001 From: Christian Lamparter Date: Sat, 23 Mar 2024 20:34:40 +0100 Subject: [PATCH 20/23] uml: add 6.6 testing kernel config + patches apart from refreshes to both config and patches, nothing has changed. Signed-off-by: Christian Lamparter --- target/linux/uml/Makefile | 1 + target/linux/uml/{config-6.1 => config-6.6} | 20 +++++++++++++------ .../101-mconsole-exec.patch | 4 ++-- .../102-pseudo-random-mac.patch | 2 +- 4 files changed, 18 insertions(+), 9 deletions(-) rename target/linux/uml/{config-6.1 => config-6.6} (89%) rename target/linux/uml/{patches-6.1 => patches-6.6}/101-mconsole-exec.patch (98%) rename target/linux/uml/{patches-6.1 => patches-6.6}/102-pseudo-random-mac.patch (98%) diff --git a/target/linux/uml/Makefile b/target/linux/uml/Makefile index d9c2b924b5..307687ffda 100644 --- a/target/linux/uml/Makefile +++ b/target/linux/uml/Makefile @@ -14,6 +14,7 @@ BOARDNAME:=User Mode Linux FEATURES:=audio ext4 rootfs-part squashfs KERNEL_PATCHVER:=6.1 +KERNEL_TESTING_PATCHVER:=6.6 include $(INCLUDE_DIR)/target.mk diff --git a/target/linux/uml/config-6.1 b/target/linux/uml/config-6.6 similarity index 89% rename from target/linux/uml/config-6.1 rename to target/linux/uml/config-6.6 index da4eaac3ac..60d1ce0713 100644 --- a/target/linux/uml/config-6.1 +++ b/target/linux/uml/config-6.6 @@ -1,7 +1,6 @@ CONFIG_3_LEVEL_PGTABLES=y CONFIG_64BIT=y CONFIG_ARCH_DMA_ADDR_T_64BIT=y -CONFIG_ARCH_EPHEMERAL_INODES=y CONFIG_ARCH_NO_PREEMPT=y CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_BLK_DEV_COW_COMMON=y @@ -9,6 +8,7 @@ CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_UBD=y CONFIG_BLK_DEV_UBD_SYNC=y CONFIG_BLK_MQ_VIRTIO=y +CONFIG_BUFFER_HEAD=y CONFIG_CDROM=y # CONFIG_COMMON_CLK is not set CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1 @@ -24,10 +24,10 @@ CONFIG_CRC16=y CONFIG_CRYPTO_CRC32=y CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y +CONFIG_CRYPTO_LIB_GF128MUL=y CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11 CONFIG_CRYPTO_LIB_SHA1=y CONFIG_CRYPTO_LIB_UTILS=y -CONFIG_CRYPTO_RNG2=y CONFIG_CRYPTO_SHA1=y CONFIG_DCACHE_WORD_ACCESS=y CONFIG_DECOMPRESS_BZIP2=y @@ -40,9 +40,9 @@ CONFIG_F2FS_FS=y CONFIG_FAILOVER=y CONFIG_FS_IOMAP=y CONFIG_FS_MBCACHE=y +CONFIG_FUNCTION_ALIGNMENT=0 CONFIG_FW_LOADER_PAGED_BUF=y CONFIG_FW_LOADER_SYSFS=y -CONFIG_GCC11_NO_ARRAY_BOUNDS=y CONFIG_GENERIC_CLOCKEVENTS=y # CONFIG_GENERIC_CPU is not set CONFIG_GENERIC_CPU_DEVICES=y @@ -66,16 +66,19 @@ CONFIG_LOCK_DEBUGGING_SUPPORT=y CONFIG_MAY_HAVE_RUNTIME_DEPS=y CONFIG_MCONSOLE=y # CONFIG_MCORE2 is not set -CONFIG_MEMFD_CREATE=y CONFIG_MIGRATION=y CONFIG_MK8=y # CONFIG_MMAPPER is not set +CONFIG_MMU_LAZY_TLB_REFCOUNT=y CONFIG_MODULES_USE_ELF_RELA=y # CONFIG_MPSC is not set CONFIG_NAMESPACES=y CONFIG_NEED_PER_CPU_KM=y +CONFIG_NET_EGRESS=y CONFIG_NET_FAILOVER=y +CONFIG_NET_INGRESS=y # CONFIG_NET_NS is not set +CONFIG_NET_XGRESS=y CONFIG_NLS=y CONFIG_NO_DMA=y CONFIG_NO_IOMEM=y @@ -83,6 +86,10 @@ CONFIG_NO_IOPORT_MAP=y CONFIG_NR_CPUS=1 CONFIG_NULL_CHAN=y # CONFIG_OF is not set +CONFIG_PAGE_POOL=y +CONFIG_PAGE_SIZE_LESS_THAN_256KB=y +CONFIG_PAGE_SIZE_LESS_THAN_64KB=y +CONFIG_PAHOLE_HAS_LANG_EXCLUDE=y CONFIG_PGTABLE_LEVELS=3 CONFIG_PHYS_ADDR_T_64BIT=y CONFIG_PORT_CHAN=y @@ -99,13 +106,14 @@ CONFIG_RD_GZIP=y CONFIG_RELAY=y CONFIG_SG_POOL=y CONFIG_SOFT_WATCHDOG=m -CONFIG_SRCU=y +CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y CONFIG_SSL=y CONFIG_SSL_CHAN="pty" CONFIG_STACKTRACE=y CONFIG_STDERR_CONSOLE=y CONFIG_TICK_CPU_ACCOUNTING=y CONFIG_TINY_SRCU=y +CONFIG_TOOLS_SUPPORT_RELR=y CONFIG_TTY_CHAN=y CONFIG_UML=y CONFIG_UML_NET=y @@ -122,7 +130,6 @@ CONFIG_UML_NET_TUNTAP=y CONFIG_UML_NET_VECTOR=y # CONFIG_UML_PCI_OVER_VIRTIO is not set CONFIG_UML_RANDOM=y -# CONFIG_UML_SOUND is not set CONFIG_UML_TIME_TRAVEL_SUPPORT=y # CONFIG_UML_WATCHDOG is not set CONFIG_UML_X86=y @@ -145,6 +152,7 @@ CONFIG_X86_L1_CACHE_SHIFT=6 CONFIG_X86_MINIMUM_CPU_FAMILY=64 CONFIG_X86_TSC=y CONFIG_X86_USE_PPRO_CHECKSUM=y +CONFIG_X86_VMX_FEATURE_NAMES=y CONFIG_XTERM_CHAN=y CONFIG_XTERM_CHAN_DEFAULT_EMULATOR="xterm" CONFIG_ZLIB_INFLATE=y diff --git a/target/linux/uml/patches-6.1/101-mconsole-exec.patch b/target/linux/uml/patches-6.6/101-mconsole-exec.patch similarity index 98% rename from target/linux/uml/patches-6.1/101-mconsole-exec.patch rename to target/linux/uml/patches-6.6/101-mconsole-exec.patch index 2ff9701eb9..0afd777836 100644 --- a/target/linux/uml/patches-6.1/101-mconsole-exec.patch +++ b/target/linux/uml/patches-6.6/101-mconsole-exec.patch @@ -161,7 +161,7 @@ #include -@@ -74,6 +75,28 @@ static int call_usermodehelper_exec_asyn +@@ -71,6 +72,28 @@ static int call_usermodehelper_exec_asyn flush_signal_handlers(current, 1); spin_unlock_irq(¤t->sighand->siglock); @@ -190,7 +190,7 @@ /* * Initial kernel threads share ther FS with init, in order to * get the init root directory. But we've now created a new -@@ -333,6 +356,20 @@ static void helper_unlock(void) +@@ -330,6 +353,20 @@ static void helper_unlock(void) wake_up(&running_helpers_waitq); } diff --git a/target/linux/uml/patches-6.1/102-pseudo-random-mac.patch b/target/linux/uml/patches-6.6/102-pseudo-random-mac.patch similarity index 98% rename from target/linux/uml/patches-6.1/102-pseudo-random-mac.patch rename to target/linux/uml/patches-6.6/102-pseudo-random-mac.patch index d2dc7516e6..2b42459fe8 100644 --- a/target/linux/uml/patches-6.1/102-pseudo-random-mac.patch +++ b/target/linux/uml/patches-6.6/102-pseudo-random-mac.patch @@ -134,7 +134,7 @@ Applies to vanilla kernel 3.9.4. static DEFINE_SPINLOCK(devices_lock); --- a/kernel/umh.c +++ b/kernel/umh.c -@@ -357,12 +357,12 @@ static void helper_unlock(void) +@@ -354,12 +354,12 @@ static void helper_unlock(void) } int call_usermodehelper_stdoutpipe(struct subprocess_info *sub_info, From 2597dce5f787277a1b9832826331f1d31fe07556 Mon Sep 17 00:00:00 2001 From: Christian Lamparter Date: Sat, 23 Mar 2024 20:35:28 +0100 Subject: [PATCH 21/23] uml: restore 6.1 config + patches keep the main 6.1 files around until they too will be deleted. Signed-off-by: Christian Lamparter --- target/linux/uml/config-6.1 | 150 ++++++++++++ .../uml/patches-6.1/101-mconsole-exec.patch | 213 ++++++++++++++++++ .../patches-6.1/102-pseudo-random-mac.patch | 151 +++++++++++++ 3 files changed, 514 insertions(+) create mode 100644 target/linux/uml/config-6.1 create mode 100644 target/linux/uml/patches-6.1/101-mconsole-exec.patch create mode 100644 target/linux/uml/patches-6.1/102-pseudo-random-mac.patch diff --git a/target/linux/uml/config-6.1 b/target/linux/uml/config-6.1 new file mode 100644 index 0000000000..da4eaac3ac --- /dev/null +++ b/target/linux/uml/config-6.1 @@ -0,0 +1,150 @@ +CONFIG_3_LEVEL_PGTABLES=y +CONFIG_64BIT=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARCH_EPHEMERAL_INODES=y +CONFIG_ARCH_NO_PREEMPT=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_BLK_DEV_COW_COMMON=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_UBD=y +CONFIG_BLK_DEV_UBD_SYNC=y +CONFIG_BLK_MQ_VIRTIO=y +CONFIG_CDROM=y +# CONFIG_COMMON_CLK is not set +CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1 +# CONFIG_COMPAT_32BIT_TIME is not set +CONFIG_CON_CHAN="xterm" +CONFIG_CON_ZERO_CHAN="fd:0,fd:1" +CONFIG_CPU_SUP_AMD=y +CONFIG_CPU_SUP_CENTAUR=y +CONFIG_CPU_SUP_HYGON=y +CONFIG_CPU_SUP_INTEL=y +CONFIG_CPU_SUP_ZHAOXIN=y +CONFIG_CRC16=y +CONFIG_CRYPTO_CRC32=y +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y +CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11 +CONFIG_CRYPTO_LIB_SHA1=y +CONFIG_CRYPTO_LIB_UTILS=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_SHA1=y +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DNOTIFY=y +# CONFIG_EARLY_PRINTK is not set +CONFIG_EXCLUSIVE_SYSTEM_RAM=y +CONFIG_EXT4_FS=y +CONFIG_F2FS_FS=y +CONFIG_FAILOVER=y +CONFIG_FS_IOMAP=y +CONFIG_FS_MBCACHE=y +CONFIG_FW_LOADER_PAGED_BUF=y +CONFIG_FW_LOADER_SYSFS=y +CONFIG_GCC11_NO_ARRAY_BOUNDS=y +CONFIG_GENERIC_CLOCKEVENTS=y +# CONFIG_GENERIC_CPU is not set +CONFIG_GENERIC_CPU_DEVICES=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GPIO_CDEV=y +CONFIG_HOSTFS=y +CONFIG_HVC_DRIVER=y +CONFIG_HW_RANDOM=y +CONFIG_HZ_PERIODIC=y +CONFIG_IA32_FEAT_CTL=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_INIT_ENV_ARG_LIMIT=128 +CONFIG_IRQ_WORK=y +CONFIG_ISO9660_FS=y +CONFIG_JBD2=y +# CONFIG_JFFS2_FS is not set +CONFIG_KALLSYMS=y +CONFIG_KERNEL_STACK_ORDER=2 +CONFIG_LOCK_DEBUGGING_SUPPORT=y +# CONFIG_MATOM is not set +CONFIG_MAY_HAVE_RUNTIME_DEPS=y +CONFIG_MCONSOLE=y +# CONFIG_MCORE2 is not set +CONFIG_MEMFD_CREATE=y +CONFIG_MIGRATION=y +CONFIG_MK8=y +# CONFIG_MMAPPER is not set +CONFIG_MODULES_USE_ELF_RELA=y +# CONFIG_MPSC is not set +CONFIG_NAMESPACES=y +CONFIG_NEED_PER_CPU_KM=y +CONFIG_NET_FAILOVER=y +# CONFIG_NET_NS is not set +CONFIG_NLS=y +CONFIG_NO_DMA=y +CONFIG_NO_IOMEM=y +CONFIG_NO_IOPORT_MAP=y +CONFIG_NR_CPUS=1 +CONFIG_NULL_CHAN=y +# CONFIG_OF is not set +CONFIG_PGTABLE_LEVELS=3 +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_PORT_CHAN=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +CONFIG_PREEMPT_NONE_BUILD=y +# CONFIG_PROCESSOR_SELECT is not set +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_PTP_1588_CLOCK_OPTIONAL=y +CONFIG_PTY_CHAN=y +CONFIG_RANDSTRUCT_NONE=y +CONFIG_RD_BZIP2=y +CONFIG_RD_GZIP=y +CONFIG_RELAY=y +CONFIG_SG_POOL=y +CONFIG_SOFT_WATCHDOG=m +CONFIG_SRCU=y +CONFIG_SSL=y +CONFIG_SSL_CHAN="pty" +CONFIG_STACKTRACE=y +CONFIG_STDERR_CONSOLE=y +CONFIG_TICK_CPU_ACCOUNTING=y +CONFIG_TINY_SRCU=y +CONFIG_TTY_CHAN=y +CONFIG_UML=y +CONFIG_UML_NET=y +CONFIG_UML_NET_DAEMON=y +CONFIG_UML_NET_DAEMON_DEFAULT_SOCK="/tmp/uml.ctl" +CONFIG_UML_NET_DETERMINISTIC_MAC=y +CONFIG_UML_NET_ETHERTAP=y +CONFIG_UML_NET_MCAST=y +# CONFIG_UML_NET_PCAP is not set +CONFIG_UML_NET_SLIP=y +CONFIG_UML_NET_SLIRP=y +CONFIG_UML_NET_TUNTAP=y +# CONFIG_UML_NET_VDE is not set +CONFIG_UML_NET_VECTOR=y +# CONFIG_UML_PCI_OVER_VIRTIO is not set +CONFIG_UML_RANDOM=y +# CONFIG_UML_SOUND is not set +CONFIG_UML_TIME_TRAVEL_SUPPORT=y +# CONFIG_UML_WATCHDOG is not set +CONFIG_UML_X86=y +# CONFIG_USER_NS is not set +CONFIG_VIRTIO=y +CONFIG_VIRTIO_ANCHOR=y +CONFIG_VIRTIO_BLK=y +CONFIG_VIRTIO_CONSOLE=y +CONFIG_VIRTIO_NET=y +CONFIG_VIRTIO_UML=y +CONFIG_VMAP_STACK=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_WATCHDOG_CORE=y +CONFIG_X86_64=y +CONFIG_X86_CMOV=y +CONFIG_X86_CMPXCHG64=y +CONFIG_X86_INTEL_USERCOPY=y +CONFIG_X86_INTERNODE_CACHE_SHIFT=6 +CONFIG_X86_L1_CACHE_SHIFT=6 +CONFIG_X86_MINIMUM_CPU_FAMILY=64 +CONFIG_X86_TSC=y +CONFIG_X86_USE_PPRO_CHECKSUM=y +CONFIG_XTERM_CHAN=y +CONFIG_XTERM_CHAN_DEFAULT_EMULATOR="xterm" +CONFIG_ZLIB_INFLATE=y diff --git a/target/linux/uml/patches-6.1/101-mconsole-exec.patch b/target/linux/uml/patches-6.1/101-mconsole-exec.patch new file mode 100644 index 0000000000..2ff9701eb9 --- /dev/null +++ b/target/linux/uml/patches-6.1/101-mconsole-exec.patch @@ -0,0 +1,213 @@ +# +# Minimalist mconsole exec patch +# +# 3.10 version (with bit more synchronous behavior) by fingon at iki dot fi +# Adaptation to kernel 3.3.8 made by David Fernández (david at dit.upm.es) for +# Starting point: mconsole-exec-2.6.30.patch for kernel 2.6.30 +# Author of original patch: Paolo Giarrusso, aka Blaisorblade +# (http://www.user-mode-linux.org/~blaisorblade) +# +# Known misfeatures: +# +# - If output is too long, blocks (and breaks horribly) +# (this misfeature from 3.10 patches, when minimalizing the patch; +# workaround: redirect to a shared filesystem if long output is expected) +# +# - Nothing useful is done with stdin +# +--- a/arch/um/drivers/mconsole.h ++++ b/arch/um/drivers/mconsole.h +@@ -85,6 +85,7 @@ extern void mconsole_cad(struct mc_reque + extern void mconsole_stop(struct mc_request *req); + extern void mconsole_go(struct mc_request *req); + extern void mconsole_log(struct mc_request *req); ++extern void mconsole_exec(struct mc_request *req); + extern void mconsole_proc(struct mc_request *req); + extern void mconsole_stack(struct mc_request *req); + +--- a/arch/um/drivers/mconsole_kern.c ++++ b/arch/um/drivers/mconsole_kern.c +@@ -4,6 +4,7 @@ + * Copyright (C) 2001 - 2008 Jeff Dike (jdike@{addtoit,linux.intel}.com) + */ + ++#include + #include + #include + #include +@@ -27,6 +28,7 @@ + #include + #include + #include ++#include + #include + + #include +@@ -124,6 +126,59 @@ void mconsole_log(struct mc_request *req + mconsole_reply(req, "", 0, 0); + } + ++void mconsole_exec(struct mc_request *req) ++{ ++ struct subprocess_info *sub_info; ++ int res, len; ++ struct file *out; ++ char buf[MCONSOLE_MAX_DATA]; ++ ++ char *envp[] = { ++ "HOME=/", "TERM=linux", ++ "PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin", ++ NULL ++ }; ++ char *argv[] = { ++ "/bin/sh", "-c", ++ req->request.data + strlen("exec "), ++ NULL ++ }; ++ ++ sub_info = call_usermodehelper_setup("/bin/sh", argv, envp, GFP_ATOMIC, NULL, NULL, NULL); ++ if (sub_info == NULL) { ++ mconsole_reply(req, "call_usermodehelper_setup failed", 1, 0); ++ return; ++ } ++ res = call_usermodehelper_stdoutpipe(sub_info, &out); ++ if (res < 0) { ++ kfree(sub_info); ++ mconsole_reply(req, "call_usermodehelper_stdoutpipe failed", 1, 0); ++ return; ++ } ++ ++ res = call_usermodehelper_exec(sub_info, UMH_WAIT_PROC); ++ if (res < 0) { ++ kfree(sub_info); ++ mconsole_reply(req, "call_usermodehelper_exec failed", 1, 0); ++ return; ++ } ++ ++ for (;;) { ++ len = out->f_op->read(out, buf, sizeof(buf), &out->f_pos); ++ if (len < 0) { ++ mconsole_reply(req, "reading output failed", 1, 0); ++ break; ++ } ++ if (len == 0) ++ break; ++ mconsole_reply_len(req, buf, len, 0, 1); ++ } ++ fput(out); ++ ++ mconsole_reply_len(req, NULL, 0, 0, 0); ++} ++ ++ + void mconsole_proc(struct mc_request *req) + { + struct vfsmount *mnt = proc_mnt; +@@ -190,6 +245,7 @@ void mconsole_proc(struct mc_request *re + stop - pause the UML; it will do nothing until it receives a 'go' \n\ + go - continue the UML after a 'stop' \n\ + log - make UML enter into the kernel log\n\ ++ exec - pass to /bin/sh -c synchronously\n\ + proc - returns the contents of the UML's /proc/\n\ + stack - returns the stack of the specified pid\n\ + " +--- a/arch/um/drivers/mconsole_user.c ++++ b/arch/um/drivers/mconsole_user.c +@@ -30,6 +30,7 @@ static struct mconsole_command commands[ + { "stop", mconsole_stop, MCONSOLE_PROC }, + { "go", mconsole_go, MCONSOLE_INTR }, + { "log", mconsole_log, MCONSOLE_INTR }, ++ { "exec", mconsole_exec, MCONSOLE_PROC }, + { "proc", mconsole_proc, MCONSOLE_PROC }, + { "stack", mconsole_stack, MCONSOLE_INTR }, + }; +--- a/arch/um/os-Linux/file.c ++++ b/arch/um/os-Linux/file.c +@@ -560,6 +560,8 @@ int os_create_unix_socket(const char *fi + + addr.sun_family = AF_UNIX; + ++ if (len > sizeof(addr.sun_path)) ++ len = sizeof(addr.sun_path); + snprintf(addr.sun_path, len, "%s", file); + + err = bind(sock, (struct sockaddr *) &addr, sizeof(addr)); +--- a/include/linux/kmod.h ++++ b/include/linux/kmod.h +@@ -32,4 +32,6 @@ static inline int request_module_nowait( + #define try_then_request_module(x, mod...) (x) + #endif + ++int call_usermodehelper_stdoutpipe(struct subprocess_info *sub_info, struct file **filp); ++ + #endif /* __LINUX_KMOD_H__ */ +--- a/include/linux/umh.h ++++ b/include/linux/umh.h +@@ -23,6 +23,7 @@ struct subprocess_info { + const char *path; + char **argv; + char **envp; ++ struct file *stdout; + int wait; + int retval; + int (*init)(struct subprocess_info *info, struct cred *new); +--- a/kernel/umh.c ++++ b/kernel/umh.c +@@ -29,6 +29,7 @@ + #include + #include + #include ++#include + + #include + +@@ -74,6 +75,28 @@ static int call_usermodehelper_exec_asyn + flush_signal_handlers(current, 1); + spin_unlock_irq(¤t->sighand->siglock); + ++ /* Install output when needed */ ++ if (sub_info->stdout) { ++ struct files_struct *f = current->files; ++ struct fdtable *fdt; ++ ++ sys_close(1); ++ sys_close(2); ++ get_file(sub_info->stdout); ++ fd_install(1, sub_info->stdout); ++ fd_install(2, sub_info->stdout); ++ spin_lock(&f->file_lock); ++ fdt = files_fdtable(f); ++ __set_bit(1, fdt->open_fds); ++ __clear_bit(1, fdt->close_on_exec); ++ __set_bit(2, fdt->open_fds); ++ __clear_bit(2, fdt->close_on_exec); ++ spin_unlock(&f->file_lock); ++ ++ /* disallow core files */ ++ current->signal->rlim[RLIMIT_CORE] = (struct rlimit){0, 0}; ++ } ++ + /* + * Initial kernel threads share ther FS with init, in order to + * get the init root directory. But we've now created a new +@@ -333,6 +356,20 @@ static void helper_unlock(void) + wake_up(&running_helpers_waitq); + } + ++int call_usermodehelper_stdoutpipe(struct subprocess_info *sub_info, ++ struct file **filp) ++{ ++ struct file *f[2]; ++ ++ if (create_pipe_files(f, 0) < 0) ++ return PTR_ERR(f); ++ ++ sub_info->stdout = f[1]; ++ *filp = f[0]; ++ return 0; ++} ++EXPORT_SYMBOL(call_usermodehelper_stdoutpipe); ++ + /** + * call_usermodehelper_setup - prepare to call a usermode helper + * @path: path to usermode executable diff --git a/target/linux/uml/patches-6.1/102-pseudo-random-mac.patch b/target/linux/uml/patches-6.1/102-pseudo-random-mac.patch new file mode 100644 index 0000000000..d2dc7516e6 --- /dev/null +++ b/target/linux/uml/patches-6.1/102-pseudo-random-mac.patch @@ -0,0 +1,151 @@ +=============================================================================== + +This patch makes MAC addresses of network interfaces predictable. In +particular, it adds a small routine that computes MAC addresses of based on +a SHA1 hash of the virtual machine name and interface ID. + +TECHNICAL INFORMATION: + +Applies to vanilla kernel 3.9.4. + +=============================================================================== +--- a/arch/um/drivers/Kconfig ++++ b/arch/um/drivers/Kconfig +@@ -143,6 +143,20 @@ config UML_NET + enable at least one of the following transport options to actually + make use of UML networking. + ++config UML_NET_DETERMINISTIC_MAC ++ bool "Use deterministic MAC addresses for network interfaces" ++ default y ++ depends on UML_NET ++ select CRYPTO_SHA1 ++ help ++ Virtual network devices inside a User-Mode Linux instance must be ++ assigned a MAC (Ethernet) address. If none is specified on the UML ++ command line, one must be automatically computed. If this option is ++ enabled, a randomly generated address is used. Otherwise, if this ++ option is disabled, the address is generated from a SHA1 hash of ++ the umid of the UML instance and the interface name. The latter choice ++ is useful to make MAC addresses predictable. ++ + config UML_NET_ETHERTAP + bool "Ethertap transport (obsolete)" + depends on UML_NET +--- a/arch/um/drivers/net_kern.c ++++ b/arch/um/drivers/net_kern.c +@@ -25,6 +25,14 @@ + #include + #include + ++#include ++#include ++#include ++#include ++#include ++#include ++#include "os.h" ++ + #define DRIVER_NAME "uml-netdev" + + static DEFINE_SPINLOCK(opened_lock); +@@ -274,9 +282,55 @@ static const struct ethtool_ops uml_net_ + .get_ts_info = ethtool_op_get_ts_info, + }; + ++#ifdef CONFIG_UML_NET_DETERMINISTIC_MAC ++ ++/* Compute a SHA1 hash of the UML instance's id and ++ * * an interface name. */ ++static int compute_hash(const char *umid, const char *ifname, char *hash) ++{ ++ struct ahash_request *desc = NULL; ++ struct crypto_ahash *tfm = NULL; ++ struct scatterlist sg; ++ char *vmif = NULL; ++ int ret = -ENOMEM; ++ ++ vmif = kmalloc(1024, GFP_KERNEL); ++ if (!vmif) ++ goto out; ++ ++ strcpy (vmif, umid); ++ strcat (vmif, ifname); ++ ++ tfm = crypto_alloc_ahash("sha1", 0, CRYPTO_ALG_ASYNC); ++ if (IS_ERR(tfm)) ++ goto out; ++ ++ desc = ahash_request_alloc(tfm, GFP_KERNEL); ++ if (!desc) ++ goto out; ++ ++ crypto_ahash_clear_flags(tfm, ~0); ++ ++ sg_init_table(&sg, 1); ++ sg_set_buf(&sg, vmif, strlen(vmif)); ++ ++ ahash_request_set_crypt(desc, &sg, hash, strlen(vmif)); ++ ++ ret = crypto_ahash_digest(desc); ++out: ++ crypto_free_ahash(tfm); ++ ahash_request_free(desc); ++ kfree(vmif); ++ ++ return ret; ++} ++ ++#endif ++ + void uml_net_setup_etheraddr(struct net_device *dev, char *str) + { + u8 addr[ETH_ALEN]; ++ u8 hash[SHA1_DIGEST_SIZE]; + char *end; + int i; + +@@ -320,9 +374,26 @@ void uml_net_setup_etheraddr(struct net_ + return; + + random: ++#ifndef CONFIG_UML_NET_DETERMINISTIC_MAC + printk(KERN_INFO + "Choosing a random ethernet address for device %s\n", dev->name); + eth_hw_addr_random(dev); ++#else ++ printk(KERN_INFO ++ "Computing a digest to use as ethernet address for device %s\n", dev->name); ++ if (compute_hash(get_umid(), dev->name, hash) < 0) { ++ printk(KERN_WARNING ++ "Could not compute digest to use as ethernet address for device %s. " ++ "Using random address instead.\n", dev->name); ++ eth_random_addr(addr); ++ } ++ else { ++ for (i=0; i < 6; i++) ++ addr[i] = (hash[i] + hash[i+6]) % 0x100; ++ } ++ addr [0] &= 0xfe; /* clear multicast bit */ ++ addr [0] |= 0x02; /* set local assignment bit (IEEE802) */ ++#endif + } + + static DEFINE_SPINLOCK(devices_lock); +--- a/kernel/umh.c ++++ b/kernel/umh.c +@@ -357,12 +357,12 @@ static void helper_unlock(void) + } + + int call_usermodehelper_stdoutpipe(struct subprocess_info *sub_info, +- struct file **filp) ++ struct file **filp) + { + struct file *f[2]; + + if (create_pipe_files(f, 0) < 0) +- return PTR_ERR(f); ++ return PTR_ERR(f); + + sub_info->stdout = f[1]; + *filp = f[0]; From 6e7bc0c24327502b6d0f0eaf8b23d6e4ff9b5a34 Mon Sep 17 00:00:00 2001 From: Steffen Loley Date: Sat, 10 Feb 2024 16:50:50 +0100 Subject: [PATCH 22/23] ramips: add support for TP-Link RE205 v3 TP-Link RE205 v3 is a wireless range extender with Ethernet and 2.4G and 5G WiFi with external antennas. It's based on MediaTek MT7628AN+MT7610EN like the RE200 v3/v4 but with external antennas. Specifications -------------- - MediaTek MT7628AN (580 Mhz) - 64 MB of RAM - 8 MB of FLASH - 2T2R 2.4 GHz and 1T1R 5 GHz - 1x 10/100 Mbps Ethernet - 5x LED (GPIO-controlled), 2x button - UART connection holes on PCB (57600 8n1) There are 2.4G and 5G LEDs in blue which are controlled separately. Installation ------------ Installation is identical to RE200 v3 devices as described at https://openwrt.org/toh/tp-link/re200#installation Web Interface ------------- It is possible to upgrade to OpenWrt via the web interface. Simply flash the -factory.bin from OEM. In contrast to a stock firmware, this will not overwrite U-Boot. Recovery -------- U-Boot seems to be locked on newer versions, if not it can be accessed over the UART as described in the link above. Signed-off-by: Steffen Loley --- .../ramips/dts/mt7628an_tplink_re205-v3.dts | 44 +++++++++++++++++++ target/linux/ramips/image/mt76x8.mk | 10 +++++ .../mt76x8/base-files/etc/board.d/01_leds | 3 ++ .../mt76x8/base-files/etc/board.d/02_network | 1 + 4 files changed, 58 insertions(+) create mode 100644 target/linux/ramips/dts/mt7628an_tplink_re205-v3.dts diff --git a/target/linux/ramips/dts/mt7628an_tplink_re205-v3.dts b/target/linux/ramips/dts/mt7628an_tplink_re205-v3.dts new file mode 100644 index 0000000000..f9390b1540 --- /dev/null +++ b/target/linux/ramips/dts/mt7628an_tplink_re205-v3.dts @@ -0,0 +1,44 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "mt7628an_tplink_re200.dtsi" + +/ { + compatible = "tplink,re205-v3", "mediatek,mt7628an-soc"; + model = "TP-Link RE205 v3"; + + /delete-node/ leds; + + leds { + compatible = "gpio-leds"; + + led_power: power { + function = LED_FUNCTION_POWER; + color = ; + gpios = <&gpio 39 GPIO_ACTIVE_LOW>; + }; + + wifi5g { + function = LED_FUNCTION_WLAN_5GHZ; + color = ; + gpios = <&gpio 40 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy1tpt"; + }; + + wifi2g { + function = LED_FUNCTION_WLAN_2GHZ; + color = ; + gpios = <&gpio 41 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy0tpt"; + }; + + signal_blue { + label = "blue:signal"; + gpios = <&gpio 42 GPIO_ACTIVE_LOW>; + }; + + signal_red { + label = "red:signal"; + gpios = <&gpio 43 GPIO_ACTIVE_LOW>; + }; + }; +}; diff --git a/target/linux/ramips/image/mt76x8.mk b/target/linux/ramips/image/mt76x8.mk index 656820be14..fc81266da9 100644 --- a/target/linux/ramips/image/mt76x8.mk +++ b/target/linux/ramips/image/mt76x8.mk @@ -636,6 +636,16 @@ define Device/tplink_re200-v4 endef TARGET_DEVICES += tplink_re200-v4 +define Device/tplink_re205-v3 + $(Device/tplink-safeloader) + IMAGE_SIZE := 7808k + DEVICE_MODEL := RE205 + DEVICE_VARIANT := v3 + DEVICE_PACKAGES := kmod-mt76x0e + TPLINK_BOARD_ID := RE205-V3 +endef +TARGET_DEVICES += tplink_re205-v3 + define Device/tplink_re220-v2 $(Device/tplink-safeloader) IMAGE_SIZE := 7808k diff --git a/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds b/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds index 5a0e0ab214..da3ef154c0 100644 --- a/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds @@ -91,6 +91,9 @@ tplink,tl-mr3020-v3|\ tplink,tl-wa801nd-v5) ucidef_set_led_netdev "lan" "lan" "green:lan" "eth0" ;; +tplink,re205-v3) + ucidef_set_led_netdev "lan" "lan" "blue:signal" "eth0" + ;; tplink,re365-v1) ucidef_set_led_netdev "lan" "lan" "blue:lan" "eth0" ;; diff --git a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network index 63abb14d13..fd8c086a85 100644 --- a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network @@ -24,6 +24,7 @@ ramips_setup_interfaces() tplink,re200-v2|\ tplink,re200-v3|\ tplink,re200-v4|\ + tplink,re205-v3|\ tplink,re220-v2|\ tplink,re305-v1|\ tplink,re305-v3|\ From 8753022aeae14eaee02e0c1e59244c5b36e454db Mon Sep 17 00:00:00 2001 From: Nick Hainke Date: Fri, 12 May 2023 18:11:10 +0200 Subject: [PATCH 23/23] toolchain: gcc: switch default to 13 Use GCC 13 instead of GCC 12 by default. All target kernels are building with GCC 13. Most packages from the feed are building fine. The root file systems is getting a little bit smaller for MIPS 32 BE and aarch64. With GCC 12 I got these sizes for lantiq/xrx200: 7,005,867 openwrt-lantiq-xrx200-tplink_tdw8970-initramfs-kernel.bin With GCC 13 I got these sizes for lantiq/xrx200: 6,989,754 openwrt-lantiq-xrx200-tplink_tdw8970-initramfs-kernel.bin With GCC 12 I got these sizes for armsr/armv8: 13,083,836 openwrt-armsr-armv8-generic-ext4-combined.img.gz 4,900,240 openwrt-armsr-armv8-generic-ext4-rootfs.img.gz 20,142,592 openwrt-armsr-armv8-generic-kernel.bin With GCC 13 I got these sizes for armsr/armv8: 13,068,966 openwrt-armsr-armv8-generic-ext4-combined.img.gz 4,893,078 openwrt-armsr-armv8-generic-ext4-rootfs.img.gz 20,142,592 openwrt-armsr-armv8-generic-kernel.bin Signed-off-by: Nick Hainke Signed-off-by: Hauke Mehrtens --- toolchain/gcc/Config.in | 2 +- toolchain/gcc/Config.version | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in index 9156f9c263..85abbdabb7 100644 --- a/toolchain/gcc/Config.in +++ b/toolchain/gcc/Config.in @@ -2,7 +2,7 @@ choice prompt "GCC compiler Version" if TOOLCHAINOPTS - default GCC_USE_VERSION_12 + default GCC_USE_VERSION_13 help Select the version of gcc you wish to use. diff --git a/toolchain/gcc/Config.version b/toolchain/gcc/Config.version index a00685ffa3..54bb4445b3 100644 --- a/toolchain/gcc/Config.version +++ b/toolchain/gcc/Config.version @@ -2,13 +2,13 @@ config GCC_VERSION_11 default y if GCC_USE_VERSION_11 bool -config GCC_VERSION_13 - default y if GCC_USE_VERSION_13 +config GCC_VERSION_12 + default y if GCC_USE_VERSION_12 bool config GCC_VERSION string default EXTERNAL_GCC_VERSION if EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN default "11.3.0" if GCC_VERSION_11 - default "13.2.0" if GCC_VERSION_13 - default "12.3.0" + default "12.3.0" if GCC_VERSION_12 + default "13.2.0"