From: Leif Lindholm <leif.lindholm@linaro.org>
To: evan.lloyd@arm.com
Cc: edk2-devel@lists.01.org,
Ard Biesheuvel <ard.biesheuvel@linaro.org>,
Matteo Carlini <Matteo.Carlini@arm.com>,
Sami Mujawar <sami.mujawar@arm.com>
Subject: Re: [PATCH] ArmPkg: ARM v8.2 updates for detecting FP
Date: Fri, 15 Sep 2017 17:06:05 +0100 [thread overview]
Message-ID: <20170915160605.inw32x6vhgnkgseu@bivouac.eciton.net> (raw)
In-Reply-To: <20170914161121.3160-1-evan.lloyd@arm.com>
On Thu, Sep 14, 2017 at 05:11:21PM +0100, evan.lloyd@arm.com wrote:
> From: Sami Mujawar <samimujawar>
I have fixed Sami's email address up before pushing.
> The ARMv8.2-FP16 extension introduces support for half precision
> floating point and the processor ID registers have been updated to
> enable detection of the implementation.
>
> The possible values for the FP bits in ID_AA64PFR0_EL1[19:16] are:
> - 0000 : Floating-point is implemented.
> - 0001 : Floating-point including Half-precision support is
> implemented.
> - 1111 : Floating-point is not implemented.
> - All other values are reserved.
>
> Previously ArmEnableVFP() compared the FP bits with 0000b to see if
> the FP was implemented, before enabling FP. Modified this check to
> enable the FP if the FP bits 19:16 are not 1111b.
>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
> Signed-off-by: Evan Lloyd <evan.lloyd@arm.com>
So ... I think longer-term we should try to move a lot of this type of
stuff to c instead, but this is a clear fix - thanks!
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
Pushed as 2f16993c25
> ---
> ArmPkg/Library/ArmLib/AArch64/AArch64Support.S | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/ArmPkg/Library/ArmLib/AArch64/AArch64Support.S b/ArmPkg/Library/ArmLib/AArch64/AArch64Support.S
> index dde6a756528f3abf1bd5a142448e42122a9bd8fa..2d136d242b943fe2f365bc824953b7fe10c944b7 100644
> --- a/ArmPkg/Library/ArmLib/AArch64/AArch64Support.S
> +++ b/ArmPkg/Library/ArmLib/AArch64/AArch64Support.S
> @@ -1,7 +1,7 @@
> #------------------------------------------------------------------------------
> #
> # Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>
> -# Copyright (c) 2011 - 2014, ARM Limited. All rights reserved.
> +# Copyright (c) 2011 - 2017, ARM Limited. All rights reserved.
> # Copyright (c) 2016, Linaro Limited. All rights reserved.
> #
> # This program and the accompanying materials
> @@ -403,9 +403,11 @@ ASM_FUNC(ArmEnableVFP)
> mov x1, x30 // Save LR
> bl ArmReadIdPfr0 // Read EL1 Processor Feature Register (PFR0)
> mov x30, x1 // Restore LR
> - ands x0, x0, #AARCH64_PFR0_FP// Extract bits indicating VFP implementation
> - cmp x0, #0 // VFP is implemented if '0'.
> - b.ne 4f // Exit if VFP not implemented.
> + ubfx x0, x0, #16, #4 // Extract the FP bits 16:19
> + cmp x0, #0xF // Check if FP bits are '1111b',
> + // i.e. Floating Point not implemented
> + b.eq 4f // Exit when VFP is not implemented.
> +
> // FVP is implemented.
> // Make sure VFP exceptions are not trapped (to any exception level).
> mrs x0, cpacr_el1 // Read EL1 Coprocessor Access Control Register (CPACR)
> --
> Guid("CE165669-3EF3-493F-B85D-6190EE5B9759")
>
next prev parent reply other threads:[~2017-09-15 16:03 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-14 16:11 [PATCH] ArmPkg: ARM v8.2 updates for detecting FP evan.lloyd
2017-09-15 16:06 ` Leif Lindholm [this message]
2017-09-18 15:33 ` Evan Lloyd
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170915160605.inw32x6vhgnkgseu@bivouac.eciton.net \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox