efi_get_info() is only used for XEN_FW_EFI_INFO of XENPF_firmware_info,
so wrap it.
And wrap its compat function efi_compat_get_info().
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
---
cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>
cc: "Marek Marczykowski-Górecki" <marmarek@invisiblethingslab.com>
cc: Jan Beulich <jbeulich@suse.com>
---
xen/common/efi/common-stub.c | 4 ++++
xen/common/efi/compat.c | 2 ++
xen/common/efi/runtime.c | 3 +++
3 files changed, 9 insertions(+)
diff --git a/xen/common/efi/common-stub.c b/xen/common/efi/common-stub.c
index 77f138a6c574..05a84c60fb70 100644
--- a/xen/common/efi/common-stub.c
+++ b/xen/common/efi/common-stub.c
@@ -21,10 +21,12 @@ unsigned long efi_get_time(void)
void efi_halt_system(void) { }
void efi_reset_system(bool warm) { }
+#ifdef CONFIG_PLATFORM_OP
int efi_get_info(uint32_t idx, union xenpf_efi_info *info)
{
return -ENOSYS;
}
+#endif /* CONFIG_PLATFORM_OP */
int efi_runtime_call(struct xenpf_efi_runtime_call *op)
{
@@ -33,8 +35,10 @@ int efi_runtime_call(struct xenpf_efi_runtime_call *op)
#ifdef CONFIG_COMPAT
+#ifdef CONFIG_PLATFORM_OP
int efi_compat_get_info(uint32_t idx, union compat_pf_efi_info *)
__attribute__((__alias__("efi_get_info")));
+#endif /* CONFIG_PLATFORM_OP */
int efi_compat_runtime_call(struct compat_pf_efi_runtime_call *)
__attribute__((__alias__("efi_runtime_call")));
diff --git a/xen/common/efi/compat.c b/xen/common/efi/compat.c
index 7cc6279b8f36..4f5f59fcac2e 100644
--- a/xen/common/efi/compat.c
+++ b/xen/common/efi/compat.c
@@ -1,8 +1,10 @@
#include <xen/guest_access.h>
#include <compat/platform.h>
+#ifdef CONFIG_PLATFORM_OP
#define efi_get_info efi_compat_get_info
#define xenpf_efi_info compat_pf_efi_info
+#endif
#define efi_runtime_call efi_compat_runtime_call
#define xenpf_efi_runtime_call compat_pf_efi_runtime_call
diff --git a/xen/common/efi/runtime.c b/xen/common/efi/runtime.c
index 7e1fce291d92..ab63785397e2 100644
--- a/xen/common/efi/runtime.c
+++ b/xen/common/efi/runtime.c
@@ -227,6 +227,8 @@ const CHAR16 *wmemchr(const CHAR16 *s, CHAR16 c, UINTN n)
#endif /* COMPAT */
#ifndef CONFIG_ARM /* TODO - disabled until implemented on ARM */
+
+#ifdef CONFIG_PLATFORM_OP
int efi_get_info(uint32_t idx, union xenpf_efi_info *info)
{
unsigned int i, n;
@@ -325,6 +327,7 @@ int efi_get_info(uint32_t idx, union xenpf_efi_info *info)
return 0;
}
+#endif /* CONFIG_PLATFORM_OP */
static long gwstrlen(XEN_GUEST_HANDLE_PARAM(CHAR16) str)
{
--
2.34.1