[tip:,x86/boot] x86/head/64: Mark 'startup_gdt[]' and 'startup_gdt_descr' as __initdata
Commit Message
The following commit has been merged into the x86/boot branch of tip:
Commit-ID: dc6283009016acd5a8c6a6c073506d82bbc55529
Gitweb: https://git.kernel.org/tip/dc6283009016acd5a8c6a6c073506d82bbc55529
Author: Hou Wenlong <houwenlong.hwl@antgroup.com>
AuthorDate: Wed, 12 Jul 2023 11:30:05 +08:00
Committer: Ingo Molnar <mingo@kernel.org>
CommitterDate: Mon, 16 Oct 2023 13:38:24 +02:00
x86/head/64: Mark 'startup_gdt[]' and 'startup_gdt_descr' as __initdata
As 'startup_gdt[]' and 'startup_gdt_descr' are only used in booting,
mark them as __initdata to allow them to be freed after boot.
Signed-off-by: Hou Wenlong <houwenlong.hwl@antgroup.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/c85903a7cfad37d14a7e5a4df9fc7119a3669fb3.1689130310.git.houwenlong.hwl@antgroup.com
---
arch/x86/kernel/head64.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@@ -69,7 +69,7 @@ EXPORT_SYMBOL(vmemmap_base);
/*
* GDT used on the boot CPU before switching to virtual addresses.
*/
-static struct desc_struct startup_gdt[GDT_ENTRIES] = {
+static struct desc_struct startup_gdt[GDT_ENTRIES] __initdata = {
[GDT_ENTRY_KERNEL32_CS] = GDT_ENTRY_INIT(0xc09b, 0, 0xfffff),
[GDT_ENTRY_KERNEL_CS] = GDT_ENTRY_INIT(0xa09b, 0, 0xfffff),
[GDT_ENTRY_KERNEL_DS] = GDT_ENTRY_INIT(0xc093, 0, 0xfffff),
@@ -79,7 +79,7 @@ static struct desc_struct startup_gdt[GDT_ENTRIES] = {
* Address needs to be set at runtime because it references the startup_gdt
* while the kernel still uses a direct mapping.
*/
-static struct desc_ptr startup_gdt_descr = {
+static struct desc_ptr startup_gdt_descr __initdata = {
.size = sizeof(startup_gdt)-1,
.address = 0,
};