[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 3/3] [DO NOT COMMIT] xen/arm: Create a trampoline for secondary boot CPUs
On 16/01/2024 14:24, Carlo Nonato wrote: Hi Julien, On Tue, Jan 16, 2024 at 12:55 PM Julien Grall <julien@xxxxxxx> wrote:From: Julien Grall <jgrall@xxxxxxxxxx> In order to confirm the early boot code is self-contained, allocate a separate trampoline region for secondary to boot from it. Signed-off-by: Julien Grall <jgrall@xxxxxxxxxx> --- xen/arch/arm/arm64/mmu/mm.c | 7 +++++++ xen/arch/arm/mmu/smpboot.c | 4 +++- xen/arch/arm/psci.c | 5 ++++- xen/arch/arm/smpboot.c | 15 ++++++++++++++- 4 files changed, 28 insertions(+), 3 deletions(-) diff --git a/xen/arch/arm/arm64/mmu/mm.c b/xen/arch/arm/arm64/mmu/mm.c index d2651c948698..3c4988dc75d1 100644 --- a/xen/arch/arm/arm64/mmu/mm.c +++ b/xen/arch/arm/arm64/mmu/mm.c @@ -110,11 +110,18 @@ void __init arch_setup_page_tables(void) prepare_runtime_identity_mapping(); } +extern mfn_t trampoline_start; + void update_identity_mapping(bool enable) { paddr_t id_addr = virt_to_maddr(_start); int rc; + if ( !mfn_eq(trampoline_start, INVALID_MFN) ) + { + id_addr = mfn_to_maddr(trampoline_start); + } + if ( enable ) rc = map_pages_to_xen(id_addr, maddr_to_mfn(id_addr), 1, PAGE_HYPERVISOR_RX); diff --git a/xen/arch/arm/mmu/smpboot.c b/xen/arch/arm/mmu/smpboot.c index f1cf9252710c..d768dfe065a5 100644 --- a/xen/arch/arm/mmu/smpboot.c +++ b/xen/arch/arm/mmu/smpboot.c @@ -72,13 +72,15 @@ static void clear_boot_pagetables(void) clear_table(boot_third); } +extern mfn_t trampoline_start; + static void set_init_ttbr(lpae_t *root)Isn't this function not present in the patch series? Oh. It looks like I forgot to post one patch. Let me resend it. Cheers, -- Julien Grall
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |