[PATCH v2 0/2] efi: preserve NEON registers on UEFI services calls

Ard Biesheuvel ard.biesheuvel at linaro.org
Tue Jul 1 06:46:03 PDT 2014


On 1 July 2014 15:26, Matt Fleming <matt at console-pimps.org> wrote:
> On Thu, 26 Jun, at 12:09:04PM, Ard Biesheuvel wrote:
>> The current UEFI implementation for arm64 fails to preserve/restore the contents
>> of the NEON register file, which may result in data corruption, especially now
>> that those contents are lazily restored for user processes.
>>
>> This series proposes to fix this by wrapping all runtime services calls, and
>> adding kernel_neon_begin()/kernel_neon_end() pairs to the wrappers.
>>
>> The first patch moves the existing x86 versions of those wrappers to generic
>> code, so that the second patch can easily enable them by supplying a definition
>> for efi_call_virt and adding a call to efi_native_runtime_setup().
>>
>> Changes since v1:
>> - rename runtime.c -> runtime-wrappers.c
>> - make build depend on new Kconfig symbol EFI_RUNTIME_WRAPPERS to fix ia64
>>   breakage
>> - remove default #defines for efi_call_virt()/__efi_call_virt(), they are not
>>   needed anymore now that it is built conditionally
>> - add references to applicable UEFI/AAPCS spec sections
>>
>> Ard Biesheuvel (2):
>>   efi/x86: move UEFI Runtime Services wrappers to generic code
>>   efi/arm64: preserve FP/SIMD registers on UEFI runtime services calls
>
> Thanks Ard. These patches look OK to me, and I've now pulled them into
> my 'next' branch.
>
> It'd be nice if we could get some ACKs from other people since this is
> an ABI issue.

Yes, they have been awfully quiet, haven't they?

At least Roy has volunteered to get involved in the USWG to get the
spec clarified.

@Leif, Catalin, Olivier: care to chime in?

-- 
Ard.



More information about the linux-arm-kernel mailing list