powerpc: Provide __bswapdi2
Some versions of GCC apparently expect this to be provided by libgcc. Updates from Mikey to fix 32 bit version and adding "r" to registers. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: Michael Neuling <mikey@neuling.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
b2b48584df
commit
ca9d7aea59
3 changed files with 24 additions and 1 deletions
|
@ -657,6 +657,17 @@ _GLOBAL(__ucmpdi2)
|
|||
li r3,2
|
||||
blr
|
||||
|
||||
_GLOBAL(__bswapdi2)
|
||||
rotlwi r9,r4,8
|
||||
rotlwi r10,r3,8
|
||||
rlwimi r9,r4,24,0,7
|
||||
rlwimi r10,r3,24,0,7
|
||||
rlwimi r9,r4,24,16,23
|
||||
rlwimi r10,r3,24,16,23
|
||||
mr r3,r9
|
||||
mr r4,r10
|
||||
blr
|
||||
|
||||
_GLOBAL(abs)
|
||||
srawi r4,r3,31
|
||||
xor r3,r3,r4
|
||||
|
|
|
@ -234,6 +234,17 @@ _GLOBAL(__flush_dcache_icache)
|
|||
isync
|
||||
blr
|
||||
|
||||
_GLOBAL(__bswapdi2)
|
||||
srdi r8,r3,32
|
||||
rlwinm r7,r3,8,0xffffffff
|
||||
rlwimi r7,r3,24,0,7
|
||||
rlwinm r9,r8,8,0xffffffff
|
||||
rlwimi r7,r3,24,16,23
|
||||
rlwimi r9,r8,24,0,7
|
||||
rlwimi r9,r8,24,16,23
|
||||
sldi r7,r7,32
|
||||
or r3,r7,r9
|
||||
blr
|
||||
|
||||
#if defined(CONFIG_PPC_PMAC) || defined(CONFIG_PPC_MAPLE)
|
||||
/*
|
||||
|
|
|
@ -143,7 +143,8 @@ EXPORT_SYMBOL(__lshrdi3);
|
|||
int __ucmpdi2(unsigned long long, unsigned long long);
|
||||
EXPORT_SYMBOL(__ucmpdi2);
|
||||
#endif
|
||||
|
||||
long long __bswapdi2(long long);
|
||||
EXPORT_SYMBOL(__bswapdi2);
|
||||
EXPORT_SYMBOL(memcpy);
|
||||
EXPORT_SYMBOL(memset);
|
||||
EXPORT_SYMBOL(memmove);
|
||||
|
|
Loading…
Reference in a new issue