]> git.proxmox.com Git - mirror_edk2.git/commit
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)
commitc0d221a348543a4b296a64239826090a167b16ed
treea91a8238436b33453eacde22ef51cb14dce9647f
parent3dbf922901c0fea2c6dc1c3fe9fa1911af889fbf
OvmfPkg/PlatformPei: sync AmdSevInitialize() definition with declaration

"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