Re: [PATCH v14 3/5] KVM: arm64: Manage GCS access and registers for guests

2024-10-05 Thread Marc Zyngier
On Sat, 05 Oct 2024 15:26:38 +0100, Mark Brown wrote: > > [1 ] > On Sat, Oct 05, 2024 at 03:02:09PM +0100, Marc Zyngier wrote: > > Mark Brown wrote: > > > > Ah, I see. I'd been under the impression that the generic machinery was > > > supposed to handle this already using the descriptions in

Re: [PATCH v14 3/5] KVM: arm64: Manage GCS access and registers for guests

2024-10-05 Thread Mark Brown
On Sat, Oct 05, 2024 at 03:02:09PM +0100, Marc Zyngier wrote: > Mark Brown wrote: > > Ah, I see. I'd been under the impression that the generic machinery was > > supposed to handle this already using the descriptions in > > emulate-nested.c and we only needed handlers for more specific actions.

Re: [PATCH v14 3/5] KVM: arm64: Manage GCS access and registers for guests

2024-10-05 Thread Marc Zyngier
On Sat, 05 Oct 2024 14:48:09 +0100, Mark Brown wrote: > > [1 ] > On Sat, Oct 05, 2024 at 02:18:57PM +0100, Marc Zyngier wrote: > > Mark Brown wrote: > > > On Sat, Oct 05, 2024 at 12:34:20PM +0100, Marc Zyngier wrote: > > > > > Where is the handling of traps resulting of HFGITR_EL2.nGCSSTR_EL1?

Re: [PATCH v14 3/5] KVM: arm64: Manage GCS access and registers for guests

2024-10-05 Thread Mark Brown
On Sat, Oct 05, 2024 at 02:18:57PM +0100, Marc Zyngier wrote: > Mark Brown wrote: > > On Sat, Oct 05, 2024 at 12:34:20PM +0100, Marc Zyngier wrote: > > > Where is the handling of traps resulting of HFGITR_EL2.nGCSSTR_EL1? > > These will trap with an EC of 0x2d which isn't known so I was expectin

Re: [PATCH v14 3/5] KVM: arm64: Manage GCS access and registers for guests

2024-10-05 Thread Marc Zyngier
On Sat, 05 Oct 2024 14:08:39 +0100, Mark Brown wrote: > > On Sat, Oct 05, 2024 at 12:34:20PM +0100, Marc Zyngier wrote: > > Mark Brown wrote: > > > > + if (!kvm_has_gcs(kvm)) { > > > + kvm->arch.fgu[HFGxTR_GROUP] |= (HFGxTR_EL2_nGCS_EL0 | > > > +

Re: [PATCH v14 3/5] KVM: arm64: Manage GCS access and registers for guests

2024-10-05 Thread Mark Brown
On Sat, Oct 05, 2024 at 12:34:20PM +0100, Marc Zyngier wrote: > Mark Brown wrote: > > + if (!kvm_has_gcs(kvm)) { > > + kvm->arch.fgu[HFGxTR_GROUP] |= (HFGxTR_EL2_nGCS_EL0 | > > + HFGxTR_EL2_nGCS_EL1); > > + kvm->arch.fgu[HFGITR_GROUP

Re: [PATCH v14 3/5] KVM: arm64: Manage GCS access and registers for guests

2024-10-05 Thread Marc Zyngier
On Sat, 05 Oct 2024 11:37:30 +0100, Mark Brown wrote: > > GCS introduces a number of system registers for EL1 and EL0, on systems > with GCS we need to context switch them and expose them to VMMs to allow > guests to use GCS. > > In order to allow guests to use GCS we also need to configure > HC

[PATCH v14 3/5] KVM: arm64: Manage GCS access and registers for guests

2024-10-05 Thread Mark Brown
GCS introduces a number of system registers for EL1 and EL0, on systems with GCS we need to context switch them and expose them to VMMs to allow guests to use GCS. In order to allow guests to use GCS we also need to configure HCRX_EL2.GCSEn, if this is not set GCS instructions will be noops and CH