aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/armvirt
Commit message (Collapse)AuthorAgeFilesLines
* armvirt: 64: add Allwinner A3/A83T/A64 (sun8i family) EthernetMathew McBride2023-06-132-1/+12
| | | | | | | | Add support for the dwmac (stmmac) variant used by Allwinner Arm64 boards. Signed-off-by: Mathew McBride <matt@traverse.com.au> (cherry picked from commit 847467a5729995a98aa34329f6fa0ed4cb79d210)
* armvirt: 64: add Marvell (formerly Cavium) ThunderX series network driverMathew McBride2023-06-132-2/+20
| | | | | | | Based on working configuration supplied by Anton Antonov. Signed-off-by: Mathew McBride <matt@traverse.com.au> (cherry picked from commit 5d2a5f739840caa6e72b5c907d355f6aaca227d4)
* armvirt: 64: Add storage support for qemu-sbsa platformAnton Antonov2023-06-131-0/+4
| | | | | | | | | | | Enable SATA support, which is used by the Server Base System Architecture reference board[1]. Signed-off-by: Anton Antonov <Anton.Antonov@arm.com> Signed-off-by: Mathew McBride <matt@traverse.com.au> [1] - https://qemu.readthedocs.io/en/latest/system/arm/sbsa.html (23.05/5.15 version of 26905c96124af10a795167509116252e9357baea)
* armvirt: 64: Add NXP i.MX 8M Mini/Nano/Quad/Plus EVK supportAnton Antonov2023-06-134-3/+155
| | | | | | | | | Also includes Advantech RSB-3720 (iMX8 Plus) support. Signed-off-by: Anton Antonov <Anton.Antonov@arm.com> Signed-off-by: Mathew McBride <matt@traverse.com.au> [Re-sort into kernel config, move network into modules] (23.05/5.15 version of commit 3efb3b801bb1393897ff58b9af3753157f28f441)
* armvirt: 64: add support for other SystemReady-compatible vendorsMathew McBride2023-06-134-3/+308
| | | | | | | | | | | | | | | | | | | | | | | | | | | These changes are to support other vendors that have SystemReady/EFI support, including: * Marvell Armada ** (This is speculative as I don't have a machine of my own to test) * Amazon Graviton (tested bare-metal and virtualized instances) * VMware (Fusion for ARM Mac preview) * NXP/Freescale (Layerscape series not already selected) * HiSilicon * Allwinner/sunxi * Rockchip (untested, options taken from arm64 defconfig) To give an idea of the hardware certified for SystemReady, see https://www.arm.com/architecture/system-architectures/systemready-certification-program/ir and https://www.arm.com/architecture/system-architectures/systemready-certification-program/es Other vendors that _should_ work include Marvell Octeon 10 and Ampere. I understand these systems should work "out of the box" in ACPI mode but may require other drivers (e.g PCIe NICs and storage controllers). Signed-off-by: Mathew McBride <matt@traverse.com.au> (23.05/5.15 version of c3151b6f04579a937b7cb166bbeff0d0ee539946)
* armvirt: add options and driver modules for NXP Layerscape DPAA2 platformMathew McBride2023-06-134-5/+157
| | | | | | | Tested with a Traverse Technologies Ten64 (LS1088A) board. Signed-off-by: Mathew McBride <matt@traverse.com.au> (23.05/5.15 version of commit 54bb95f879aaa62c4253d30390e77bc8180f4ed7)
* armvirt: add 5.15 patches for NXP DPAA2 platformMathew McBride2023-06-132-0/+108
| | | | | | | | | | | | This fixes an issue with NXP's DPAA2 platforms (LS1088/2088/LX2160) * A deadlock issue when attempting to detach the SFP management from a PHY interface (e.g when trying to reboot). These issues were fixed in kernel 6.2[1], but it's version does not cleanly apply onto 5.15. Signed-off-by: Mathew McBride <matt@traverse.com.au> [1] - see patch series "Fix rtnl_mutex deadlock with DPAA2 and SFP modules", https://patchwork.kernel.org/project/netdevbpf/cover/20221129141221.872653-1-vladimir.oltean@nxp.com/
* armvirt: add ACPI supportMathew McBride2023-06-132-1/+140
| | | | | | | | | | | ACPI support is required for Arm 'SystemReady' server and workstation systems (and as an option on embedded platforms). These config changes allow OpenWrt to boot in a QEMU virtual machine with a UEFI/EDKII 'BIOS', but with no other hardware enabled yet. Signed-off-by: Mathew McBride <matt@traverse.com.au> (23.05/5.15 version of cb3bbbf00cfb465de3333e4b84e8da9138985595)
* build: enable vmdk/vmware images for arm64 targetMathew McBride2023-06-131-1/+1
| | | | | | | This is useful for VMware's ARM64 products, e.g Fusion for M1/ARM Macs. Signed-off-by: Mathew McBride <matt@traverse.com.au> (cherry picked from commit f899e0e024825861e129b0e8fbfb31c1d614273a)
* armvirt: remove model name overrideMathew McBride2023-06-131-13/+0
| | | | | | | | Now that armvirt has been expanded to boot on more generic ARM machines, remove the board and model name override. Signed-off-by: Mathew McBride <matt@traverse.com.au> (cherry picked from commit 3d99314569a059a1d5e015086e534b3e04ff2097)
* armvirt: set kernel partition as the EFI system partitionMathew McBride2023-06-131-1/+1
| | | | | | | | U-Boot with EFI boot manager functionality will store EFI boot order data on the ESP in the ubootefi.var file. Signed-off-by: Mathew McBride <matt@traverse.com.au> (cherry picked from commit 9a76b99c1bd781248c18d69abe570f35932db8a3)
* armvirt: update README with new image namesMathew McBride2023-06-131-8/+40
| | | | | | | | | The introduction of EFI support has changed how armvirt images are generated. The kernel and filesystem binaries can still be used as before with QEMU directly. Signed-off-by: Mathew McBride <matt@traverse.com.au> (cherry picked from commit 97c5d317f59e071c9f691add5748a74a75665038)
* armvirt: disable LD dead code elimination on ARM32Mathew McBride2023-06-131-0/+23
| | | | | | | | | This interferes with the generation of the EFI stub section for ARM32. As this target is not size constrained, disable the dead code data elimination hack. Signed-off-by: Mathew McBride <matt@traverse.com.au> (23.05 version of eb0e61285d4da910317e082de559337a305fa1dc)
* armvirt: add EFI supportMathew McBride2023-06-1311-19/+393
| | | | | | | | | | | | | | EFI booting is used on newer machines compatible with the Arm SystemReady specifications. This commit restructures armvirt into a more 'generic' target similar to x86. See https://github.com/openwrt/openwrt/pull/4956 for a history of this port. Signed-off-by: Mathew McBride <matt@traverse.com.au> (23.05 version of e0f06ddc23b2503a1791ae7e97b02e2647e8a70d)
* kernel: enable (ARM|ARM64)_MODULE_PLTS in generic configTony Ambardar2023-05-241-1/+0
| | | | | | | | | | | | | | | | | | | | | This allows loading modules with large memory requirements, recently needed while testing on armvirt/32. Past forum discussions [1] and bug reports [2] also raised this and the ipq806x target already set it in response [3]. Given this increases kernel image size by only ~1KB, is generally useful on multi-platform kernels, and enabled by default on upstream arm32 Linux, add it to the generic config. The setting has similar utility on arm64, is a requirement for KASLR, and already enabled on most OpenWrt aarch64 targets, so pull this into the top-level generic config. [1]: https://forum.openwrt.org/t/vmap-allocation-for-size-442368-failed-use-vmalloc-size-to-increase-size/34545/7 [2]: https://github.com/openwrt/openwrt/issues/8282 [3]: f81e148eb6 ("ipq806x: update 4.19 kernel config"). Signed-off-by: Tony Ambardar <itugrok@yahoo.com> (cherry picked from commit c2d194a34eb1a62a610f0437287db6c3eca64d5a) Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* treewide: remove files for building 5.10 kernelNick Hainke2023-05-123-384/+0
| | | | | | | | | | | All targets are bumped to 5.15. Remove the old 5.10 patches, configs and files using: find target/linux -iname '*-5.10' -exec rm -r {} \; Further, remove the 5.10 include. Signed-off-by: Nick Hainke <vincent@systemli.org>
* generic: enable CONFIG_ARM_CRYPTO for 32bit arm targetsLu jicong2023-05-101-0/+1
| | | | | | | Fix following error when building 32bit arm targets with kmod-crypto-sha512 ERROR: module '/home/user/openwrt/build_dir/target-arm_xscale_musl_eabi/linux-kirkwood_generic/linux-5.15.109/arch/arm/crypto/sha512-arm.ko' is missing. Signed-off-by: Lu jicong <jiconglu58@gmail.com>
* generic: refresh 5.15 kernel configLu jicong2023-05-101-1/+0
| | | | | | prepare for enabling CONFIG_ARM_CRYPTO on these targets Signed-off-by: Lu jicong <jiconglu58@gmail.com>
* kernel: disable CONFIG_CPU_LITTLE_ENDIAN in generic configAleksander Jan Bajkowski2022-10-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Endianness depends on CPU architecture. CONFIG_CPU_(BIG/LITTLE)_ENDIAN should be enabled on target or subtarget based on SoC architecture. Fixes warning: $ make kernel_oldconfig CONFIG_TARGET=subtarget ... .config:1008:warning: override: CPU_LITTLE_ENDIAN changes choice state .... Summary: - ARC - only the CONFIG_CPU_BIG_ENDIAN symbol is defined for this architeture. If it is disabled then the processor operates in LITTLE_ENDIAN mode (default), - ARM32 - CONFIG_CPU_LITTLE_ENDIAN symbol available since kernel 5.19. This option should be enabled after OpenWRT moves to kernel 6.x. After refreshing the kernel, the symbol disappears, - ARM64 - enabled CONFIG_CPU_LITTLE_ENDIAN, - MIPS - enabled relevant symbols, - POWERPC - enabled CONFIG_CPU_BIG_ENDIAN, - UML - Symbols are not defined for this architecture, - X86 - always little endian. Symbols are not defined for this architecture. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
* armvirt: make 5.15 kernel defaultPetr Štetiar2022-09-141-2/+1
| | | | | | In order to begin testing of upcoming kernel. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* kernel: Activate CONFIG_GPIOLIB in generic configurationHauke Mehrtens2022-08-102-2/+0
| | | | | | | | All targets expect the malta target already activate the CONFIG_GPIOLIB option. Move it to generic kernel configuration and also activate it for malta. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM]Tomasz Maciej Nowak2022-06-244-0/+8
| | | | | | | | | | | | This is now built-in, enable so it won't propagate on target configs. Link: https://lkml.org/lkml/2022/1/3/168 Fixes: 79e7a2552e89 ("kernel: bump 5.15 to 5.15.44") Fixes: 0ca93670693b ("kernel: bump 5.10 to 5.10.119") Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com> (Link to Kernel's commit taht made it built-in, CRYPTO_LIB_BLAKE2S[_ARM|_X86] as it's selectable, 5.10 backport) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* armvirt: 64: enable driver for QEMU' supported watchdogChristian Lamparter2022-05-072-0/+4
| | | | | | | | | | | | QEMU can emulate several watchdogs: aspeed SoC, i6300esb, ib700wdt, imx2, cmsdk-apb and sbsa_gwdt. Out of these, the ARM SBSA Generic Watchdog (sbsa_gwdt) makes the most sense for the armvirt' 64 target. Both imx2 and aspeed are guarded by special vendor specific CONFIG_ in the upstream kernel. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* armvirt: add 5.15 as testing kernelAleksander Jan Bajkowski2022-04-091-0/+1
| | | | | | Add 5.15 as testing kernel. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
* armvirt: move common symbols from subtarget to target configAleksander Jan Bajkowski2022-04-093-12/+6
| | | | | | | These new symbols are common for all subtargets and can be moved into target config. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
* armvirt: refresh 5.15 configAleksander Jan Bajkowski2022-04-093-14/+22
| | | | | | | | This was done by executing these commands: $ make kernel_oldconfig CONFIG_TARGET=subtarget $ make kernel_oldconfig CONFIG_TARGET=subtarget_platform Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
* armvirt: copy config files from 5.10Aleksander Jan Bajkowski2022-04-093-0/+379
| | | | | | Copy config files from 5.10. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
* armvirt: refresh 5.10 configAleksander Jan Bajkowski2022-04-092-1/+2
| | | | | | | | This was done by executing these commands: $ make kernel_oldconfig CONFIG_TARGET=subtarget $ make kernel_oldconfig CONFIG_TARGET=subtarget_platform Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
* kernel: 5.10: consolidate mac80211 crypto optionsSergey Ryazanov2021-12-172-8/+0
| | | | | | | | | | | | | | | | | | | | | | Each of - CRYPTO_AEAD2 - CRYPTO_AEAD - CRYPTO_GF128MUL - CRYPTO_GHASH - CRYPTO_HASH2 - CRYPTO_HASH - CRYPTO_MANAGER2 - CRYPTO_MANAGER - CRYPTO_NULL2 either directly required for mac80211 crypto support, or directly selected by such options. Support for the mac80211 crypto was enabled in the generic config since c7182123b9 ("kernel: make cryptoapi support needed by mac80211 built-in"). So move the above options from the target configs to the generic config to make it clear why do we need them. CC: Felix Fietkau <nbd@nbd.name> Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
* kernel: filter out both Clang and LLD versionsSergey Ryazanov2021-12-171-1/+0
| | | | | | | | Both CLANG_VERSION and LLD_VERISON are autogenerated runtime configuration options, so add them to the kernel configuration filter and remove from generic and per-target configs to keep configs clean. Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
* armvirt: enable MMIO_CMDLINE_DEVICES for firecracker supportPaul Spooren2021-10-121-0/+1
| | | | | | | | | | | | | This Kernel option allows to run OpenWrt witin a `firecracker` micro VM. Firecracker is a KVM-based tool for superfast booting VMs on x86_64 and aarch64. It makes rootfs available to the guest as a virtio-mmio device and passes its address via the kernel cmdline. A kernel without CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES will not recognize the rootfs virtio-mmio device. Suggested-by: Packet Please <pktpls@systemli.org> Signed-off-by: Paul Spooren <mail@aparcar.org>
* armvirt: remove obsolete Kernel 5.4Paul Spooren2021-10-023-385/+0
| | | | | | | With the upgrade to Kernel 5.10 per default the old version is no longer required to be in tree. Signed-off-by: Paul Spooren <mail@aparcar.org>
* armvirt: switch to Kernel 5.10Paul Spooren2021-10-011-2/+1
| | | | | | | | | | | | Armvirt is a development and testing platform and should therefore use the latest OpenWrt Kernel by default. Tested via qemu. Acked-by: Rosen Penev <rosenp@gmail.com> Acked-by: Yousong Zhou <yszhou4tech@gmail.com> Signed-off-by: Paul Spooren <mail@aparcar.org>
* kernel: move two symbols to the generic kconfigsRui Salvaterra2021-08-292-4/+0
| | | | | | | CONFIG_RCU_{NEED_SEGCBLIST,STALL_COMMON} are set basically everywhere. Move them to the generic kconfigs. And resort the generic kconfigs while at it. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* treewide: switch the timer frequency to 100 HzRui Salvaterra2021-04-214-8/+0
| | | | | | | | Some targets select HZ=100, others HZ=250. There's no reason to select a higher timer frequency (and 100 Hz are available in every architecture), so change all targets to 100 Hz. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* armvirt: add 5.10 testing kernelAleksander Jan Bajkowski2021-04-031-0/+1
| | | | | | | Add 5.10 as testing kernel. Builds successfully with CONFIG_ALL_KMODS=y enabled. Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
* armvirt: refresh 5.10 configAleksander Jan Bajkowski2021-04-033-19/+20
| | | | | | | | | | This was done by executing these commands: $ make kernel_oldconfig CONFIG_TARGET=subtarget $ make kernel_oldconfig CONFIG_TARGET=subtarget_platform Some common symbols have been moved to target config. Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
* armvirt: copy config files for 5.10Aleksander Jan Bajkowski2021-04-033-0/+391
| | | | | | Copy config and patches for 5.10. Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
* armvirt: refresh 5.4 configAleksander Jan Bajkowski2021-04-033-203/+14
| | | | | | | | This was done by executing these commands: $ make kernel_oldconfig CONFIG_TARGET=subtarget $ make kernel_oldconfig CONFIG_TARGET=subtarget_platform Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
* kernel: move some disabled symbols to genericAleksander Jan Bajkowski2021-03-192-11/+0
| | | | | | Move some disabled symbols found in armvirt target to generic. Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
* treewide: remove execute bit and shebang from board.d filesAdrian Schmutzler2021-03-061-1/+0
| | | | | | | | | | | | | | | | So far, board.d files were having execute bit set and contained a shebang. However, they are just sourced in board_detect, with an apparantly unnecessary check for execute permission beforehand. Replace this check by one for existance and make the board.d files "normal" files, as would be expected in /etc anyway. Note: This removes an apparantly unused '#!/bin/sh /etc/rc.common' in target/linux/bcm47xx/base-files/etc/board.d/01_network Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* target: use SPDX license identifiers on MakefilesAdrian Schmutzler2021-02-102-8/+4
| | | | | | Use SPDX license tags to allow machines to check licenses. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* armvirt: README: rename it from LEDE to OpenWrtJosef Schlehofer2020-12-141-1/+1
| | | | Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
* armvirt/64: change it to cortex-a53 instead of genericJosef Schlehofer2020-12-141-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Package architecture aarch64_generic [1] can be used just with three devices. One is NanoPI R2S and then there are two development boards from NXP. Let's change armvirt/64 to Cortex A53 (aarch64_cortex-a53) [2]. It has wider support by multiple devices like NanoPI Neo Plus2/Core2, ESPRESSObin, Pine64, and Raspberry Pi 2&3. While looking at ARMvirt/32 it has set CPU_TYPE and CPU_SUBTYPE to be arm_cortex-a15_neon-vfpv4 [3]. It has support to devices like Linksys EA8500 v1, Linksys EA7500 v1, Netgear D7800, Netgear R7500 and so on. Tested with: qemu-system-aarch64 -m 1024 -smp 2 -cpu cortex-a57 -M virt -nographic \ -kernel openwrt-armvirt-64-Image-initramfs Successfully compiled and booted. Here goes the output: root@OpenWrt:/# uname -a Linux OpenWrt 5.4.82 #0 SMP Sun Dec 13 12:52:10 2020 aarch64 GNU/Linux root@OpenWrt:/# cat /etc/openwrt_release DISTRIB_ID='OpenWrt' DISTRIB_RELEASE='SNAPSHOT' DISTRIB_REVISION='r15207-96fca0f807' DISTRIB_TARGET='armvirt/64' DISTRIB_ARCH='aarch64_cortex-a53' DISTRIB_DESCRIPTION='OpenWrt SNAPSHOT r15207-96fca0f807' DISTRIB_TAINTS='no-all' Also, change BOARDNAME to be the same as it is in armvirt/32. [1] https://openwrt.org/docs/techref/instructionset/aarch64_generic [2] https://openwrt.org/docs/techref/instructionset/aarch64_cortex-a53 [3] https://openwrt.org/docs/techref/instructionset/arm_cortex-a15_neon-vfpv4 Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
* kernel: remove support for kernel 4.19Adrian Schmutzler2020-10-303-539/+0
| | | | | | | We use 5.4 on all targets by default, and 4.19 has never been released in a stable version. There is no reason to keep it. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: move CONFIG_F2FS_CHECK_FS to generic kernel configHauke Mehrtens2020-10-112-2/+0
| | | | Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Move CONFIG_F2FS_FS_SECURITY to generic kernel configHauke Mehrtens2020-10-112-2/+0
| | | | | | | Move the CONFIG_F2FS_FS_SECURITY kernel configuration option to the generic kernel configuration. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: move F2FS_FS_XATTR and F2FS_STAT_FS symbols to genericDaniel Golle2020-10-092-3/+0
| | | | | | | | Similar to how it was already done for other filesystems' *_FS_XATTR kernel config symbols, also move CONFIG_F2FS_FS_XATTR=y and CONFIG_F2FS_STAT_FS=y to target/linux/generic. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: clean up XATTR config symbolsPaul Spooren2020-10-091-1/+0
| | | | | | | | | | | | | Extended attributes are required for overlayfs and have hence been long ago enabled for jffs2, but should be enabled unconditionally for all other filesystems which may potentially serve as overlayfs' upper directory. Previously it was inconsistently added in multiple targets. Add symbols to generic kernel config and remove all *_XATTR symbols from target configs. Signed-off-by: Paul Spooren <mail@aparcar.org> [keep things as they are for squashfs, improve commit message] Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: set WATCHDOG_CORE dependency in kmod-hwmon-sch5627Adrian Schmutzler2020-08-241-1/+0
| | | | | | | | | | | | | | | | | | For many target we have added CONFIG_WATCHDOG_CORE=y to the target config due to the following error: Package kmod-hwmon-sch5627 is missing dependencies for the following libraries: watchdog.ko However, actually the proper way appears to be setting the dependency for the kmod-hwmon-sch5627 package, as the error message demands. Do this in this patch and remove the target config entries added due to this issue. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>