x86: introduce kernel/head32.c
Copy x86_64 and add a head32.c so we can start moving early architecture initialization out of assembly. [ Sam Ravnborg <sam@ravnborg.org>: updated it to x86 ] Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Cc: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
322850af8d
commit
700efc1b9f
@ -159,9 +159,9 @@ KBUILD_AFLAGS += $(mflags-y)
|
||||
###
|
||||
# Kernel objects
|
||||
|
||||
head-y := arch/x86/kernel/head_$(BITS).o
|
||||
head-$(CONFIG_X86_64) += arch/x86/kernel/head64.o
|
||||
head-y += arch/x86/kernel/init_task.o
|
||||
head-y := arch/x86/kernel/head_$(BITS).o
|
||||
head-y += arch/x86/kernel/head$(BITS).o
|
||||
head-y += arch/x86/kernel/init_task.o
|
||||
|
||||
libs-y += arch/x86/lib/
|
||||
|
||||
|
@ -2,8 +2,7 @@
|
||||
# Makefile for the linux kernel.
|
||||
#
|
||||
|
||||
extra-y := head_$(BITS).o init_task.o vmlinux.lds
|
||||
extra-$(CONFIG_X86_64) += head64.o
|
||||
extra-y := head_$(BITS).o head$(BITS).o init_task.o vmlinux.lds
|
||||
|
||||
CPPFLAGS_vmlinux.lds += -U$(UTS_MACHINE)
|
||||
|
||||
|
14
arch/x86/kernel/head32.c
Normal file
14
arch/x86/kernel/head32.c
Normal file
@ -0,0 +1,14 @@
|
||||
/*
|
||||
* linux/arch/i386/kernel/head32.c -- prepare to run common code
|
||||
*
|
||||
* Copyright (C) 2000 Andrea Arcangeli <andrea@suse.de> SuSE
|
||||
* Copyright (C) 2007 Eric Biederman <ebiederm@xmission.com>
|
||||
*/
|
||||
|
||||
#include <linux/init.h>
|
||||
#include <linux/start_kernel.h>
|
||||
|
||||
void __init i386_start_kernel(void)
|
||||
{
|
||||
start_kernel();
|
||||
}
|
@ -450,7 +450,7 @@ is386: movl $2,%ecx # set MP
|
||||
jmp initialize_secondary # all other CPUs call initialize_secondary
|
||||
1:
|
||||
#endif /* CONFIG_SMP */
|
||||
jmp start_kernel
|
||||
jmp i386_start_kernel
|
||||
|
||||
/*
|
||||
* We depend on ET to be correct. This checks for 287/387.
|
||||
|
Loading…
Reference in New Issue
Block a user