<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><div dir="ltr"><div dir="ltr"></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Oct 27, 2022 at 5:10 PM Chris Johns <<a href="mailto:chrisj@rtems.org">chrisj@rtems.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 28/10/2022 9:05 am, Kinsey Moore wrote:<br>
> RTEMS may be booted from a dirty environment. Ensure that FPU trap<br>
> settings are consistent.<br>
> ---<br>
>  bsps/aarch64/shared/start/start.S | 10 ++++++++++<br>
>  1 file changed, 10 insertions(+)<br>
> <br>
> diff --git a/bsps/aarch64/shared/start/start.S b/bsps/aarch64/shared/start/start.S<br>
> index 8bd4f86f4e..de0fdf4c80 100644<br>
> --- a/bsps/aarch64/shared/start/start.S<br>
> +++ b/bsps/aarch64/shared/start/start.S<br>
> @@ -307,6 +307,16 @@ _el1_start:<br>
>  <br>
>    /* FPU does not need to be enabled on AArch64 */<br>
>  <br>
> +  /* Ensure FPU traps are disabled by default */<br>
> +  mrs x0, FPCR<br>
> +  bic x0, x0, #(1 << 8)<br>
> +  bic x0, x0, #(1 << 9)<br>
> +  bic x0, x0, #(1 << 10)<br>
> +  bic x0, x0, #(1 << 11)<br>
> +  bic x0, x0, #(1 << 12)<br>
> +  bic x0, x0, #(1 << 15)<br>
<br>
Does `bic x0, x0, #((1 << 8) | (1 << 9) | (1 << 10) | ...)` work?<br></blockquote><div>The assembler complains about the operand being out of range. I can split it into 8-12 in one and 15 by itself and everything seems to work.</div><div><br></div><div>Kinsey<br></div></div></div>