Subject: [PATCHv2 0/3] x86/UV, x86/efi: Re-factor efi_call_virt for general use

From: [email-masked] (Matt Fleming)
Date: Thu, 23 Jun 2016 13:44:33 +0100

On Wed, 15 Jun, at 02:04:12PM, Alex Thorlton wrote:
> Hey guys,
> 
> This patchset creates a general purpose version of the efi_call_virt
> macro that does not assume that the function pointer being passed in is
> inside of efi.systab->runtime.  It also fixes up uv_bios_call to use the
> new functionality, and does a bit of cleanup in the efi_thunk macro.
> 
> Quick breakdown of the patches:
> 
> Patch 1) Move necessary macros to locations where we can access them.
> 	 Remove hard-coded efi.systab reference from efi_call_virt.
> 	 Rename/create new macros as needed.
> Patch 2) Simple change to allow UV code to utilize the new
> 	 functionality.  Included a detailed explanation of how we got
> 	 here.
> Patch 3) Replace a few bits of the efi_thunk macro with the
> 	 arch_efi_call_setup/teardown macros.
> 
> The first two have been tested on simulators and hardware, but the third
> has only been compile-tested.  I don't have any hardware to test that
> on.
> 
> Updates for v2:
> 
> - Fix up arm and arm64 versions of arch_efi_call_virt.  I missed these
>   on my first pass 
> - Add some more detail to the commit message for the uv_bios_call fix.
> - Change the third patch to use the arch_efi_call_setup/teardown macros
>   inside of the efi_thunk macro, instead of replacing efi_thunk entirely
>   for the CONFIG_EFI_MIXED case.

Whole series looks good to me Alex, and everything works fine on my
mixed-mode config. Applied for v4.8, thanks!