diff options
author | James Hogan <jhogan@kernel.org> | 2017-10-24 13:07:54 +0100 |
---|---|---|
committer | James Hogan <jhogan@kernel.org> | 2018-02-22 11:07:21 +0000 |
commit | bb6fb6dfcc17cddac11ac295861f7608194447a7 (patch) | |
tree | 47ee071a415546dd01adbf628f61acb80473d476 /arch/metag/lib/div64.S | |
parent | 91ab883eb21325ad80f3473633f794c78ac87f51 (diff) |
metag: Remove arch/metag/
The earliest Meta architecture port of Linux I have a record of was an
import of a Meta port of Linux v2.4.1 in February 2004, which was worked
on significantly over the next few years by Graham Whaley, Will Newton,
Matt Fleming, myself and others.
Eventually the port was merged into mainline in v3.9 in March 2013, not
long after Imagination Technologies bought MIPS Technologies and shifted
its CPU focus over to the MIPS architecture.
As a result, though the port was maintained for a while, kept on life
support for a while longer, and useful for testing a few specific
drivers for which I don't have ready access to the equivalent MIPS
hardware, it is now essentially dead with no users.
It is also stuck using an out-of-tree toolchain based on GCC 4.2.4 which
is no longer maintained, now struggles to build modern kernels due to
toolchain bugs, and doesn't itself build with a modern GCC. The latest
buildroot port is still using an old uClibc snapshot which is no longer
served, and the latest uClibc doesn't build with GCC 4.2.4.
So lets call it a day and drop the Meta architecture port from the
kernel. RIP Meta.
Signed-off-by: James Hogan <jhogan@kernel.org>
Link: https://lkml.kernel.org/r/95906b76-6ce1-3f84-eaba-c29b4ae952eb@roeck-us.net
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Graham Whaley <graham.whaley@gmail.com>
Cc: linux-metag@vger.kernel.org
Diffstat (limited to 'arch/metag/lib/div64.S')
-rw-r--r-- | arch/metag/lib/div64.S | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/arch/metag/lib/div64.S b/arch/metag/lib/div64.S deleted file mode 100644 index 55eece273a6b..000000000000 --- a/arch/metag/lib/div64.S +++ /dev/null @@ -1,109 +0,0 @@ -! SPDX-License-Identifier: GPL-2.0 -! Copyright (C) 2012 Imagination Technologies Ltd. -! -! Signed/unsigned 64-bit division routines. -! - - .text - .global _div_u64 - .type _div_u64,function - -_div_u64: -$L1: - ORS A0.3,D1Ar3,D0Ar4 - BNE $L3 -$L2: - MOV D0Re0,D0Ar2 - MOV D1Re0,D1Ar1 - MOV PC,D1RtP -$L3: - CMP D1Ar3,D1Ar1 - CMPEQ D0Ar4,D0Ar2 - MOV D0Re0,#1 - MOV D1Re0,#0 - BHS $L6 -$L4: - ADDS D0Ar6,D0Ar4,D0Ar4 - ADD D1Ar5,D1Ar3,D1Ar3 - ADDCS D1Ar5,D1Ar5,#1 - CMP D1Ar5,D1Ar3 - CMPEQ D0Ar6,D0Ar4 - BLO $L6 -$L5: - MOV D0Ar4,D0Ar6 - MOV D1Ar3,D1Ar5 - ADDS D0Re0,D0Re0,D0Re0 - ADD D1Re0,D1Re0,D1Re0 - ADDCS D1Re0,D1Re0,#1 - CMP D1Ar3,D1Ar1 - CMPEQ D0Ar4,D0Ar2 - BLO $L4 -$L6: - ORS A0.3,D1Re0,D0Re0 - MOV D0Ar6,#0 - MOV D1Ar5,D0Ar6 - BEQ $L10 -$L7: - CMP D1Ar1,D1Ar3 - CMPEQ D0Ar2,D0Ar4 - BLO $L9 -$L8: - ADDS D0Ar6,D0Ar6,D0Re0 - ADD D1Ar5,D1Ar5,D1Re0 - ADDCS D1Ar5,D1Ar5,#1 - - SUBS D0Ar2,D0Ar2,D0Ar4 - SUB D1Ar1,D1Ar1,D1Ar3 - SUBCS D1Ar1,D1Ar1,#1 -$L9: - LSL A0.3,D1Re0,#31 - LSR D0Re0,D0Re0,#1 - LSR D1Re0,D1Re0,#1 - OR D0Re0,D0Re0,A0.3 - LSL A0.3,D1Ar3,#31 - LSR D0Ar4,D0Ar4,#1 - LSR D1Ar3,D1Ar3,#1 - OR D0Ar4,D0Ar4,A0.3 - ORS A0.3,D1Re0,D0Re0 - BNE $L7 -$L10: - MOV D0Re0,D0Ar6 - MOV D1Re0,D1Ar5 - MOV PC,D1RtP - .size _div_u64,.-_div_u64 - - .text - .global _div_s64 - .type _div_s64,function -_div_s64: - MSETL [A0StP],D0FrT,D0.5 - XOR D0.5,D0Ar2,D0Ar4 - XOR D1.5,D1Ar1,D1Ar3 - TSTT D1Ar1,#HI(0x80000000) - BZ $L25 - - NEGS D0Ar2,D0Ar2 - NEG D1Ar1,D1Ar1 - SUBCS D1Ar1,D1Ar1,#1 -$L25: - TSTT D1Ar3,#HI(0x80000000) - BZ $L27 - - NEGS D0Ar4,D0Ar4 - NEG D1Ar3,D1Ar3 - SUBCS D1Ar3,D1Ar3,#1 -$L27: - CALLR D1RtP,_div_u64 - TSTT D1.5,#HI(0x80000000) - BZ $L29 - - NEGS D0Re0,D0Re0 - NEG D1Re0,D1Re0 - SUBCS D1Re0,D1Re0,#1 -$L29: - - GETL D0FrT,D1RtP,[A0StP+#(-16)] - GETL D0.5,D1.5,[A0StP+#(-8)] - SUB A0StP,A0StP,#16 - MOV PC,D1RtP - .size _div_s64,.-_div_s64 |