diff options
Diffstat (limited to 'arch/x86/kernel/vmlinux.lds.S')
-rw-r--r-- | arch/x86/kernel/vmlinux.lds.S | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S index da6b35a98260..49edf2dd3613 100644 --- a/arch/x86/kernel/vmlinux.lds.S +++ b/arch/x86/kernel/vmlinux.lds.S | |||
@@ -147,7 +147,6 @@ SECTIONS | |||
147 | _edata = .; | 147 | _edata = .; |
148 | } :data | 148 | } :data |
149 | 149 | ||
150 | #ifdef CONFIG_X86_64 | ||
151 | 150 | ||
152 | . = ALIGN(PAGE_SIZE); | 151 | . = ALIGN(PAGE_SIZE); |
153 | __vvar_page = .; | 152 | __vvar_page = .; |
@@ -165,12 +164,15 @@ SECTIONS | |||
165 | #undef __VVAR_KERNEL_LDS | 164 | #undef __VVAR_KERNEL_LDS |
166 | #undef EMIT_VVAR | 165 | #undef EMIT_VVAR |
167 | 166 | ||
167 | /* | ||
168 | * Pad the rest of the page with zeros. Otherwise the loader | ||
169 | * can leave garbage here. | ||
170 | */ | ||
171 | . = __vvar_beginning_hack + PAGE_SIZE; | ||
168 | } :data | 172 | } :data |
169 | 173 | ||
170 | . = ALIGN(__vvar_page + PAGE_SIZE, PAGE_SIZE); | 174 | . = ALIGN(__vvar_page + PAGE_SIZE, PAGE_SIZE); |
171 | 175 | ||
172 | #endif /* CONFIG_X86_64 */ | ||
173 | |||
174 | /* Init code and data - will be freed after init */ | 176 | /* Init code and data - will be freed after init */ |
175 | . = ALIGN(PAGE_SIZE); | 177 | . = ALIGN(PAGE_SIZE); |
176 | .init.begin : AT(ADDR(.init.begin) - LOAD_OFFSET) { | 178 | .init.begin : AT(ADDR(.init.begin) - LOAD_OFFSET) { |