Re: [PATCH v10 19/40] arm64/gcs: Context switch GCS state for EL0

Mark Brown
2024-08-20T17:56:28Z

[-- Attachment #1: Type: text/plain, Size: 825 bytes --]

On Mon, Aug 19, 2024 at 04:44:52PM +0100, Mark Brown wrote:
> On Mon, Aug 19, 2024 at 12:46:13PM +0100, Catalin Marinas wrote:
> > On Thu, Aug 01, 2024 at 01:06:46PM +0100, Mark Brown wrote:

> > > + /*
> > > + * Ensure that GCS changes are observable by/from other PEs in
> > > + * case of migration.
> > > + */
> > > + if (task_gcs_el0_enabled(current) || task_gcs_el0_enabled(next))
> > > + gcsb_dsync();

> > Could we do the sysreg writing under this 'if' block? If no app is using
> > GCS (which would be the case for a while), it looks like unnecessary
> > sysreg accesses.

> Yes, that should be fine I think.

I forgot when writing the above that we always allow reads from
GCSPR_EL0 in order to avoid corner cases for unwinders in the case of
asynchronous disable. I'd expect that to be cheap to access though.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]