Hi Julien, > -----Original Message----- > From: Xen-devel <xen-devel-boun...@lists.xenproject.org> On Behalf Of > Julien Grall > Sent: 2022年11月7日 2:55 > To: Wei Chen <wei.c...@arm.com>; xen-devel@lists.xenproject.org > Cc: nd <n...@arm.com>; Stefano Stabellini <sstabell...@kernel.org>; Bertrand > Marquis <bertrand.marq...@arm.com>; Volodymyr Babchuk > <volodymyr_babc...@epam.com>; Henry Wang <henry.w...@arm.com> > Subject: Re: [PATCH v6 02/11] xen/arm: add iounmap after initrd has been > loaded in domain_build > > (+ Henry) > > Hi, > > On 04/11/2022 10:07, Wei Chen wrote: > > domain_build use ioremap_wc to map a new non-cacheable virtual > > s/use/uses/ > > > address for initrd. After Xen copy initrd from this address to > > guest, this new allocated virtual address has not been unmapped. > > > > So in this patch, we add an iounmap to the end of domain_build, > > after Xen loaded initrd to guest memory. > > > > Please a fixes tag. The issue was introduced by commit bb7e6d565d92. > > > Signed-off-by: Wei Chen <wei.c...@arm.com> > > --- > > xen/arch/arm/domain_build.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c > > index 4fb5c20b13..bd30d3798c 100644 > > --- a/xen/arch/arm/domain_build.c > > +++ b/xen/arch/arm/domain_build.c > > @@ -3418,6 +3418,8 @@ static void __init initrd_load(struct kernel_info > *kinfo) > > initrd, len); > > if ( res != 0 ) > > panic("Unable to copy the initrd in the hwdom memory\n"); > > + > > + iounmap(initrd); > > This looks good to me. But I am wondering whether using ioremap_wc() is > actually correct because we are reading the region. So it seems strang > to map it with write-combine. > > So I would consider to use ioremap_cache(). That said, this would be a > separate patch. >
Ok, we will try to use ioremap_cache and test it. If everything works well we will introduce a separate patch in next version. Cheers, Wei Chen > I think this wants to be in 4.17. This will avoid Xen to have two > mappings with different caching attribute (initrd is part of the RAM and > therefore directmap). > > Cheers, > > -- > Julien Grall