9
0
Fork 0

Add the whole x86 architecture to the build system

Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Juergen Beisert 2010-01-12 11:15:48 +01:00 committed by Sascha Hauer
parent 7081093531
commit 12769b3b78
2 changed files with 117 additions and 0 deletions

67
arch/x86/Kconfig Normal file
View File

@ -0,0 +1,67 @@
#
#
#
config ARCH_TEXT_BASE
hex
default 0x00007c00 if MACH_X86_GENERIC
config BOARDINFO
default "Generic x86 bootloader" if MACH_X86_GENERIC
config BOARD_LINKER_SCRIPT
bool
default n
config GENERIC_LINKER_SCRIPT
bool
default y
depends on !BOARD_LINKER_SCRIPT
config X86
bool
select HAS_KALLSYMS
select HAS_MODULES
select HAVE_CONFIGURABLE_MEMORY_LAYOUT
select HAVE_CONFIGURABLE_TEXT_BASE
default y
choice
prompt "Select your board"
config MACH_X86_GENERIC
bool "Generic x86"
select X86_BOOTLOADER
help
Say Y here if you want barebox to be your BIOS based bootloader
endchoice
choice
prompt "Bring up type"
config X86_BIOS_BRINGUP
prompt "16 bit BIOS"
bool
help
Barebox will act as a BIOS based bootloader. This includes
some 16 bit real mode code and some restrictions everyone knows
from BIOS based systems.
config X86_NATIVE_BRINGUP
bool "native"
help
Barebox will act as a native bootloader. This includes all the
required initialization needed to bring up a piece of hardware.
Note: Not implemented yet
endchoice
source arch/x86/boot/Kconfig
source arch/x86/mach-i386/Kconfig
source common/Kconfig
source commands/Kconfig
source net/Kconfig
source drivers/Kconfig
source fs/Kconfig
source lib/Kconfig

50
arch/x86/Makefile Normal file
View File

@ -0,0 +1,50 @@
CPPFLAGS += -D__X86__ -fno-strict-aliasing
board-y := x86_generic
machine-y := i386
TEXT_BASE = $(CONFIG_TEXT_BASE)
CPPFLAGS += -march=i386 -DTEXT_BASE=$(TEXT_BASE) -P
ifndef CONFIG_MODULES
# Add cleanup flags
CPPFLAGS += -fdata-sections -ffunction-sections
LDFLAGS_uboot += -static --gc-sections
endif
ifeq ($(incdir-y),)
incdir-y := $(machine-y)
endif
INCDIR := arch-$(incdir-y)
all: $(KBUILD_IMAGE)
ifneq ($(board-y),)
BOARD := board/$(board-y)/
else
BOARD :=
endif
ifneq ($(machine-y),)
MACH := arch/x86/mach-$(machine-y)/
else
MACH :=
endif
common-y += $(BOARD) $(MACH)
common-y += arch/x86/lib/
common-y += arch/x86/boot/
# arch/x86/cpu/
lds-$(CONFIG_GENERIC_LINKER_SCRIPT) := arch/x86/lib/barebox.lds
lds-$(CONFIG_BOARD_LINKER_SCRIPT) := $(BOARD)/barebox.lds
CLEAN_FILES += arch/x86/lib/barebox.lds barebox.map barebox.S