[tip: x86/boot] x86/head/64: Move the __head definition to <asm/init.h>

From: tip-bot2 for Hou Wenlong
Date: Tue Oct 17 2023 - 09:04:04 EST


The following commit has been merged into the x86/boot branch of tip:

Commit-ID: d2a285d65bfde3218fd0c3b88794d0135ced680b
Gitweb: https://git.kernel.org/tip/d2a285d65bfde3218fd0c3b88794d0135ced680b
Author: Hou Wenlong <houwenlong.hwl@xxxxxxxxxxxx>
AuthorDate: Tue, 17 Oct 2023 15:08:06 +08:00
Committer: Ingo Molnar <mingo@xxxxxxxxxx>
CommitterDate: Tue, 17 Oct 2023 14:51:14 +02:00

x86/head/64: Move the __head definition to <asm/init.h>

Move the __head section definition to a header to widen its use.

An upcoming patch will mark the code as __head in mem_encrypt_identity.c too.

Signed-off-by: Hou Wenlong <houwenlong.hwl@xxxxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Link: https://lore.kernel.org/r/0583f57977be184689c373fe540cbd7d85ca2047.1697525407.git.houwenlong.hwl@xxxxxxxxxxxx
---
arch/x86/include/asm/init.h | 2 ++
arch/x86/kernel/head64.c | 3 +--
2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/x86/include/asm/init.h b/arch/x86/include/asm/init.h
index 5f1d3c4..cc9ccf6 100644
--- a/arch/x86/include/asm/init.h
+++ b/arch/x86/include/asm/init.h
@@ -2,6 +2,8 @@
#ifndef _ASM_X86_INIT_H
#define _ASM_X86_INIT_H

+#define __head __section(".head.text")
+
struct x86_mapping_info {
void *(*alloc_pgt_page)(void *); /* allocate buf for page table */
void *context; /* context for alloc_pgt_page */
diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c
index f0efc22..05a110c 100644
--- a/arch/x86/kernel/head64.c
+++ b/arch/x86/kernel/head64.c
@@ -41,6 +41,7 @@
#include <asm/trapnr.h>
#include <asm/sev.h>
#include <asm/tdx.h>
+#include <asm/init.h>

/*
* Manage page tables very early on.
@@ -84,8 +85,6 @@ static struct desc_ptr startup_gdt_descr __initdata = {
.address = 0,
};

-#define __head __section(".head.text")
-
static void __head *fixup_pointer(void *ptr, unsigned long physaddr)
{
return ptr - (void *)_text + (void *)physaddr;