[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 Michal,

On 02/11/2023 09:29, Michal Orzel wrote:
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.

You are using the correct baseline. I have just ended up fix the build in patch #2 by mistake. I will move the change here.


Apart from that:
Reviewed-by: Michal Orzel <michal.orzel@xxxxxxx>

Thanks!

Cheers,

--
Julien Grall



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.