From patchwork Fri Aug 9 15:02:02 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Woodhouse X-Patchwork-Id: 11086737 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 2095D6C5 for ; Fri, 9 Aug 2019 15:03:28 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 070DE1FE8B for ; Fri, 9 Aug 2019 15:03:28 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id EF0241FFCD; Fri, 9 Aug 2019 15:03:27 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id B10351FFDB for ; Fri, 9 Aug 2019 15:03:16 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hw6PA-000387-V7; Fri, 09 Aug 2019 15:02:08 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hw6P9-00036E-7U for xen-devel@lists.xenproject.org; Fri, 09 Aug 2019 15:02:07 +0000 X-Inumbo-ID: a6217b9a-bab6-11e9-8980-bc764e045a96 Received: from merlin.infradead.org (unknown [2001:8b0:10b:1231::1]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id a6217b9a-bab6-11e9-8980-bc764e045a96; Fri, 09 Aug 2019 15:02:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=merlin.20170209; h=Mime-Version:Content-Type:References: In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=RqXzwlXQxDwAMgGkBwjdpVp1k19sYdFAxaLjg/2LP90=; b=pP0m8Dmrw6rgEduRjQUbKKTL6 MvXLGTCUL7I7Y/dVt9bUp231GLm4gEq5KFUA3ALV6wjIrjb9SBk28R5D5ePPjOV3bW410JoF57r9b 8CtUBVgjStAkS4RogdLvOnXRan/UQH4i7BxEcpzWlhOr1xSscfnwha/GrpiOcqmIXf2n3B8VeqBi8 iuhhOKaTmgF1o87wr62KOz3LyYOPxbcfKe8wjrobIbGPrUtMSklupt/EoJCAlGT5mLMCfwHzOD7av yhkjaxg8lTLpxzeXfWteuvk/QjJKPhNWMjI1VbLXCrMlxQvWzT3t7u0shSYbZG/Q6csnnqSefE+D7 aC3+Z812Q==; Received: from [2001:8b0:10b:1:4a2a:e3ff:fe14:8625] (helo=u3832b3a9db3152.ant.amazon.com) by merlin.infradead.org with esmtpsa (Exim 4.92 #3 (Red Hat Linux)) id 1hw6P5-0007j4-OM; Fri, 09 Aug 2019 15:02:03 +0000 Message-ID: <759652afb52a3258f0da44de61ed28d0875774f8.camel@infradead.org> From: David Woodhouse To: xen-devel Date: Fri, 09 Aug 2019 16:02:02 +0100 In-Reply-To: References: X-Mailer: Evolution 3.28.5-0ubuntu0.18.04.1 Mime-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by merlin.infradead.org. See http://www.infradead.org/rpr.html Subject: [Xen-devel] [PATCH v2 4/6] x86/boot: Rename trampoline_{start, end} to boot_trampoline_{start, end} X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Andrew Cooper , Wei Liu , Jan Beulich , Roger Pau =?iso-8859-1?q?Monn=E9?= Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" X-Virus-Scanned: ClamAV using ClamSMTP From: David Woodhouse In preparation for splitting the boot and permanent trampolines from each other. Some of these will change back, but most are boot so do the plain search/replace that way first, then a subsequent patch will extract the permanent trampoline code. Signed-off-by: David Woodhouse --- xen/arch/x86/boot/head.S | 12 ++++++------ xen/arch/x86/boot/trampoline.S | 10 +++++----- xen/arch/x86/boot/video.S | 4 ++-- xen/arch/x86/efi/efi-boot.h | 4 ++-- xen/arch/x86/setup.c | 4 ++-- xen/arch/x86/tboot.c | 6 +++--- xen/arch/x86/x86_64/mm.c | 2 +- xen/arch/x86/xen.lds.S | 6 +++--- xen/include/asm-x86/config.h | 6 +++--- 9 files changed, 27 insertions(+), 27 deletions(-) diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S index 07621d1a30..556dab127f 100644 --- a/xen/arch/x86/boot/head.S +++ b/xen/arch/x86/boot/head.S @@ -754,20 +754,20 @@ trampoline_setup: cmpb $0, sym_fs(skip_realmode) jz 1f /* If no-real-mode, jump straight to trampoline_protmode_entry */ - lea trampoline_protmode_entry-trampoline_start(%edi),%eax + lea trampoline_protmode_entry-boot_trampoline_start(%edi),%eax /* EBX == 0 indicates we are the BP (Boot Processor). */ xor %ebx,%ebx jmp 2f 1: /* Go via 16-bit code in trampoline_boot_cpu_entry */ - lea trampoline_boot_cpu_entry-trampoline_start(%edi),%eax + lea trampoline_boot_cpu_entry-boot_trampoline_start(%edi),%eax 2: pushl $BOOT_CS32 push %eax /* Copy bootstrap trampoline to low memory, below 1MB. */ - mov $sym_offs(trampoline_start),%esi - mov $((trampoline_end - trampoline_start) / 4),%ecx + mov $sym_offs(boot_trampoline_start),%esi + mov $((boot_trampoline_end - boot_trampoline_start) / 4),%ecx rep movsl %fs:(%esi),%es:(%edi) /* Jump into the relocated trampoline. */ @@ -779,8 +779,8 @@ cmdline_parse_early: reloc: #include "reloc.S" -ENTRY(trampoline_start) +ENTRY(boot_trampoline_start) #include "trampoline.S" -ENTRY(trampoline_end) +ENTRY(boot_trampoline_end) #include "x86_64.S" diff --git a/xen/arch/x86/boot/trampoline.S b/xen/arch/x86/boot/trampoline.S index 95a4bef553..26af9c6beb 100644 --- a/xen/arch/x86/boot/trampoline.S +++ b/xen/arch/x86/boot/trampoline.S @@ -31,7 +31,7 @@ * to be used for AP startup. */ #undef bootsym -#define bootsym(s) ((s)-trampoline_start) +#define bootsym(s) ((s)-boot_trampoline_start) #define bootsym_rel(sym, off, opnd...) \ bootsym(sym),##opnd; \ @@ -47,7 +47,7 @@ .long 111b - (off) - .; \ .popsection -#define bootdatasym(s) ((s)-trampoline_start) +#define bootdatasym(s) ((s)-boot_trampoline_start) #define bootdatasym_rel(sym, off, opnd...) \ bootdatasym(sym),##opnd; \ 111:; \ @@ -56,7 +56,7 @@ .popsection #undef trampsym -#define trampsym(s) ((s)-trampoline_start) +#define trampsym(s) ((s)-boot_trampoline_start) #define trampsym_rel(sym, off, opnd...) \ trampsym(sym),##opnd; \ @@ -66,7 +66,7 @@ .popsection #undef tramp32sym -#define tramp32sym(s) ((s)-trampoline_start) +#define tramp32sym(s) ((s)-boot_trampoline_start) #define tramp32sym_rel(sym, off, opnd...) \ tramp32sym(sym),##opnd; \ @@ -232,7 +232,7 @@ gdt_48: .word 6*8-1 /* The first page of trampoline is permanent, the rest boot-time only. */ /* Reuse the boot trampoline on the 1st trampoline page as stack for wakeup. */ - .equ wakeup_stack, trampoline_start + PAGE_SIZE + .equ wakeup_stack, boot_trampoline_start + PAGE_SIZE .global wakeup_stack /* From here on early boot only. */ diff --git a/xen/arch/x86/boot/video.S b/xen/arch/x86/boot/video.S index 03907e9e9a..5087c6a4d5 100644 --- a/xen/arch/x86/boot/video.S +++ b/xen/arch/x86/boot/video.S @@ -15,8 +15,8 @@ #include "video.h" -/* Scratch space layout: trampoline_end to trampoline_end+0x1000. */ -#define modelist bootsym(trampoline_end) /* 2kB (256 entries) */ +/* Scratch space layout: boot_trampoline_end to boot_trampoline_end+0x1000. */ +#define modelist bootsym(boot_trampoline_end) /* 2kB (256 entries) */ #define vesa_glob_info (modelist + 0x800) /* 1kB */ #define vesa_mode_info (vesa_glob_info + 0x400) /* 1kB */ diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h index 556942482e..fc2ea554b5 100644 --- a/xen/arch/x86/efi/efi-boot.h +++ b/xen/arch/x86/efi/efi-boot.h @@ -232,7 +232,7 @@ static void __init noreturn efi_arch_post_exit_boot(void) u64 cr4 = XEN_MINIMAL_CR4 & ~X86_CR4_PGE, efer; efi_arch_relocate_image(__XEN_VIRT_START - xen_phys_start); - memcpy((void *)trampoline_phys, trampoline_start, cfg.size); + memcpy((void *)trampoline_phys, boot_trampoline_start, cfg.size); /* Set system registers and transfer control. */ asm volatile("pushq $0\n\tpopfq"); @@ -566,7 +566,7 @@ static void __init efi_arch_memory_setup(void) cfg.addr = 0x100000; if ( efi_enabled(EFI_LOADER) ) - cfg.size = trampoline_end - trampoline_start; + cfg.size = boot_trampoline_end - boot_trampoline_start; else cfg.size = TRAMPOLINE_SPACE + TRAMPOLINE_STACK_SPACE; diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c index decea2e77a..06e779368c 100644 --- a/xen/arch/x86/setup.c +++ b/xen/arch/x86/setup.c @@ -1879,8 +1879,8 @@ int __hwdom_init xen_in_range(unsigned long mfn) if ( !xen_regions[0].s ) { /* S3 resume code (and other real mode trampoline code) */ - xen_regions[region_s3].s = bootsym_phys(trampoline_start); - xen_regions[region_s3].e = bootsym_phys(trampoline_end); + xen_regions[region_s3].s = bootsym_phys(boot_trampoline_start); + xen_regions[region_s3].e = bootsym_phys(boot_trampoline_end); /* * This needs to remain in sync with the uses of the same symbols in diff --git a/xen/arch/x86/tboot.c b/xen/arch/x86/tboot.c index f3fdee4d39..325d94d23a 100644 --- a/xen/arch/x86/tboot.c +++ b/xen/arch/x86/tboot.c @@ -369,9 +369,9 @@ void tboot_shutdown(uint32_t shutdown_type) */ g_tboot_shared->num_mac_regions = 3; /* S3 resume code (and other real mode trampoline code) */ - g_tboot_shared->mac_regions[0].start = bootsym_phys(trampoline_start); - g_tboot_shared->mac_regions[0].size = bootsym_phys(trampoline_end) - - bootsym_phys(trampoline_start); + g_tboot_shared->mac_regions[0].start = bootsym_phys(boot_trampoline_start); + g_tboot_shared->mac_regions[0].size = bootsym_phys(boot_trampoline_end) - + bootsym_phys(boot_trampoline_start); /* hypervisor .text + .rodata */ g_tboot_shared->mac_regions[1].start = (uint64_t)__pa(&_stext); g_tboot_shared->mac_regions[1].size = __pa(&__2M_rodata_end) - diff --git a/xen/arch/x86/x86_64/mm.c b/xen/arch/x86/x86_64/mm.c index 1919cae18b..149cc4f7b5 100644 --- a/xen/arch/x86/x86_64/mm.c +++ b/xen/arch/x86/x86_64/mm.c @@ -697,7 +697,7 @@ void __init zap_low_mappings(void) /* Replace with mapping of the boot trampoline only. */ map_pages_to_xen(trampoline_phys, maddr_to_mfn(trampoline_phys), - PFN_UP(trampoline_end - trampoline_start), + PFN_UP(boot_trampoline_end - boot_trampoline_start), __PAGE_HYPERVISOR); } diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S index 400dffaf23..6968262a60 100644 --- a/xen/arch/x86/xen.lds.S +++ b/xen/arch/x86/xen.lds.S @@ -377,12 +377,12 @@ ASSERT(IS_ALIGNED(cpu0_stack, STACK_SIZE), "cpu0_stack misaligned") ASSERT(IS_ALIGNED(__init_begin, PAGE_SIZE), "__init_begin misaligned") ASSERT(IS_ALIGNED(__init_end, PAGE_SIZE), "__init_end misaligned") -ASSERT(IS_ALIGNED(trampoline_start, 4), "trampoline_start misaligned") -ASSERT(IS_ALIGNED(trampoline_end, 4), "trampoline_end misaligned") +ASSERT(IS_ALIGNED(boot_trampoline_start, 4), "boot_trampoline_start misaligned") +ASSERT(IS_ALIGNED(boot_trampoline_end, 4), "boot_trampoline_end misaligned") ASSERT(IS_ALIGNED(__bss_start, 8), "__bss_start misaligned") ASSERT(IS_ALIGNED(__bss_end, 8), "__bss_end misaligned") -ASSERT((trampoline_end - trampoline_start) < TRAMPOLINE_SPACE - MBI_SPACE_MIN, +ASSERT((boot_trampoline_end - boot_trampoline_start) < TRAMPOLINE_SPACE - MBI_SPACE_MIN, "not enough room for trampoline and mbi data") ASSERT((wakeup_stack - wakeup_stack_start) >= WAKEUP_STACK_MIN, "wakeup stack too small") diff --git a/xen/include/asm-x86/config.h b/xen/include/asm-x86/config.h index 6e4f28d934..ada8c7b4f6 100644 --- a/xen/include/asm-x86/config.h +++ b/xen/include/asm-x86/config.h @@ -90,11 +90,11 @@ #ifndef __ASSEMBLY__ extern unsigned long trampoline_phys; #define bootsym_phys(sym) \ - (((unsigned long)&(sym)-(unsigned long)&trampoline_start)+trampoline_phys) + (((unsigned long)&(sym)-(unsigned long)&boot_trampoline_start)+trampoline_phys) #define bootsym(sym) \ (*RELOC_HIDE((typeof(&(sym)))__va(__pa(&(sym))), \ - trampoline_phys-__pa(trampoline_start))) -extern char trampoline_start[], trampoline_end[]; + trampoline_phys-__pa(boot_trampoline_start))) +extern char boot_trampoline_start[], boot_trampoline_end[]; extern char trampoline_realmode_entry[]; extern unsigned int trampoline_xen_phys_start; extern unsigned char trampoline_cpu_started;