RE: [PATCH v2 1/1] KVM: arm64: allow the VM to select DEVICE_* and NORMAL_NC for IO memory

From: Shameerali Kolothum Thodi
Date: Wed Dec 06 2023 - 03:19:20 EST




> -----Original Message-----
> From: Shameerali Kolothum Thodi
> Sent: Tuesday, December 5, 2023 2:17 PM
> To: 'Catalin Marinas' <catalin.marinas@xxxxxxx>; Marc Zyngier
> <maz@xxxxxxxxxx>
> Cc: ankita@xxxxxxxxxx; jgg@xxxxxxxxxx; oliver.upton@xxxxxxxxx;
> suzuki.poulose@xxxxxxx; yuzenghui <yuzenghui@xxxxxxxxxx>;
> will@xxxxxxxxxx; ardb@xxxxxxxxxx; akpm@xxxxxxxxxxxxxxxxxxxx;
> gshan@xxxxxxxxxx; aniketa@xxxxxxxxxx; cjia@xxxxxxxxxx;
> kwankhede@xxxxxxxxxx; targupta@xxxxxxxxxx; vsethi@xxxxxxxxxx;
> acurrid@xxxxxxxxxx; apopple@xxxxxxxxxx; jhubbard@xxxxxxxxxx;
> danw@xxxxxxxxxx; mochs@xxxxxxxxxx; kvmarm@xxxxxxxxxxxxxxx;
> kvm@xxxxxxxxxxxxxxx; lpieralisi@xxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linyufeng (A)
> <linyufeng3@xxxxxxxxxx>
> Subject: RE: [PATCH v2 1/1] KVM: arm64: allow the VM to select DEVICE_*
> and NORMAL_NC for IO memory
>
>
>
> > -----Original Message-----
> > From: Catalin Marinas <catalin.marinas@xxxxxxx>
> > Sent: Tuesday, December 5, 2023 11:41 AM
> > To: Marc Zyngier <maz@xxxxxxxxxx>
> > Cc: ankita@xxxxxxxxxx; Shameerali Kolothum Thodi
> > <shameerali.kolothum.thodi@xxxxxxxxxx>; jgg@xxxxxxxxxx;
> > oliver.upton@xxxxxxxxx; suzuki.poulose@xxxxxxx; yuzenghui
> > <yuzenghui@xxxxxxxxxx>; will@xxxxxxxxxx; ardb@xxxxxxxxxx;
> akpm@linux-
> > foundation.org; gshan@xxxxxxxxxx; aniketa@xxxxxxxxxx;
> cjia@xxxxxxxxxx;
> > kwankhede@xxxxxxxxxx; targupta@xxxxxxxxxx; vsethi@xxxxxxxxxx;
> > acurrid@xxxxxxxxxx; apopple@xxxxxxxxxx; jhubbard@xxxxxxxxxx;
> > danw@xxxxxxxxxx; mochs@xxxxxxxxxx; kvmarm@xxxxxxxxxxxxxxx;
> > kvm@xxxxxxxxxxxxxxx; lpieralisi@xxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> > linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> > Subject: Re: [PATCH v2 1/1] KVM: arm64: allow the VM to select DEVICE_*
> > and NORMAL_NC for IO memory
> >
> > + Lorenzo, he really needs to be on this thread.
> >
> > On Tue, Dec 05, 2023 at 09:21:28AM +0000, Marc Zyngier wrote:
> > > On Tue, 05 Dec 2023 03:30:15 +0000,
> > > <ankita@xxxxxxxxxx> wrote:
> > > > From: Ankit Agrawal <ankita@xxxxxxxxxx>
> > > >
> > > > Currently, KVM for ARM64 maps at stage 2 memory that is considered
> > device
> > > > (i.e. it is not RAM) with DEVICE_nGnRE memory attributes; this setting
> > > > overrides (as per the ARM architecture [1]) any device MMIO mapping
> > > > present at stage 1, resulting in a set-up whereby a guest operating
> > > > system cannot determine device MMIO mapping memory attributes on
> > its
> > > > own but it is always overridden by the KVM stage 2 default.
> > [...]
> > > Despite the considerable increase in the commit message length, a
> > > number of questions are left unanswered:
> > >
> > > - Shameer reported a regression on non-FWB systems, breaking device
> > > assignment:
> > >
> > >
> >
> https://lore.kernel.org/all/af13ed63dc9a4f26a6c958ebfa77d78a@xxxxxxxxx
> > m/
> >
> > This referred to the first patch in the old series which was trying to
> > make the Stage 2 cacheable based on the vma attributes. That patch has
> > been dropped for now. It would be good if Shameer confirms this was the
> > problem.
> >
>
> Yes, that was related to the first patch. We will soon test this on both FWB
> and
> non-FWB platforms and report back.
>

Thanks to Yufeng, the test on both FWB and non-FWB platforms with a GPU dev
assignment looks fine with this patch.

Shameer