coreboot/payloads/libpayload/include
Subrata Banik afa39105d8 libpayload: Add x86_64 (64-bit) support
This patch introduces x86_64 (64-bit) support to the payload, building
upon the existing x86 (32-bit) architecture. Files necessary for 64-bit
compilation are now guarded by the `CONFIG_LP_ARCH_X86_64` Kconfig
option.

BUG=b:242829490
TEST=Able to verify all valid combinations between coreboot and
payload with this patch.

Payload Entry Point Behavior with below code.

+----------------+--------------------+----------------------------+
| LP_ARCH_X86_64 | Payload Entry Mode | Description                |
+----------------+--------------------+----------------------------+
| No             | 32-bit             | Direct protected mode init |
+----------------+--------------------+----------------------------+
| Yes            | 32-bit             | Protected to long mode     |
+----------------+--------------------+----------------------------+
| Yes            | 64-bit             | Long mode initialization   |
+----------------+--------------------+----------------------------+

Change-Id: I69fda47bedf1a14807b1515c4aed6e3a1d5b8585
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/81968
Reviewed-by: Julius Werner <jwerner@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-05-26 01:26:31 +00:00
..
arm/arch libpayload: Fix guards in include/{arm,arm64,x86}/arch/barrier.h 2022-05-16 06:55:06 +00:00
arm64/arch libpayload: Fix guards in include/{arm,arm64,x86}/arch/barrier.h 2022-05-16 06:55:06 +00:00
arpa treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
mock/arch tests: Move x86 I/O functions to include/mock/arch/io.h 2021-11-04 15:07:38 +00:00
pci libpayload/storage: Add NVMe driver 2021-04-07 10:58:04 +00:00
storage libpayload/storage: Add NVMe driver 2021-04-07 10:58:04 +00:00
sys treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
udc treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
usb libpayload/usb: Add format string checking to usb_debug 2020-11-22 22:34:55 +00:00
x86/arch libpayload: Add x86_64 (64-bit) support 2024-05-26 01:26:31 +00:00
archive.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
assert.h libpayload: Use __func__ instead of old __FUNCTION__ 2023-02-17 16:19:44 +00:00
boot_device.h libpayload: Add boot_device_read() function 2021-12-10 17:56:34 +00:00
cbfs.h libpayload: Remove legacy CBFS API 2024-02-22 21:18:39 +00:00
cbfs_glue.h cbfs/vboot: Adapt to new vb2_digest API 2022-09-02 23:51:29 +00:00
cbgfx.h libpayload: cbgfx: Support buffered I/O 2020-08-28 21:40:58 +00:00
coreboot_tables.h libpayload: Switch to commonlib ipchksum() algorithm 2024-02-02 22:48:48 +00:00
ctype.h payloads: Drop unneeded empty lines 2020-09-21 16:20:57 +00:00
delay.h libpayload: Outsource delay function into own header 2023-08-24 13:35:02 +00:00
die.h treewide: Move stdlib.h to commonlib 2024-03-15 10:09:43 +00:00
endian.h treewide: Unify Google branding 2022-07-04 14:02:26 +00:00
errno.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
exception.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
fmap.h commonlib/bsd: Remove cb_err_t 2022-03-09 02:18:21 +00:00
fpmath.h libpayload: Add simple 32.32 fixed-point math API 2020-07-09 00:32:11 +00:00
gdb.h libpayload: gdb: Factor out gdb_handle_reentrant_exception() from arm32 2018-10-12 20:17:40 +00:00
getopt.h
inttypes.h
kconfig.h Add new CONFIG(XXX) macro to replace IS_ENABLED(CONFIG_XXX) 2019-03-07 17:06:28 +00:00
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 includes: Define CHAR_BIT in limits.h 2021-06-18 04:38:33 +00:00
lp_vboot.h libpayload: Add vboot and reboot utility functions 2023-09-18 15:42:31 +00:00
lz4.h cbfs: Add LZ4 in-place decompression support for pre-RAM stages 2016-02-22 21:38:37 +01:00
lzma.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
malloc.h
multiboot_tables.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
panel.h
pci.h libpayload/pci: Add support for bus mapping 2022-05-20 02:51:33 +00:00
queue.h payloads: Drop unneeded empty lines 2020-09-21 16:20:57 +00:00
stdarg.h libpayload/include/stdarg.h: Add va_copy builtin 2023-08-17 16:46:07 +00:00
stdbool.h libpayload: Add <stdbool.h> 2020-10-26 06:57:06 +00:00
stddef.h libpayload: Outsource delay function into own header 2023-08-24 13:35:02 +00:00
stdint.h libpayload: Fix definitions of minimum integer values 2020-05-18 07:34:55 +00:00
stdio.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
stdlib.h treewide: Move stdlib.h to commonlib 2024-03-15 10:09:43 +00:00
string.h libpayload/string: add strndup() function 2023-02-16 17:54:51 +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 parsing of SMBIOS address 2023-08-17 15:48:56 +00:00
term.h
time.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
unistd.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
video_console.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
wchar.h includes: Provide wchar.h with wchar_t and wint_t 2021-06-18 04:38:16 +00:00