[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 1/2] xen/arm32: head: Rework how the fixmap and early UART mapping are prepared
Hi Julien, On 02/11/2023 00:30, Julien Grall wrote: > > > From: Julien Grall <jgrall@xxxxxxxxxx> > > Since commit 5e213f0f4d2c ("xen/arm32: head: Widen the use of the > temporary mapping"), boot_second (used to cover regions like Xen and > the fixmap) will not be mapped if the identity mapping overlap. > > So it is ok to prepare the fixmap table and link it in boot_second > earlier. With that, the fixmap can also be used earlier via the > temporary mapping. > > Therefore split setup_fixmap() in two: > * The table is now linked in create_page_tables() because > the boot page tables needs to be recreated for every CPU. > * The early UART mapping is only added for the boot CPU0 as the > fixmap table is not cleared when secondary CPUs boot. > > Signed-off-by: Julien Grall <jgrall@xxxxxxxxxx> > --- > xen/arch/arm/arm32/head.S | 48 ++++++++------------------------------- > 1 file changed, 9 insertions(+), 39 deletions(-) > > diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S > index 33b038e7e0ca..fec2433e568f 100644 > --- a/xen/arch/arm/arm32/head.S > +++ b/xen/arch/arm/arm32/head.S > @@ -183,12 +183,16 @@ past_zImage: > bl check_cpu_mode > bl cpu_init > bl create_page_tables > + /* Add the UART mapping if requested */ > +#ifdef CONFIG_EARLY_PRINTK > + mov_w r0, EARLY_UART_VIRTUAL_ADDRESS > + create_mapping_entry xen_fixmap, r0, r11, type=PT_DEV_L3 When building this patch, I'm getting a "Bad instruction" build error. Quick look shows that you are trying to use the macro create_mapping_entry before macro definition. Unless, I'm using a different baseline (latest staging) than you, this needs to be fixed. Apart from that: Reviewed-by: Michal Orzel <michal.orzel@xxxxxxx> ~Michal
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |