coreboot/src
Subrata Banik cf5fc2312a include/efi: Override EFIAPI macro for x86_64
This commit overrides the EFIAPI macro definition when using FSP on
x86_64 to ensure the correct calling convention is used.

On i386, there is no side-effect since the C calling convention used
by coreboot and FSP are the same. However, on x86_64, FSP/UEFI uses
the Microsoft x64 calling convention while coreboot uses the System
V AMD64 ABI.

This change resolves this incompatibility by setting EFIAPI to
attribute((ms_abi)) on x86_64 when using FSP.

TEST=Able to build google/rex0 in 32-bit and 64-bit mode.

Change-Id: Ifae910be66d550af04cce5136d186a7e9dd085b3
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/82266
Reviewed-by: Ronak Kanabar <ronak.kanabar@intel.com>
Reviewed-by: Eric Lai <ericllai@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-05-11 08:28:17 +00:00
..
acpi acpi: Remove acpigen_write_OSC_pci_domain 2024-05-06 10:48:06 +00:00
arch arch/arm64/Makefile.mk: Switch linker to GNU GCC 2024-05-09 08:34:05 +00:00
commonlib commonlib/timestamp_serialized: Define VB_AUXFW_SYNC_DONE timestamp 2024-05-08 11:54:54 +00:00
console tree: Drop duplicated <stdarg.h> and <stdio.h> 2024-04-12 04:25:07 +00:00
cpu cpu/intel/model_206ax: Allow to configure VR settings 2024-04-22 15:31:15 +00:00
device dram/ddr3: Use the same naming convention as DDR4 2024-05-07 10:53:31 +00:00
drivers driver/intel/fsp2_0: Update soc_binding.h for coreboot compatibility 2024-05-11 08:28:11 +00:00
ec acpigen_ps2_keybd: Add assistant key to linux,keymap 2024-04-22 14:05:42 +00:00
include include/efi: Override EFIAPI macro for x86_64 2024-05-11 08:28:17 +00:00
lib tree: Drop duplicated <device/pci_{def,type}.h> 2024-04-12 04:24:43 +00:00
mainboard mb/google/brox: Sending End of Post (EOP) asynchronously 2024-05-09 08:33:24 +00:00
northbridge dram/ddr3: Use the same naming convention as DDR4 2024-05-07 10:53:31 +00:00
sbom src, util: Clean up makefile.inc in text, help & comments 2024-01-26 20:15:18 +00:00
security security/tpm/tspi/crtm.c: Fix space required before open brace error 2024-04-21 03:39:12 +00:00
soc mb/google/brox: Sending End of Post (EOP) asynchronously 2024-05-09 08:33:24 +00:00
southbridge sb/intel/bd82x6x/pch.asl: Remove GPIO configuration access 2024-04-18 11:05:11 +00:00
superio sio/nuvoton/nct6779d: Correct GPIOBASE virtual LDN 2024-04-18 11:04:25 +00:00
vendorcode vc/google/chromeos: Move RAMOOPS region creation to BS_DEV_INIT_CHIPS 2024-04-25 20:56:25 +00:00
Kconfig Kconfig: Make GBD_STUB and long mode mutually exclusive 2024-04-01 13:40:37 +00:00