Re: [kvm-unit-tests RFC PATCH 1/3] x86 EFI: Bypass call to fdt_check_header()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 25, 2024 at 04:36:21PM -0500, Pavan Kumar Paluri wrote:
> Issuing a call to fdt_check_header() prevents running any of x86 UEFI
> enabled tests. Bypass this call for x86 in order to enable UEFI
> supported tests for KUT x86 arch.

Ouch! Sorry about that. I think I prefer something like below, though.

Thanks,
drew

diff --git a/lib/efi.c b/lib/efi.c
index 5314eaa81e66..335b66d26092 100644
--- a/lib/efi.c
+++ b/lib/efi.c
@@ -312,6 +312,7 @@ static void* efi_get_var(efi_handle_t handle, struct efi_loaded_image_64 *image,
        return val;
 }
 
+#if defined(__aarch64__) || defined(__riscv)
 static void *efi_get_fdt(efi_handle_t handle, struct efi_loaded_image_64 *image)
 {
        efi_char16_t var[] = ENV_VARNAME_DTBFILE;
@@ -330,6 +331,12 @@ static void *efi_get_fdt(efi_handle_t handle, struct efi_loaded_image_64 *image)
 
        return fdt_check_header(fdt) == 0 ? fdt : NULL;
 }
+#else
+static void *efi_get_fdt(efi_handle_t handle, struct efi_loaded_image_64 *image)
+{
+       return NULL;
+}
+#endif
 
 static const struct {
        struct efi_vendor_dev_path      vendor;

> 
> Fixes: 9632ce446b8f ("arm64: efi: Improve device tree discovery")
> Signed-off-by: Pavan Kumar Paluri <papaluri@xxxxxxx>
> ---
>  lib/efi.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/lib/efi.c b/lib/efi.c
> index 5314eaa81e66..124e77685230 100644
> --- a/lib/efi.c
> +++ b/lib/efi.c
> @@ -328,6 +328,10 @@ static void *efi_get_fdt(efi_handle_t handle, struct efi_loaded_image_64 *image)
>  		return NULL;
>  	}
>  
> +#ifdef __x86_64__
> +	return fdt;
> +#endif
> +
>  	return fdt_check_header(fdt) == 0 ? fdt : NULL;
>  }
>  
> -- 
> 2.34.1
> 




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux