aboutsummaryrefslogtreecommitdiff
path: root/target/linux/armvirt
Commit message (Collapse)AuthorAge
* armsr: rename from armvirtMathew McBride2023-06-10
| | | | | | | | | | | | | | | | | | Now that the armvirt target supports real hardware, not just VMs, thanks to the addition of EFI, rename it to something more appropriate. 'armsr' (Arm SystemReady) was chosen after the name of the Arm standards program. The 32 and 64 bit targets have also been renamed armv7 and armv8 respectively, to allow future profiles where required (such as armv9). See https://developer.arm.com/documentation/102858/0100/Introduction for more information. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* armvirt: remove 5.15 configsMathew McBride2023-06-10
| | | | | | | | | | | armvirt was migrated to 6.1 as part of the EFI implementation. As we are renaming the target, there is no need to take the old kernel configs with us. See abcb30d ("armvirt: switch to kernel 6.1") for the previous change. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* armvirt: switch to kernel 6.1Mathew McBride2023-06-02
| | | | | | | The EFI implementation changes have only been applied to 6.1, so switch armvirt over to it. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* armvirt: 64: disable CONFIG_SMC91XMathew McBride2023-06-02
| | | | | | | | | The SMC91X family is a ISA-age Ethernet controller. I'm not particularly sure what it's doing in armvirt/64, as it's unlikely there is a QEMU or real hardware configuration that exists with it. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* armvirt: base-files: add tty0 to inittabMathew McBride2023-06-02
| | | | | | tty0 is the default console for devices with screens/framebuffers. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* armvirt: config changes required for framebuffer consoleMathew McBride2023-06-02
| | | | | | | | | These Kconfig options are required to get a screen console working with the VMware Fusion ARM (Apple Silicon) preview. They are likely to be the same for other Arm standard "desktop" hardware that may emerge. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* armvirt: package and select Rockchip DWMAC Ethernet driverMathew McBride2023-06-02
| | | | | | | | | | | | For devices that implement the "rockchip,*-gmac" compatible controller, including: - RK3328 - RK3399 - RK3568 - RK3588 - PX30 Signed-off-by: Mathew McBride <matt@traverse.com.au>
* armvirt: 64: add Allwinner A3/A83T/A64 (sun8i family) EthernetMathew McBride2023-06-02
| | | | | | | Add support for the dwmac (stmmac) variant used by Allwinner Arm64 boards. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* armvirt: 64: add Marvell (formerly Cavium) ThunderX series network driverMathew McBride2023-06-02
| | | | | | Based on working configuration supplied by Anton Antonov. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* armvirt: 64: Add storage support for qemu-sbsa platformAnton Antonov2023-06-02
| | | | | | | | | | 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
* armvirt: 64: Add NXP i.MX 8M Mini/Nano/Quad/Plus EVK supportAnton Antonov2023-06-02
| | | | | | | | 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]
* armvirt: 64: add support for other SystemReady-compatible vendorsMathew McBride2023-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* armvirt: add SFP support patches for NXP Layerscape DPAA2 platformsMathew McBride2023-06-02
| | | | | | | | | | | | | | | This series resolves a long term issue with Phylink and SFPs on DPAA2 hardware (LS1088,LS2088,LX2160) where a locking problem prevented the system from rebooting. Patches solving this issue existed prior to 6.2 but were not accepted upstream. See the original series on patchwork: https://patchwork.kernel.org/project/netdevbpf/cover/20221129141221.872653-1-vladimir.oltean@nxp.com/ And this thread on the Traverse forum: https://forum.traverse.com.au/t/reboot-command-regression-from-5-10-to-5-15-kernel/133/12 Signed-off-by: Mathew McBride <matt@traverse.com.au>
* armvirt: add options and driver modules for NXP Layerscape DPAA2 platformMathew McBride2023-06-02
| | | | | | Tested with a Traverse Technologies Ten64 (LS1088A) board. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* armvirt: add ACPI supportMathew McBride2023-06-02
| | | | | | | | | | 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>
* build: enable vmdk/vmware images for arm64 targetMathew McBride2023-06-02
| | | | | | This is useful for VMware's ARM64 products, e.g Fusion for M1/ARM Macs. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* armvirt: remove model name overrideMathew McBride2023-06-02
| | | | | | | 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>
* armvirt: set kernel partition as the EFI system partitionMathew McBride2023-06-02
| | | | | | | 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>
* armvirt: update README with new image namesMathew McBride2023-06-02
| | | | | | | | 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>
* armvirt: disable LD dead code elimination on ARM32Mathew McBride2023-06-02
| | | | | | | | 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>
* armvirt: add EFI supportMathew McBride2023-06-02
| | | | | | | | | | | | | 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>
* armvirt: 6.1: enable kernel for testingTony Ambardar2023-05-28
| | | | | | Build and run-tested on QEMU/armvirt32 and QEMU/armvirt64. Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* armvirt: 6.1: update kernel configsTony Ambardar2023-05-28
| | | | | | | | | | | | | | | | | | | | The following new common symbols are defined: CONFIG_ARCH_FORCE_MAX_ORDER=11 # CONFIG_NET_9P_FD is not set Removed symbols for armvirt/32 include: CONFIG_ARM_CRYPTO=y New symbols for armvirt/64 include: CONFIG_ARM64_SME=y CONFIG_CRYPTO_POLYVAL_ARM64_CE=y # CONFIG_CRYPTO_SM4_ARM64_CE_BLK is not set # CONFIG_CRYPTO_SM4_ARM64_NEON_BLK is not set Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* armvirt: 6.1: copy config from kernel 5.15Tony Ambardar2023-05-28
| | | | | | Copy config files for kernel 5.15 to kernel 6.1. Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* kernel: enable (ARM|ARM64)_MODULE_PLTS in generic configTony Ambardar2023-05-23
| | | | | | | | | | | | | | | | | | | 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>
* treewide: remove files for building 5.10 kernelNick Hainke2023-05-12
| | | | | | | | | | | 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-10
| | | | | | | 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-10
| | | | | | 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-21
| | | | | | | | | | | | | | | | | | | | | | | | | 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-14
| | | | | | 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-10
| | | | | | | | 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-24
| | | | | | | | | | | | 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-07
| | | | | | | | | | | | 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-09
| | | | | | 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-09
| | | | | | | 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-09
| | | | | | | | 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-09
| | | | | | Copy config files from 5.10. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
* armvirt: refresh 5.10 configAleksander Jan Bajkowski2022-04-09
| | | | | | | | 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-17
| | | | | | | | | | | | | | | | | | | | | | 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-17
| | | | | | | | 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-12
| | | | | | | | | | | | | 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-02
| | | | | | | 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-01
| | | | | | | | | | | | 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-29
| | | | | | | 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-21
| | | | | | | | 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-03
| | | | | | | 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-03
| | | | | | | | | | 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-03
| | | | | | 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-03
| | | | | | | | 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-19
| | | | | | Move some disabled symbols found in armvirt target to generic. Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>