]> git.proxmox.com Git - mirror_edk2.git/commitdiff
OvmfPkg/PlatformPei: sync AmdSevInitialize() definition with declaration
authorLaszlo Ersek <lersek@redhat.com>
Tue, 6 Feb 2018 21:18:36 +0000 (22:18 +0100)
committerLaszlo Ersek <lersek@redhat.com>
Thu, 8 Feb 2018 17:23:32 +0000 (18:23 +0100)
"Platform.h" declares the AmdSevInitialize() function without EFIAPI, but
the definition in "AmdSev.c" includes EFIAPI.

GCC toolchains without LTO do not catch this error because "AmdSev.c" does
not include "Platform.h"; i.e. the declaration used by callers such as
"Platform.c" is not actually matched against the function definition at
build time.

With LTO enabled, the mismatch is found -- however, as a warning only, due
to commit f8d0b9662993 ("BaseTools GCC5: disable warnings-as-errors for
now", 2016-08-03).

Include the header in the C file (which turns the issue into a hard build
error on all GCC toolchains), plus sync the declaration from the header
file to the C file.

There's been no functional breakage because AmdSevInitialize() takes no
parameters.

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Brijesh Singh <brijesh.singh@amd.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Fixes: 13b5d743c87a22dfcd94e8475d943dee5712b62d
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Brijesh Singh <brijesh.singh@amd.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
OvmfPkg/PlatformPei/AmdSev.c

index 1539e5b5cdce152c606d181f960256a58dbeaeac..ad31b69fb0322b6caea875495fc2a00c26bccf2a 100644 (file)
@@ -23,6 +23,8 @@
 #include <Register/Amd/Cpuid.h>\r
 #include <Library/MemEncryptSevLib.h>\r
 \r
+#include "Platform.h"\r
+\r
 /**\r
 \r
   Function checks if SEV support is available, if present then it sets\r
@@ -30,7 +32,6 @@
 \r
   **/\r
 VOID\r
-EFIAPI\r
 AmdSevInitialize (\r
   VOID\r
   )\r