[LEDE-DEV] [PATCH 0/4] MIPS: switch from 34kc/1004kc to 24kc

Jonas Gorski jonas.gorski at gmail.com
Sun Aug 21 10:23:09 PDT 2016


GCC treats both 34Kc and 1004Kc as aliases for 24Kc, and will generate
identical code for all three.

Exhibit a)
In gcc/gcc/config/mips-cpus.def, they are treated as equal:

 ...
 MIPS_CPU ("24kc", PROCESSOR_24KC, 33, 0)
 ...
 MIPS_CPU ("34kc", PROCESSOR_24KC, 33, 0) /* 34K with MT/DSP.  */
 ...
 MIPS_CPU ("1004kc", PROCESSOR_24KC, 33, 0) /* 1004K with MT/DSP.  */
 ...

All three use the same PROCESSOR_ name and the same ISA level (33). All
GCC code then uses the PROCESSOR_* value for instruction scheduling.

Exhibit b)
For comparision, I built openssl with malta_be (24k) and ar71xx (34k),
then let objdump disassable the generated binaries.

The diff is as follows:

|  --- 24k/crypto.txt      2016-08-21 18:17:45.000000000 +0200
|  +++ 34k/crypto.txt      2016-08-21 18:17:57.000000000 +0200
|  @@ -1,5 +1,5 @@
|
| -./staging_dir/target-mips_24kc_musl-1.1.15/root-malta/usr/lib/libcrypto.so.1.0.0:     file format elf32-tradbigmips
| +./staging_dir/target-mips_34kc_musl-1.1.15/root-ar71xx/usr/lib/libcrypto.so.1.0.0:     file format elf32-tradbigmips
|
|
| Disassembly of section .init:
| (END)

So switch everything from 34kc/1004kc to 24Kc and eliminate two more
package feeds, mips_34kc and mipsel_1004kc.

Only compile tested, due to lack of devices.

Jonas Gorski (4):
  ar71xx: switch to 24kc
  lantiq: switch from 34k to 24k
  include: remove 34k distinction
  ramips: mt7621: switch to 24kc

 include/target.mk                         | 2 --
 target/linux/ar71xx/Makefile              | 2 +-
 target/linux/lantiq/xrx200/target.mk      | 2 +-
 target/linux/lantiq/xway/target.mk        | 2 +-
 target/linux/lantiq/xway_legacy/target.mk | 2 +-
 target/linux/ramips/mt7621/target.mk      | 2 +-
 6 files changed, 5 insertions(+), 7 deletions(-)

-- 
2.1.4




More information about the Lede-dev mailing list