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

Commit 7a332b0c authored by Anton Blanchard's avatar Anton Blanchard Committed by Benjamin Herrenschmidt
Browse files

powerpc: Use generic checksum code in little endian



We need to fix some endian issues in our checksum code. For now
just enable the generic checksum routines for little endian builds.

Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent 52055d07
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -139,6 +139,9 @@ config PPC
	select OLD_SIGACTION if PPC32
	select HAVE_DEBUG_STACKOVERFLOW

config GENERIC_CSUM
	def_bool CPU_LITTLE_ENDIAN

config EARLY_PRINTK
	bool
	default y
+5 −0
Original line number Diff line number Diff line
@@ -14,6 +14,9 @@
 * which always checksum on 4 octet boundaries.  ihl is the number
 * of 32-bit words and is always >= 5.
 */
#ifdef CONFIG_GENERIC_CSUM
#include <asm-generic/checksum.h>
#else
extern __sum16 ip_fast_csum(const void *iph, unsigned int ihl);

/*
@@ -123,5 +126,7 @@ static inline __wsum csum_tcpudp_nofold(__be32 saddr, __be32 daddr,
	return sum;
#endif
}

#endif
#endif /* __KERNEL__ */
#endif
+2 −0
Original line number Diff line number Diff line
@@ -79,10 +79,12 @@ EXPORT_SYMBOL(strlen);
EXPORT_SYMBOL(strcmp);
EXPORT_SYMBOL(strncmp);

#ifndef CONFIG_GENERIC_CSUM
EXPORT_SYMBOL(csum_partial);
EXPORT_SYMBOL(csum_partial_copy_generic);
EXPORT_SYMBOL(ip_fast_csum);
EXPORT_SYMBOL(csum_tcpudp_magic);
#endif

EXPORT_SYMBOL(__copy_tofrom_user);
EXPORT_SYMBOL(__clear_user);
+7 −2
Original line number Diff line number Diff line
@@ -10,15 +10,20 @@ CFLAGS_REMOVE_code-patching.o = -pg
CFLAGS_REMOVE_feature-fixups.o = -pg

obj-y			:= string.o alloc.o \
			   checksum_$(CONFIG_WORD_SIZE).o crtsavres.o
			   crtsavres.o
obj-$(CONFIG_PPC32)	+= div64.o copy_32.o
obj-$(CONFIG_HAS_IOMEM)	+= devres.o

obj-$(CONFIG_PPC64)	+= copypage_64.o copyuser_64.o \
			   memcpy_64.o usercopy_64.o mem_64.o string.o \
			   checksum_wrappers_64.o hweight_64.o \
			   hweight_64.o \
			   copyuser_power7.o string_64.o copypage_power7.o \
			   memcpy_power7.o
ifeq ($(CONFIG_GENERIC_CSUM),)
obj-y			+= checksum_$(CONFIG_WORD_SIZE).o
obj-$(CONFIG_PPC64)	+= checksum_wrappers_64.o
endif

obj-$(CONFIG_PPC_EMULATE_SSTEP)	+= sstep.o ldstfp.o

ifeq ($(CONFIG_PPC64),y)