Hi Marc, Thanks for having a look at the series.
On Wed, Nov 19, 2025 at 03:38:32PM +0000, Marc Zyngier wrote: > On Fri, 07 Nov 2025 09:38:31 +0000, > Vincent Donnefort <[email protected]> wrote: > > > > Return the fixmap VA with the page offset, instead of the page base > > address. This allows to use hyp_fixmap_map() seamlessly regardless of > > the address alignment. > > > > Signed-off-by: Vincent Donnefort <[email protected]> > > > > diff --git a/arch/arm64/kvm/hyp/nvhe/mm.c b/arch/arm64/kvm/hyp/nvhe/mm.c > > index ae8391baebc3..75014dc7d82e 100644 > > --- a/arch/arm64/kvm/hyp/nvhe/mm.c > > +++ b/arch/arm64/kvm/hyp/nvhe/mm.c > > @@ -239,7 +239,7 @@ static void *fixmap_map_slot(struct hyp_fixmap_slot > > *slot, phys_addr_t phys) > > WRITE_ONCE(*ptep, pte); > > dsb(ishst); > > > > - return (void *)slot->addr; > > + return (void *)slot->addr + offset_in_page(phys); > > } > > > > void *hyp_fixmap_map(phys_addr_t phys) > > This looks slightly odd. fixmap_map_slot() should return *a slot*, not > something in it. Can't hyp_fixmap_map() do that instead? That was fixing hyp_fixblock_map() at the same time. I will move the offset_in_page() in both callers. > > Thanks, > > M. > > -- > Without deviation from the norm, progress is not possible.
