lib/checksum.c: make do_csum optional
Mike Frysinger suggested that do_csum should be optional so that an architecture can use the generic checksum code but still provide an optimized fast-path for the most critical function. This can mean an implementation using inline assembly, or in case of Alpha one using 64-bit arithmetic in C. Cc: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Родитель
c44ba9f668
Коммит
20c1f641bb
|
@ -37,6 +37,7 @@
|
|||
|
||||
#include <asm/byteorder.h>
|
||||
|
||||
#ifndef do_csum
|
||||
static inline unsigned short from32to16(unsigned int x)
|
||||
{
|
||||
/* add up 16-bit and 16-bit for 16+c bit */
|
||||
|
@ -102,6 +103,7 @@ static unsigned int do_csum(const unsigned char *buff, int len)
|
|||
out:
|
||||
return result;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* This is a version of ip_compute_csum() optimized for IP headers,
|
||||
|
|
Загрузка…
Ссылка в новой задаче