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 c3151b6f04)
Tested with a Traverse Technologies Ten64 (LS1088A) board.
Signed-off-by: Mathew McBride <matt@traverse.com.au>
(23.05/5.15 version of commit 54bb95f879)
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/
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 cb3bbbf00c)
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 f899e0e024)
The nominal partition type for EFI boot partitions is FAT32,
which has a minimum size of 32MiB on a 512-byte-sector block device.
To ensure that the boot partition is created as FAT32 set a size
well above this minimum.
A useful discussion about EFI partition sizes can be found here:
https://superuser.com/questions/1310927/what-is-the-absolute-minimum-size-a-uefi-system-partition-can-be
I have found 128MiB works pretty consistently across both
tools (mkfs.fat) and firmwares (EDKII)
Signed-off-by: Mathew McBride <matt@traverse.com.au>
(cherry picked from commit 71e56b2ff1)
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 3d99314569)
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 9a76b99c1b)
The use case for this is to set the kernel partition as the
EFI system partition. Versions of U-Boot with the
EFI boot manager (eficonfig and efidebug commands) will
store their boot order data on the ESP.
Signed-off-by: Mathew McBride <matt@traverse.com.au>
(cherry picked from commit 701d774f54)
This adds a separate package for EFI on Arm SystemReady
compatible machines. 32-bit Arm UEFI is supported as well.
It is very similar to x86-64 EFI setup, without the
need for BIOS backward compatibility and slightly
different default modules.
Signed-off-by: Mathew McBride <matt@traverse.com.au>
(cherry picked from commit 8f29b1573d)
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 97c5d317f5)
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 eb0e61285d)
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 e0f06ddc23)
Having initramfs image built with same config as on buildbots:
CONFIG_TARGET_MULTI_PROFILE=y
CONFIG_TARGET_ALL_PROFILES=y
CONFIG_TARGET_PER_DEVICE_ROOTFS=y
Its currently impossible to flash/recover the device using that image as
losetup is missing:
root@OpenWrt:/# sysupgrade -v /tmp/openwrt-ipq807x-generic-prpl_haze-squashfs-sysupgrade.bin
...
/lib/upgrade/do_stage2: line 38: losetup: not found
Failed to detach all loop devices. Skip this try.
So lets fix it by including the needed utils for sysupgrade in
DEFAULT_PACKAGES set.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit 07fe8bc62a)
Contains following updates:
* ipq8074: update RegDB in new submitted BDF
* Revert "ipq8074: update RegDB in new submitted BDF"
* qcn9074: update RegDB in new submitted BDF
* ipq8074: update RegDB in new submitted BDF
* qca-wireless: ipq40xx: add BDFs for ZTE MF287+
* Add BDFs for prpl Foundation Haze board
Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit c2bb9f055b)
BLOCKSIZE and PAGESIZE seems to be unused on qnap_301w and zyxel_nbg7815
device which use eMMC storage.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit fdea7cb617)
Rename the list of programs installed by coreutils
to PKG_PROGRAMS, which will create a stampfile for each
through a new feature in host-build.mk.
Also, cleanup a bit to save lines
regarding the usage of this list.
Signed-off-by: Michael Pratt <mcpratt@pm.me>
(cherry picked from commit 14a85d929b)
Define the variable PKG_PROGRAMS for the list
of programs installed by findutils,
which will create a stampfile for each
through a new feature in host-build.mk.
Signed-off-by: Michael Pratt <mcpratt@pm.me>
(cherry picked from commit 04053e3f20)
Some individual build items install a group of programs
instead of a program matching the name of the build item.
Add support for installing stampfiles for each of the
programs installed by that build item,
which will allow more control and awareness
of what is installed by the rest of the build system,
if, for example, prereq symlink checks are looking
for the same program which is built already.
Signed-off-by: Michael Pratt <mcpratt@pm.me>
(cherry picked from commit 84f7a45e9e)
Some programs installed to staging_dir/host/bin
also install some symlinks to itself
for an alternative name.
Some of those new symlinks are overwriting
symlinks that were installed by prereq stage.
If prereq stage were to somehow be run again,
it should not be overwriting symlinks
that point to programs that are already built.
To filter that out, catch all symlinks
after first catching all symlinks
that have an absolute target
after all other cases in the case statement,
make sure it is not broken, and if so exit successfully.
Suggested-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Signed-off-by: Michael Pratt <mcpratt@pm.me>
(cherry picked from commit b890e2fbf9)
Some programs, like bash and patch, are checked by prereq stage
and have a symlink installed, but then is later built from source.
Now that the prereq-build checks are not successful
just by finding the file alone, it is possible for
a new symlink to overwrite the installed binary.
If a normal file is found in staging_dir/host/bin,
let the check look for the associated stampfile, and if found,
skip creation of a symlink and exit successfully.
Suggested-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Signed-off-by: Michael Pratt <mcpratt@pm.me>
(cherry picked from commit 729909c07f)
In the recipe SetupHostCommand for checking
and creating symlinks, $PATH was only overridden
for one of several commands.
This causes the symlinks to be included
in the paths to pick a program from
when the check was repeated, because
staging_dir/host/bin was included in $PATH,
but only *sometimes*.
When the check ran again, the command succeded
with a $PATH including the symlink,
(eval "$$$$$$$$cmd")
while the path to the program was evaluated
with a $PATH NOT including the symlink,
(bin=...)
causing the symlink to be relinked incorrectly,
instead of passing as exactly the same.
Coincidentally, this was only a problem
if the symlink targeted the alternative
program with a different name.
By overriding the value of $PATH at the invocation of Make,
it will apply to the entire environment of the checks.
Signed-off-by: Michael Pratt <mcpratt@pm.me>
(cherry picked from commit 665fe2f818)
Add a variable that stores the original value of $PATH
in the host system's shell, before Make alters it.
This can be useful for when it is necessary
to ignore symlinks and programs made by the build system.
Define this new variable before all instances of
'export PATH:=' or similar.
Signed-off-by: Michael Pratt <mcpratt@pm.me>
(cherry picked from commit d87a8aa148)
Currently kernel crashes when of_phy_connect has issues:
Unable to handle kernel access to user memory outside uaccess routines at virtual address 0000000000000308
...
pc : phy_attached_print+0x28/0x1b0
lr : phy_attached_info+0x14/0x20
...
Call trace:
phy_attached_print+0x28/0x1b0
phy_attached_info+0x14/0x20
nss_dp_adjust_link+0x544/0x6c4 [qca_nss_dp]
of_phy_connect returns either pointer or NULL, so can't be checked with
IS_ERR macro.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit 38c7cf0e69)
b09b316aeaf6 blobmsg: add blobmsg_parse_attr function
eac92a4d5d82 blobmsg: add blobmsg_parse_array_attr
ef5e8e38bd38 usock: fix poll return code check
6fc29d1c4292 jshn.sh: Add pretty-printing to json_dump
5893cf78da40 blobmsg: Don't do at run-time what can be done at compile-time
362951a2d96e uloop: fix uloop_run_timeout
75a3b870cace uloop: add support for integrating with a different event loop
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit b6e0a24c49)
412d03012f13 network: prevent adding endpoint routes for addresses on the network
faaf9cee6ef4 utils: fix ipv4 checksum issue
0e1c2fad3540 pex-msg: fix memory leak on fread fail in pex_msg_update_request_init
51be0ed659d0 host: fix crash parsing gateway when no endpoint is specified
ca17601dc24e wg-linux: add support for splitting netlink messages for allowed ips
7d3986b7a5a2 wg-linux: increase default messages size
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 7b1e898336)
Synchronize the ath11k backports with the current ath-next tree.
This introduces support for MBSSID and EMA, adds factory test mode and
some new HTT stats.
Tested-by: Francisco G Luna <frangonlun@gmail.com>
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit acde5271a6)
Backport EMA beacon support from kernel 6.4.
It is required for MBSSID/EMA suport in ath11k that will follow.
Tested-by: Francisco G Luna <frangonlun@gmail.com>
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 84b5735b4c)
One is never to write to dev->addr directly. In 6.1 it will be a const and
with the newly enabled WERROR, we get a failing grade.
Lets fix this ahead of time.
Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
(cherry picked from commit d881f65da1)
We are missing a bunch of headers, which trigger errors on 6.1, probably
due to changed header-in-header dependencies. Best add them now.
Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
(cherry picked from commit 9fb1dbb1df)
Upstream DSA driver is exporting symbols with the same name as our
downstream swconfig driver, so lets rename the downstream symbols to make
them unique and avoid the conflict on 6.1 kernel.
Without this change, building 6.1 with kmod-switch-bcm53xx would conflict
with the B53 DSA driver and CI would fail.
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit effccdd444)
The MDIO bus multiplexing framework is used by some drivers
such as dwmac-sun8i.
As this is a per-driver requirement, set it to be hidden in the menu.
Signed-off-by: Mathew McBride <matt@traverse.com.au>
(cherry picked from commit 2dbeb60725)
When the split was done, the case for testing kernel version wasn't
handled and only the to-be-compiled kernel version details files was
included. This cause the kernel Linux-Testing-Version output from
makefile target DUMP to report only the kernel version without the minor
version (example 6.1 instead of 6.1.29).
This value is expected with the full kernel version and this cause the
dump-target-info.pl script to not correctly identify if a target have a
testing kernel for the kernels calls.
Fix this regression by correctly including the kernel details files if
the target declare support for a testing kernel version.
Fixes: 0765466a42 ("kernel: split kernel version to dedicated files")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 595608eb3f)
The Comtrend AR-5381u is a wifi fast ethernet router, 2.4 GHz single band with
two internal antennas.
Hardware:
- SoC: Broadcom BCM6328
- CPU: single core BMIPS4350 @ 320Mhz
- RAM: 64 MB DDR
- Flash: 16 MB SPI NOR
- Ethernet LAN: 4x 100Mbit
- Wifi 2.4 GHz: miniPCI Broadcom BCM43225 802.11bgn
- USB: 1x 2.0
- Buttons: 1x (reset)
- LEDs: yes
- UART: yes
Installation via CFE web UI:
1. Power off the router.
2. Press reset button near the power switch.
3. Keep it pressed while powering up during ~20+ seconds.
4. Browse to http://192.168.1.1 and upload the firmware.
5. Wait a few minutes for it to finish.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit bcdf861519)
source.codeaurora.org project has been shut down and the nxp
repositories has been moved to github. Update the repository
link to the new location.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 0a1ee53235)
source.codeaurora.org project has been shut down and the nxp
repositories has been moved to github. Update the repository
link to the new location.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 52fd8d8ba3)
source.codeaurora.org project has been shut down and the nxp
repositories has been moved to github. Update the link reference to the
new location.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 52d86ac6eb)
The Comtrend WAP-5813n is a wifi gigabit router, 2.4 GHz single band with
two external antennas.
Hardware:
- SoC: Broadcom BCM6369
- CPU: dual core BMIPS4350 @ 400Mhz
- RAM: 64 MB DDR
- Flash: 8 MB parallel NOR
- LAN switch: Broadcom BCM53115, 5x 1Gbit
- Wifi 2.4 GHz: miniPCI Broadcom BCM4322 802.11bgn
- USB: 1x 2.0 (optional)
- Buttons: 3x (reset)
- LEDs: yes
- UART: yes
Installation via CFE web UI:
1. Power off the router.
2. Press reset button near the power switch.
3. Keep it pressed while powering up during ~20+ seconds.
4. Browse to http://192.168.1.1 and upload the firmware.
5. Wait a few minutes for it to finish.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit c3b1ef2dfd)
move wan port to gmac1 to achieve 2Gbps CPU bandwidth between wan and
lan on YunCore FAP-640
Signed-off-by: Volodymyr Puiul <volodymyr.puiul@gmail.com>
(cherry picked from commit 47c2d50c03)
The Comtrend VR-3025un is a wifi gigabit router, 2.4 GHz single band with
two external antennas.
Hardware:
- SoC: Broadcom BCM6368
- CPU: dual core BMIPS4350 @ 400Mhz
- RAM: 64 MB DDR
- Flash: 8 MB parallel NOR
- Ethernet LAN: 4x 100Mbit
- Wifi 2.4 GHz: miniPCI Broadcom BCM43222 802.11bgn
- USB: 1x 2.0
- Buttons: 1x (reset)
- LEDs: yes
- UART: yes
Installation via CFE web UI:
1. Power off the router.
2. Press reset button near the antenna.
3. Keep it pressed while powering up during ~20+ seconds.
4. Browse to http://192.168.1.1 and upload the firmware.
5. Wait a few minutes for it to finish.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 3baa45fbd8)
Align all the device tree files and follow the same criteria before more
devices are ported from bcm63xx and this goes out of control.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
The Netgear EVG2000 is a wifi gigabit router, 2.4 GHz single band with
two internal antennas integrated in the main PCB.
Hardware:
- SoC: Broadcom BCM6369
- CPU: dual core BMIPS4350 V3.1 @400Mhz
- RAM: 64 MB DDR
- Flash: 16 MB parallel NOR
- LAN switch: Broadcom BCM53115, 5x 1Gbit
- Wifi 2.4 GHz: Broadcom BCM4322 802.11bgn
- USB: 2x 2.0
- Buttons: 2x, 1 reset
- LEDs: 10x
- FXS: 2x
- UART: yes
Installation via CFE web UI:
1. Power off the router and make a temporal TX-RX shortcircuit on the
serial pins.
2. Power on the router and wait 3 or more seconds
3. Remove the TX-RX shortcircuit
4. Browse to http://192.168.1.1 or http://192.168.0.1 and upload the
firmware
5. Wait a few minutes for it to finish
Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
The network configuration at first boot for TOZED ZLT S12 PRO lacks setting
up the LAN and WAN network interfaces. Address this. The WAN port is
advertised as WAN/LAN on the device and is put on LAN on stock firmware so
put it on LAN here as well.
Fixes: ce1f9fa625 ("ramips: add support for TOZED ZLT S12 PRO")
Reported-by: Andre Cruz <me@1conan.com>
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
(cherry picked from commit b61253f92a)
Instead of reference vlan and do strange subtraction, use the handy
struct_group() to create a virtual struct of the same size of the
members. This permits to have a more secure memset and fix compilation
warning in 6.1 where additional checks are done.
Fix compilation warning:
| inlined from 'psb6970_reset_switch' at drivers/net/phy/psb6970.c:275:2:
| ./include/linux/fortify-string.h:314: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]
| 314 | __write_overflow_field(p_size_field, size);
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|cc1: all warnings being treated as errors
Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
(cherry picked from commit d69becd307)