Floating point hardware.

SomeWhereOverTheRainBow

Part of the Furniture
No idea. Why do you ask?
Because the newer AX ARMv7 routers are able to run the ARMv7 binary for AdGuardHome, while the older kernel AC models that are ARMv7 require the ARMv5 binary due to the cpu lacking floating point hardware support.

I have ran the command

cat /proc/cpuinfo on some of the AC models and I dont see fp or vfp listed as supported features of the CPU as well.
 

sfx2000

Part of the Furniture
Because the newer AX ARMv7 routers are able to run the ARMv7 binary for AdGuardHome, while the older kernel AC models that are ARMv7 require the ARMv5 binary due to the cpu lacking floating point hardware support.

I was puzzled as to why they need hardware FPU support, then I saw the dependenices - node.js requires FP (this can be patched, BTW..)
 

sfx2000

Part of the Furniture
this can be patched, BTW

It's a kernel rebuild...
Code:
bcm4709 and bcm53xx
CONFIG_TARGET_BOARD="bcm53xx"
make kernel_menuconfig
-> Select Kernel Features
---> Unselect Use the ARM EABI to compile the kernel
(back top)
-> Select Floating point emulation
---> Select NWFPE math emulation
Not a wise choice, as this is an ABI change, and could lead to lots of breakage...
 

SomeWhereOverTheRainBow

Part of the Furniture
It's a kernel rebuild...
Code:
bcm4709 and bcm53xx
CONFIG_TARGET_BOARD="bcm53xx"
make kernel_menuconfig
-> Select Kernel Features
---> Unselect Use the ARM EABI to compile the kernel
(back top)
-> Select Floating point emulation
---> Select NWFPE math emulation
Not a wise choice, as this is an ABI change, and could lead to lots of breakage...
At that rate I would just be content using the ARMv5 binary which seems to offer the same level of functionality. I was just curious as to why a newer ARMv7 AX router supported the armv7 while the older AC ARMv7 routers didnt.

Ultimately this is answered by this pull request.


I appreciate your time and knowledge though.
 

RMerlin

Asuswrt-Merlin dev
I was puzzled as to why they need hardware FPU support, then I saw the dependenices - node.js requires FP (this can be patched, BTW..)
node.js is a dependency for a frigging DNS cacher/resolver? Sigh...
 

SomeWhereOverTheRainBow

Part of the Furniture
node.js is a dependency for a frigging DNS cacher/resolver? Sigh...
Apparently so.

1660877206250.png
 

sfx2000

Part of the Furniture
Interesting - it's actually go for armv7 that requires the FPU - node.js is also known to have issues with cores that don't support a hardware FPU (like MIPS 24kc, where I first found that dependency)
 

sfx2000

Part of the Furniture
I was just curious as to why a newer ARMv7 AX router supported the armv7 while the older AC ARMv7 routers didnt.

The HND based devices are Broadcom B53* armv8a cores, running mostly in 32-bit armv7a mode...

* B53 is Broadcom Brahma, not ARM Cortex A53 - the B53 is the 64-bit variant of B15, which is Broadcom's implementation similar to Cortex-A15..
 

Similar threads

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top