Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 81a48ee4 authored by Palmer Dabbelt's avatar Palmer Dabbelt Committed by Paul Walmsley
Browse files

RISC-V: Remove udivdi3



This should never have landed in the first place: it was added as part
of 64-bit divide support for 32-bit systems, but the kernel doesn't
allow this sort of division.  I must have forgotten to remove it.

This patch removes the support.  Since this routine only worked on
64-bit platforms but was only built on 32-bit platforms, it's
essentially just nonsense anyway.

Signed-off-by: default avatarPalmer Dabbelt <palmer@sifive.com>
Acked-by: default avatarNicolas Pitre <nico@fluxnic.net>
Link: https://lore.kernel.org/linux-riscv/nycvar.YSQ.7.76.1908061413360.19480@knanqh.ubzr/T/#t


Reported-by: default avatarEric Lin <tesheng@andestech.com>
Signed-off-by: default avatarPaul Walmsley <paul.walmsley@sifive.com>
parent 66cc016a
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -5,5 +5,3 @@ lib-y += memset.o
lib-y	+= uaccess.o

lib-$(CONFIG_64BIT) += tishift.o

lib-$(CONFIG_32BIT) += udivdi3.o

arch/riscv/lib/udivdi3.S

deleted100644 → 0
+0 −32
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (C) 2016-2017 Free Software Foundation, Inc.
 */

#include <linux/linkage.h>

ENTRY(__udivdi3)
	mv	a2, a1
	mv	a1, a0
	li	a0, -1
	beqz	a2, .L5
	li	a3, 1
	bgeu	a2, a1, .L2
.L1:
	blez	a2, .L2
	slli	a2, a2, 1
	slli	a3, a3, 1
	bgtu	a1, a2, .L1
.L2:
	li	a0, 0
.L3:
	bltu	a1, a2, .L4
	sub	a1, a1, a2
	or	a0, a0, a3
.L4:
	srli	a3, a3, 1
	srli	a2, a2, 1
	bnez	a3, .L3
.L5:
	ret
ENDPROC(__udivdi3)