Messages in this thread | | | Date | Mon, 16 Oct 2023 13:57:06 +0200 | From | Ingo Molnar <> | Subject | Re: [PATCH RFC 1/7] x86/head/64: Mark startup_gdt and startup_gdt_descr as __initdata |
| |
* Hou Wenlong <houwenlong.hwl@antgroup.com> wrote:
> As startup_gdt and startup_gdt_descr are only used in booting, make them > as __initdata to allow them to be freed after boot. > > Signed-off-by: Hou Wenlong <houwenlong.hwl@antgroup.com> > --- > arch/x86/kernel/head64.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c > index 49f7629b17f7..dd357807ffb5 100644 > --- a/arch/x86/kernel/head64.c > +++ b/arch/x86/kernel/head64.c > @@ -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), > .address = 0,
Yeah, so I think this and patch #1 are independently useful of the PIE feature, and I merged them into tip:x86/boot for a v6.7 merge.
Mind re-sending any other patches for x86 that can be merged? For example patch #6 looks good too, but was mixed up a bit with a previous PIE-enablement patch. Moving the __head definition to a header should also probably done as a separate patch, followed by the widening of its use.
Thanks,
Ingo
| |