Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp4278706imm; Fri, 18 May 2018 02:21:22 -0700 (PDT) X-Google-Smtp-Source: AB8JxZp9VDIJ3lp6sLDrc3byCibRJU2v0bWLnn8tA89qFRSYwPw8jWiBLMs0Q8Q3Fa4lF8gSChIT X-Received: by 2002:a63:887:: with SMTP id 129-v6mr6775980pgi.17.1526635282480; Fri, 18 May 2018 02:21:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526635282; cv=none; d=google.com; s=arc-20160816; b=zDwFNAs1X477RfqHExg8w6yRYjVgFW9IbU4SvBw9CLEbiUnhNmbWoTsIwytGUV9nPg K2QcTuFbdSezQdu8+McMVwx2JEB9q01pS1THkPOaO6u2J0hYEgF43dyqi8HLsK0ESs4M 14FOevLUZYGbwVLiY3b7VOkn4ghqtlZznGkl61r8UwH4arMAwbY25vdyOzAbKwK2HP8r udwMa+o6Hkui73MzWlVlkHmUKt6ZofKsvc5JPQGjpVJrAx+6dIwkcLS3AnUIgFNJGbSg Eqfeze/C1iYUpmJJgZo5gp8bjWjs+Zg9QFdZrJmKJAxmxFlSSSLaGjKOCFA4/v2mf3z9 T3KA== 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=Q5X3Qpi5Xw7YFBhAbTU0t/VIhy3q+hhHCEwQirIYb1Q=; b=SYhugX05H4d0RPHS0GXsSSqCBrGlArZc9h4SGGAMcDmv7ysumjBiJmIPsYc5DjePYg OuYls4WZmxeZ2kbmNy7sFFq+1ZPeSVJJENuIU5i7FkjkJ/z1H6L7mEp3GU60LnISNJgg ATincPidHFcamcK4TfcMaY60uuBBge6ppBLgBsxVj3enEYuoPYyW5ihO44XuwWeuy37u 94ec4JPdbmdB+L4FQ59l9tOgoE8+1RFDdre103sA6QO7dEo9wUBX8KE+rp458p5N5riN 616zWcwokxn5XYo7JA0nM18BqWonbk03nFf7owrNJVjSP1jSqigkkani8gVYN2tyJMRj OIHQ== 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 j194-v6si5530349pgc.92.2018.05.18.02.21.08; Fri, 18 May 2018 02:21:22 -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 S1753242AbeERJRw (ORCPT + 99 others); Fri, 18 May 2018 05:17:52 -0400 Received: from mx2.suse.de ([195.135.220.15]:45467 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753165AbeERJRm (ORCPT ); Fri, 18 May 2018 05:17:42 -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 54834AF73; Fri, 18 May 2018 09:17:41 +0000 (UTC) From: Jiri Slaby To: mingo@redhat.com Cc: linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, Jiri Slaby , Thomas Gleixner , "H. Peter Anvin" , x86@kernel.org Subject: [PATCH v6 15/28] x86/asm/purgatory: start using annotations Date: Fri, 18 May 2018 11:17:08 +0200 Message-Id: <20180518091721.7604-16-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 purgatory used no annotations at all. So include linux/linkage.h and annotate everything: * code by SYM_CODE_* * data by SYM_DATA_* Signed-off-by: Jiri Slaby Cc: Thomas Gleixner Cc: Ingo Molnar Cc: "H. Peter Anvin" Cc: x86@kernel.org --- arch/x86/purgatory/entry64.S | 21 ++++++++++++--------- arch/x86/purgatory/setup-x86_64.S | 14 ++++++++------ arch/x86/purgatory/stack.S | 7 ++++--- 3 files changed, 24 insertions(+), 18 deletions(-) diff --git a/arch/x86/purgatory/entry64.S b/arch/x86/purgatory/entry64.S index d1a4291d3568..c51e3c999e38 100644 --- a/arch/x86/purgatory/entry64.S +++ b/arch/x86/purgatory/entry64.S @@ -10,13 +10,13 @@ * Version 2. See the file COPYING for more details. */ +#include + .text .balign 16 .code64 - .globl entry64, entry64_regs - -entry64: +SYM_CODE_START(entry64) /* Setup a gdt that should be preserved */ lgdt gdt(%rip) @@ -56,10 +56,11 @@ new_cs_exit: /* Jump to the new code... */ jmpq *rip(%rip) +SYM_CODE_END(entry64) .section ".rodata" .balign 4 -entry64_regs: +SYM_DATA_START(entry64_regs) rax: .quad 0x0 rcx: .quad 0x0 rdx: .quad 0x0 @@ -77,12 +78,12 @@ r13: .quad 0x0 r14: .quad 0x0 r15: .quad 0x0 rip: .quad 0x0 - .size entry64_regs, . - entry64_regs +SYM_DATA_END(entry64_regs) /* GDT */ .section ".rodata" .balign 16 -gdt: +SYM_DATA_START_LOCAL(gdt) /* 0x00 unusable segment * 0x08 unused * so use them as gdt ptr @@ -96,6 +97,8 @@ gdt: /* 0x18 4GB flat data segment */ .word 0xFFFF, 0x0000, 0x9200, 0x00CF -gdt_end: -stack: .quad 0, 0 -stack_init: +SYM_DATA_END_LABEL(gdt, SYM_L_LOCAL, gdt_end) + +SYM_DATA_START_LOCAL(stack) + .quad 0, 0 +SYM_DATA_END_LABEL(stack, SYM_L_LOCAL, stack_init) diff --git a/arch/x86/purgatory/setup-x86_64.S b/arch/x86/purgatory/setup-x86_64.S index dfae9b9e60b5..f0de104d3f3a 100644 --- a/arch/x86/purgatory/setup-x86_64.S +++ b/arch/x86/purgatory/setup-x86_64.S @@ -9,14 +9,14 @@ * This source code is licensed under the GNU General Public License, * Version 2. See the file COPYING for more details. */ +#include #include .text - .globl purgatory_start .balign 16 -purgatory_start: .code64 +SYM_CODE_START(purgatory_start) /* Load a gdt so I know what the segment registers are */ lgdt gdt(%rip) @@ -34,10 +34,12 @@ purgatory_start: /* Call the C code */ call purgatory jmp entry64 +SYM_CODE_END(purgatory_start) .section ".rodata" .balign 16 -gdt: /* 0x00 unusable segment +SYM_DATA_START_LOCAL(gdt) + /* 0x00 unusable segment * 0x08 unused * so use them as the gdt ptr */ @@ -50,10 +52,10 @@ gdt: /* 0x00 unusable segment /* 0x18 4GB flat data segment */ .word 0xFFFF, 0x0000, 0x9200, 0x00CF -gdt_end: +SYM_DATA_END_LABEL(gdt, SYM_L_LOCAL, gdt_end) .bss .balign 4096 -lstack: +SYM_DATA_START_LOCAL(lstack) .skip 4096 -lstack_end: +SYM_DATA_END_LABEL(lstack, SYM_L_LOCAL, lstack_end) diff --git a/arch/x86/purgatory/stack.S b/arch/x86/purgatory/stack.S index 50a4147f91fb..987e6510a960 100644 --- a/arch/x86/purgatory/stack.S +++ b/arch/x86/purgatory/stack.S @@ -7,13 +7,14 @@ * Version 2. See the file COPYING for more details. */ +#include + /* A stack for the loaded kernel. * Separate and in the data section so it can be prepopulated. */ .data .balign 4096 - .globl stack, stack_end -stack: +SYM_DATA_START(stack) .skip 4096 -stack_end: +SYM_DATA_END_LABEL(stack, SYM_L_GLOBAL, stack_end) -- 2.16.3