Server IP : 15.235.198.142 / Your IP : 216.73.216.154 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ballsack 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/src/linux-headers-6.8.0-45/arch/csky/include/asm/ |
Upload File : |
/* SPDX-License-Identifier: GPL-2.0 */ #ifndef __ASM_CSKY_CHECKSUM_H #define __ASM_CSKY_CHECKSUM_H #include <linux/in6.h> #include <asm/byteorder.h> static inline __sum16 csum_fold(__wsum csum) { u32 tmp; asm volatile( "mov %1, %0\n" "rori %0, 16\n" "addu %0, %1\n" "lsri %0, 16\n" : "=r"(csum), "=r"(tmp) : "0"(csum)); return (__force __sum16) ~csum; } #define csum_fold csum_fold static inline __wsum csum_tcpudp_nofold(__be32 saddr, __be32 daddr, unsigned short len, unsigned short proto, __wsum sum) { asm volatile( "clrc\n" "addc %0, %1\n" "addc %0, %2\n" "addc %0, %3\n" "inct %0\n" : "=r"(sum) : "r"((__force u32)saddr), "r"((__force u32)daddr), #ifdef __BIG_ENDIAN "r"(proto + len), #else "r"((proto + len) << 8), #endif "0" ((__force unsigned long)sum) : "cc"); return sum; } #define csum_tcpudp_nofold csum_tcpudp_nofold #include <asm-generic/checksum.h> #endif /* __ASM_CSKY_CHECKSUM_H */