coreboot/payloads/libpayload/include
Julius Werner 02a2fe7907 Merge coreboot and libpayload <endian.h> into commonlib
We've accumulated a number of endianness-handling and related macros
that are duplicated between coreboot and libpayload. This patch reduces
duplication by merging them into a commonlib header. This has the added
side-benefit of bringing the coreboot implementation of beXXenc/dec()
functions to libpayload, which lead to better code generation by
avoiding https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92716.

Keep the htobell()-style functions in libpayload only since they're not
needed in coreboot and not preferred. Keep the cpu_to_beXX()-style
functions in coreboot only -- maybe we should deprecate those
eventually.

This patch is explicitly copying and relicensing some of the code I
originally added as GPLv2 in commit e8e92d60c4 ("endian.h: Add
be32dec/be32enc family of functions") to BSD-3.

Change-Id: I5eb83d44a98b3aa59bba65b8e22df668874d2668
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/90308
Reviewed-by: Maximilian Brune <maximilian.brune@9elements.com>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2025-12-11 08:43:16 +00:00
..
arm/arch payloads/libpayload: Add fast data types to types.h 2025-03-10 15:21:44 +00:00
arm64/arch libpayload: arm64: Fix asynchronous exception routing in payload 2025-11-25 16:49:56 +00:00
arpa
mock/arch payloads/libpayload: Add fast data types to types.h 2025-03-10 15:21:44 +00:00
pci
storage
sys
udc
usb
x86/arch payloads/libpayload: Add fast data types to types.h 2025-03-10 15:21:44 +00:00
archive.h
assert.h libpayload: Use __func__ instead of old __FUNCTION__ 2023-02-17 16:19:44 +00:00
boot_device.h
cbfs.h libpayload: Remove legacy CBFS API 2024-02-22 21:18:39 +00:00
cbfs_glue.h
cbgfx.h
coreboot_tables.h lib/edid_fill_fb: Add dual pipe flag to lb_framebuffer_flags 2025-11-18 07:37:20 +00:00
ctype.h
delay.h libpayload: Use Kconfig instead of weak symbol for arch_ndelay() 2025-05-22 19:27:30 +00:00
die.h treewide: Move stdlib.h to commonlib 2024-03-15 10:09:43 +00:00
endian.h Merge coreboot and libpayload <endian.h> into commonlib 2025-12-11 08:43:16 +00:00
errno.h
exception.h
fmap.h
fpmath.h
gdb.h
getopt.h
inttypes.h
kconfig.h
keycodes.h
libpayload.h libpayload: Include commonlib/helpers.h in libpayload.h for GPL builds 2024-03-25 08:23:35 +00:00
limits.h Revert "libpayload: Define UCHAR_MAX/CHAR_MIN/CHAR_MAX" 2025-10-14 09:58:49 +00:00
lp_vboot.h libpayload: Add vboot and reboot utility functions 2023-09-18 15:42:31 +00:00
lz4.h payloads/libpayload: Support legacy LZ4 compression format 2025-11-13 23:45:02 +00:00
lzma.h
malloc.h
multiboot_tables.h
panel.h
pci.h
queue.h
stdarg.h libpayload/include/stdarg.h: Add va_copy builtin 2023-08-17 16:46:07 +00:00
stdbool.h
stddef.h libpayload: Outsource delay function into own header 2023-08-24 13:35:02 +00:00
stdint.h libpayload: Add missing SIZE_MAX define 2024-08-19 23:20:00 +00:00
stdio.h
stdlib.h treewide: Move stdlib.h to commonlib 2024-03-15 10:09:43 +00:00
string.h libpayload: Use Kconfig for architecture memcpy, not weak symbols 2025-05-22 19:27:24 +00:00
strings.h libpayload: strings.h: Use builtin __ffs instead of included one 2023-03-07 17:11:05 +00:00
sysinfo.h libpayload: Add CBMEM_ID_MEMINFO to sysinfo 2025-11-22 18:55:00 +00:00
term.h
time.h
unistd.h
video_console.h
wchar.h