[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [PATCH v6 08/11] xen/arm64: move MMU related code from head.S to head_mmu.S
Hi Julien, > -----Original Message----- > From: Julien Grall <julien@xxxxxxx> > Sent: 2022年11月14日 5:43 > To: Wei Chen <Wei.Chen@xxxxxxx>; xen-devel@xxxxxxxxxxxxxxxxxxxx > Cc: nd <nd@xxxxxxx>; Stefano Stabellini <sstabellini@xxxxxxxxxx>; Bertrand > Marquis <Bertrand.Marquis@xxxxxxx>; Volodymyr Babchuk > <Volodymyr_Babchuk@xxxxxxxx>; Henry Wang <Henry.Wang@xxxxxxx> > Subject: Re: [PATCH v6 08/11] xen/arm64: move MMU related code from head.S > to head_mmu.S > > > > On 09/11/2022 07:36, Wei Chen wrote: > > Hi Julien, > > Hi Wei, > > > > >> -----Original Message----- > >> From: Julien Grall <julien@xxxxxxx> > >> Sent: 2022年11月7日 4:06 > >> To: Wei Chen <Wei.Chen@xxxxxxx>; xen-devel@xxxxxxxxxxxxxxxxxxxx > >> Cc: nd <nd@xxxxxxx>; Stefano Stabellini <sstabellini@xxxxxxxxxx>; > Bertrand > >> Marquis <Bertrand.Marquis@xxxxxxx>; Volodymyr Babchuk > >> <Volodymyr_Babchuk@xxxxxxxx>; Henry Wang <Henry.Wang@xxxxxxx> > >> Subject: Re: [PATCH v6 08/11] xen/arm64: move MMU related code from > head.S > >> to head_mmu.S > >> > >> Hi Wei, > >> > >> On 04/11/2022 10:07, Wei Chen wrote: > >>> There are lots of MMU specific code in head.S. This code will not > >>> be used in MPU systems. If we use #ifdef to gate them, the code > >>> will become messy and hard to maintain. So we move MMU related > >>> code to head_mmu.S, and keep common code still in head.S. > >> > >> I am afraid that you can't simply move the MMU code out of head.S > >> because this will break Xen when running using the identity map. > >> > >> This is because we only map the first 4KB of Xen with PA == VA. At the > >> moment, we guarantee it by having everything that needs to be used in > >> the identity mapping before _end_boot and checking at link time if this > >> fits in 4KB. > >> > >> Now that you moved the MMU code outside of head.S. We need to find a > >> different way to guarantee it. One way to do it would be to create a > >> section that would be used for everything that needs to be identity > mapped. > >> > > > > Quote from next email > > " > > Looking at the code this morning, I noticed that we already have the > > section ".text.header". For now, that should do the job. So we just need > > to check the size of .text.header. > > > > Ideally, checking the size should be done in a separate pre-patch so it > > is easier to review. > > " > > > > OK. We will create a patch to check the size, and place it in the > > head of the series. > > I thought a bit more about what I wrote. Xen binary should always start > with the Image/Zimage header. At the moment, this is guaranteed because > there is only one object using the section .text.header. > > With the change introduced in this patch, there will be multiple objects > using with the sections .text.header. This means we are relying on the > compiler to always put the content of head.S first. > Yes, now it depends on the objects' order in Makefile. This should be a risk. > This is basically reverting to the behavior before commit 4267a33b19d > ("xen/build: put image header into a separate section"). > > Therefore we do need a separate section to be used for head_*.S and > maybe part of head.S. This new section could be called text.idmap so we > know what the section is used for. > Yes, we might place this new section after text.header. Cheers, Wei Chen > Cheers, > > -- > Julien Grall
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |