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:
parent
7081093531
commit
12769b3b78
|
@ -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
|
|
@ -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
|
||||
|
Loading…
Reference in New Issue