mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-03-02 03:37:19 +07:00
[S390] add __ucmpdi2() helper function
Provide __ucmpdi2() helper function on 31 bit so we don't run again and again in compile errors like this one: kernel/built-in.o: In function `T.689': perf_counter.c:(.text+0x56c86): undefined reference to `__ucmpdi2' Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
2651fa2bcb
commit
5075baca2e
@ -3,6 +3,6 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
lib-y += delay.o string.o uaccess_std.o uaccess_pt.o
|
lib-y += delay.o string.o uaccess_std.o uaccess_pt.o
|
||||||
obj-$(CONFIG_32BIT) += div64.o qrnnd.o
|
obj-$(CONFIG_32BIT) += div64.o qrnnd.o ucmpdi2.o
|
||||||
lib-$(CONFIG_64BIT) += uaccess_mvcos.o
|
lib-$(CONFIG_64BIT) += uaccess_mvcos.o
|
||||||
lib-$(CONFIG_SMP) += spinlock.o
|
lib-$(CONFIG_SMP) += spinlock.o
|
||||||
|
26
arch/s390/lib/ucmpdi2.c
Normal file
26
arch/s390/lib/ucmpdi2.c
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
#include <linux/module.h>
|
||||||
|
|
||||||
|
union ull_union {
|
||||||
|
unsigned long long ull;
|
||||||
|
struct {
|
||||||
|
unsigned int high;
|
||||||
|
unsigned int low;
|
||||||
|
} ui;
|
||||||
|
};
|
||||||
|
|
||||||
|
int __ucmpdi2(unsigned long long a, unsigned long long b)
|
||||||
|
{
|
||||||
|
union ull_union au = {.ull = a};
|
||||||
|
union ull_union bu = {.ull = b};
|
||||||
|
|
||||||
|
if (au.ui.high < bu.ui.high)
|
||||||
|
return 0;
|
||||||
|
else if (au.ui.high > bu.ui.high)
|
||||||
|
return 2;
|
||||||
|
if (au.ui.low < bu.ui.low)
|
||||||
|
return 0;
|
||||||
|
else if (au.ui.low > bu.ui.low)
|
||||||
|
return 2;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(__ucmpdi2);
|
Loading…
Reference in New Issue
Block a user