Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp4276331imm; Fri, 18 May 2018 02:18:21 -0700 (PDT) X-Google-Smtp-Source: AB8JxZo/OQcaXYaQR4R3P7UyVunoQ+0ILKck9UZ87rwFnCDR4gyMR8WlAPOOjNkCd1O1Oi+8GH7y X-Received: by 2002:a17:902:9349:: with SMTP id g9-v6mr8475517plp.375.1526635101352; Fri, 18 May 2018 02:18:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526635101; cv=none; d=google.com; s=arc-20160816; b=djl8/tMmsmCApt2PoECEy74MoBOeSPmLyXTP4imoPcKkVZ4SSIdvVzXhWEYtJhc9W+ staCVAIMSbTpXJCiY8RklUougPFDq+DeMs6Qxb2HXfdWtLG9jsd4m8lFE5ZE0nvE9j5U umxr+K8qvyL2bEAcB1xG2tuCC6fJxLTW15OBHzLFerUE44QeEpjyGm8AmZiNI86uAgAa M3rxxlVrAYh70FhyeEjCkwqvecSTknIje+gGrdbK6/p+Z5bu6v6dZ5v5b63g7feRpjbr igoLc9JPztLHFMf0kRXZFdFW6cIk5Bwr3qO3qeZOa96p0O67kwJzDTC5f/WjbT9IgLW2 5STA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=35rD/TbjpFsPK/XUuQLt5jTo+r30hxkiy6Gokgni6Xc=; b=qnvJiDBdVl1aZW1DckhusVLj8o5iVg0Di+pBmAyteiN4/1/DcAYeuSifrzrWBzESUs XaJjiK4xoGcV4jpCKow3rKWx3MqzuI8NGIyf8xPoywbXZLIF4fKuMwXCVaVgucRVfkim g6MFl+4thlsOIpEiPIK7hAHKuBhIJRRYcT1PxuoulSN12dA7s4yjE7tDcVe7s9OFT0eF CmaK+MmexDgVu5ZefLRFdvefJpHlzTxdRCaiyzPULdZ5nGbqsgiZ36iaLP7F9HsTGShZ qy+zJHJhwj+6/4j3xoDlM9WoLTSh+iTHJZ395BVYGFgQY2c9CvyT0UnY76OPY7XWG7TG 5LCQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n8-v6si6955164plp.468.2018.05.18.02.18.07; Fri, 18 May 2018 02:18:21 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753021AbeERJRy (ORCPT + 99 others); Fri, 18 May 2018 05:17:54 -0400 Received: from mx2.suse.de ([195.135.220.15]:45402 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753096AbeERJRp (ORCPT ); Fri, 18 May 2018 05:17:45 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id D3C6CAF74; Fri, 18 May 2018 09:17:42 +0000 (UTC) From: Jiri Slaby To: mingo@redhat.com Cc: linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, Jiri Slaby , "H. Peter Anvin" , Thomas Gleixner , x86@kernel.org Subject: [PATCH v6 16/28] x86/asm: do not annotate functions by GLOBAL Date: Fri, 18 May 2018 11:17:09 +0200 Message-Id: <20180518091721.7604-17-jslaby@suse.cz> X-Mailer: git-send-email 2.16.3 In-Reply-To: <20180518091721.7604-1-jslaby@suse.cz> References: <20180518091721.7604-1-jslaby@suse.cz> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org GLOBAL is an x86's custom macro and is going to die very soon. It was meant for global symbols, but here, it was used for functions. Instead, use the new macros SYM_FUNC_START* and SYM_CODE_START* (depending on the type of a function) which are dedicated for global functions. And since they both require a closing by SYM_*_END, we do this here too. startup_64, which does not use GLOBAL, but uses .globl explicitly, is converted too. in_pm32 should not be global at all as it is used only locally, so switch to SYM_FUNC_START_LOCAL_NOALIGN. "No alignments" are preserved. Signed-off-by: Jiri Slaby Cc: "H. Peter Anvin" Cc: Thomas Gleixner Cc: Ingo Molnar Cc: --- arch/x86/boot/copy.S | 16 ++++++++-------- arch/x86/boot/pmjump.S | 8 ++++---- arch/x86/kernel/head_64.S | 5 +++-- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/arch/x86/boot/copy.S b/arch/x86/boot/copy.S index 15d9f74b0008..73aa8307a10f 100644 --- a/arch/x86/boot/copy.S +++ b/arch/x86/boot/copy.S @@ -17,7 +17,7 @@ .code16 .text -GLOBAL(memcpy) +SYM_FUNC_START_NOALIGN(memcpy) pushw %si pushw %di movw %ax, %di @@ -31,9 +31,9 @@ GLOBAL(memcpy) popw %di popw %si retl -ENDPROC(memcpy) +SYM_FUNC_END(memcpy) -GLOBAL(memset) +SYM_FUNC_START_NOALIGN(memset) pushw %di movw %ax, %di movzbl %dl, %eax @@ -46,22 +46,22 @@ GLOBAL(memset) rep; stosb popw %di retl -ENDPROC(memset) +SYM_FUNC_END(memset) -GLOBAL(copy_from_fs) +SYM_FUNC_START_NOALIGN(copy_from_fs) pushw %ds pushw %fs popw %ds calll memcpy popw %ds retl -ENDPROC(copy_from_fs) +SYM_FUNC_END(copy_from_fs) -GLOBAL(copy_to_fs) +SYM_FUNC_START_NOALIGN(copy_to_fs) pushw %es pushw %fs popw %es calll memcpy popw %es retl -ENDPROC(copy_to_fs) +SYM_FUNC_END(copy_to_fs) diff --git a/arch/x86/boot/pmjump.S b/arch/x86/boot/pmjump.S index 3e0edc6d2a20..b90e42eb1a62 100644 --- a/arch/x86/boot/pmjump.S +++ b/arch/x86/boot/pmjump.S @@ -23,7 +23,7 @@ /* * void protected_mode_jump(u32 entrypoint, u32 bootparams); */ -GLOBAL(protected_mode_jump) +SYM_FUNC_START_NOALIGN(protected_mode_jump) movl %edx, %esi # Pointer to boot_params table xorl %ebx, %ebx @@ -44,11 +44,11 @@ GLOBAL(protected_mode_jump) .byte 0x66, 0xea # ljmpl opcode 2: .long in_pm32 # offset .word __BOOT_CS # segment -ENDPROC(protected_mode_jump) +SYM_FUNC_END(protected_mode_jump) .code32 .section ".text32","ax" -GLOBAL(in_pm32) +SYM_FUNC_START_LOCAL_NOALIGN(in_pm32) # Set up data segments for flat 32-bit mode movl %ecx, %ds movl %ecx, %es @@ -74,4 +74,4 @@ GLOBAL(in_pm32) lldt %cx jmpl *%eax # Jump to the 32-bit entrypoint -ENDPROC(in_pm32) +SYM_FUNC_END(in_pm32) diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S index 80b620c824eb..48e71043b99c 100644 --- a/arch/x86/kernel/head_64.S +++ b/arch/x86/kernel/head_64.S @@ -50,8 +50,7 @@ L3_START_KERNEL = pud_index(__START_KERNEL_map) .text __HEAD .code64 - .globl startup_64 -startup_64: +SYM_CODE_START_NOALIGN(startup_64) UNWIND_HINT_EMPTY /* * At this point the CPU runs in 64bit mode CS.L = 1 CS.D = 0, @@ -91,6 +90,8 @@ startup_64: /* Form the CR3 value being sure to include the CR3 modifier */ addq $(early_top_pgt - __START_KERNEL_map), %rax jmp 1f +SYM_CODE_END(startup_64) + ENTRY(secondary_startup_64) UNWIND_HINT_EMPTY /* -- 2.16.3