[Solved] Target vs Architecture

Hi all.
I am running LEDE v17.01.4 on a TP-Link TL-WDR3600 v1.
From command line I can see the "cpu model" is a "MIPS 74Kc V4.12":

# cat /proc/cpuinfo | grep model -e model -e system
system type             : Atheros AR9344 rev 2
cpu model               : MIPS 74Kc V4.12

The software packages are being pulled from "mips_24kc" repository.

# cat ./etc/opkg/distfeeds.conf
src/gz reboot_core http://downloads.lede-project.org/releases/17.01.4/targets/ar71xx/generic/packages
src/gz reboot_base http://downloads.lede-project.org/releases/17.01.4/packages/mips_24kc/base
src/gz reboot_luci http://downloads.lede-project.org/releases/17.01.4/packages/mips_24kc/luci
src/gz reboot_packages http://downloads.lede-project.org/releases/17.01.4/packages/mips_24kc/packages
src/gz reboot_routing http://downloads.lede-project.org/releases/17.01.4/packages/mips_24kc/routing
src/gz reboot_telephony http://downloads.lede-project.org/releases/17.01.4/packages/mips_24kc/telephony

The available architecture that could match are:

  • mips_24kc
  • mipsel_24kc
  • mipsel_74kc

Is my configuration correct?
If not, what'd be the right one?


Correct one should be mips_24kc

Which information is your answer based on?

One that LEDE uses that architecture for ar71xx.

Unless explicitely overridden, PKGARCH defaults to $(ARCH)_$(CPU_TYPE). The ar71xx target declares ARCH:=mips and CPU_TYPE:=24kc and no explicit ARCH_PACKAGES so it will expect packages to belong to the mips_24kc architecture.

Thanks for the insight.

MIPS74 processors found in some AR71XX chips (but not most) are backward compatible to run MIPS24 code, so everything is compiled for 24. However the "el" version means little-endian which is not compatible with the non "el" big endian.

That's interesting!
But it sounds weird to me that a little endian architecture has a "specialized" version, while the big endian one relies on backwards compatibility!

There was discussion on the mailing list about it a while back, it kind of boiled down to the gains for using 74kc optimisations being minimal compared to 24kc on ar71xx.

While it made fully sense for the little endian variant...
I am really and genuinely puzzled!