From de37109767b6b415778f34cbac196c8418f7e371 Mon Sep 17 00:00:00 2001 From: Julius Werner Date: Tue, 30 Jan 2024 16:51:05 -0800 Subject: lib: Move IP checksum to commonlib This patch moves the IP checksum algorithm into commonlib to prepare for it being shared with libpayload. The current implementation is ancient and pretty hard to read (and does some unnecessary questionable things like the type-punning stuff which leads to suboptimal code generation), so this reimplements it from scratch (that also helps with the licensing). This algorithm is prepared to take in a pre-calculated "wide" checksum in a machine-register-sized data type which is then narrowed down to 16 bits (see RFC 1071 for why that's valid). This isn't used yet (and the code will get optimized out), but will be used later in this patch series for architecture-specific optimization. Change-Id: Ic04c714c00439a17fc04a8a6e730cc2aa19b8e68 Signed-off-by: Julius Werner Reviewed-on: https://review.coreboot.org/c/coreboot/+/80251 Reviewed-by: Yidi Lin Tested-by: build bot (Jenkins) Reviewed-by: Jakub Czapiga --- src/include/ip_checksum.h | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 src/include/ip_checksum.h (limited to 'src/include') diff --git a/src/include/ip_checksum.h b/src/include/ip_checksum.h deleted file mode 100644 index 74a2f48a57..0000000000 --- a/src/include/ip_checksum.h +++ /dev/null @@ -1,8 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-only */ - -#ifndef IP_CHECKSUM_H -#define IP_CHECKSUM_H -unsigned long compute_ip_checksum(const void *addr, unsigned long length); -unsigned long add_ip_checksums(unsigned long offset, unsigned long sum, - unsigned long new); -#endif /* IP_CHECKSUM_H */ -- cgit v1.2.3