Merge branch 'arm-noboards'
* Remove the target-board system. * From now on, we target generic non-x86 architectures while leveraging fdt when needed. * ARM mmc images will likely need some post-processing to make them bootable on individual hardware. (This is actually how distros like Fedora handle ARM now. The image 'writer' application is told what hardware the image is for and adds a vendor bootloader / SPL / u-boot / etc)
This commit is contained in:
+18
-49
@@ -233,50 +233,16 @@ rule KernelArchitectureSetup architecture
|
||||
HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 192 ; # in kB - unused yet
|
||||
|
||||
case arm :
|
||||
switch $(HAIKU_BOOT_BOARD) {
|
||||
case beagleboard :
|
||||
{
|
||||
HAIKU_BOOT_PLATFORM ?= u-boot ;
|
||||
HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 1440 ;
|
||||
}
|
||||
case beaglebone :
|
||||
{
|
||||
HAIKU_BOOT_PLATFORM ?= u-boot ;
|
||||
HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 1440 ;
|
||||
}
|
||||
case neo_freerunner :
|
||||
{
|
||||
HAIKU_BOOT_PLATFORM ?= u-boot ;
|
||||
HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 1440 ;
|
||||
}
|
||||
case overo :
|
||||
{
|
||||
HAIKU_BOOT_PLATFORM ?= u-boot ;
|
||||
HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 1440 ;
|
||||
}
|
||||
case rpi2 :
|
||||
{
|
||||
HAIKU_BOOT_PLATFORM ?= u-boot ;
|
||||
HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 1440 ;
|
||||
}
|
||||
case cubieboard4 :
|
||||
{
|
||||
HAIKU_BOOT_PLATFORM ?= u-boot ;
|
||||
HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 1440 ;
|
||||
}
|
||||
case verdex :
|
||||
{
|
||||
HAIKU_BOOT_PLATFORM ?= u-boot ;
|
||||
HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 1440 ;
|
||||
}
|
||||
case * :
|
||||
{
|
||||
Exit "Set HAIKU_BOOT_BOARD for your target ARM device!" ;
|
||||
}
|
||||
}
|
||||
HAIKU_BOOT_PLATFORM ?= u-boot ;
|
||||
|
||||
HAIKU_BOOT_SDIMAGE_SIZE ?= 128 ;
|
||||
# SOC's like allwinner need an offset to skip the hardcoded initial loader
|
||||
HAIKU_BOOT_SDIMAGE_BEGIN = 40950 ; # 512-byte sectors (divisible by 63)
|
||||
|
||||
HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 1440 ;
|
||||
# offset in floppy image (>= sizeof(haiku_loader))
|
||||
HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 192 ; # in kB - unused yet
|
||||
HAIKU_BOOT_LOADER_BASE ?= 0x1000000 ;
|
||||
|
||||
case x86 :
|
||||
HAIKU_BOOT_PLATFORM ?= bios_ia32 ;
|
||||
@@ -365,17 +331,20 @@ rule KernelArchitectureSetup architecture
|
||||
HAIKU_KERNEL_PIC_LINKFLAGS = ;
|
||||
HAIKU_KERNEL_ADDON_LINKFLAGS = ;
|
||||
|
||||
# Include embedded board-specific file.
|
||||
if $(HAIKU_BOOT_BOARD) {
|
||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) board $(HAIKU_BOOT_BOARD)
|
||||
BoardSetup ] ;
|
||||
if $(HAIKU_BOARD_LOADER_BASE) {
|
||||
HAIKU_BOOT_LDFLAGS +=
|
||||
--defsym BOARD_LOADER_BASE=$(HAIKU_BOARD_LOADER_BASE) ;
|
||||
}
|
||||
# Any special kernel base addresses
|
||||
if $(HAIKU_BOOT_LOADER_BASE) {
|
||||
HAIKU_BOOT_LDFLAGS +=
|
||||
--defsym BOOT_LOADER_BASE=$(HAIKU_BOOT_LOADER_BASE) ;
|
||||
}
|
||||
|
||||
switch $(cpu) {
|
||||
case arm :
|
||||
# Workaround for ld using 32k for alignment despite forcing it in the config...
|
||||
# should definitely not be needed!
|
||||
HAIKU_KERNEL_LINKFLAGS +=
|
||||
-Wl,-z -Wl,max-page-size=0x1000
|
||||
-Wl,-z -Wl,common-page-size=0x1000 ;
|
||||
|
||||
case ppc :
|
||||
# Build a position independent PPC kernel. We need to be able to
|
||||
# relocate the kernel, since the virtual address space layout at
|
||||
|
||||
@@ -710,7 +710,6 @@ if $(TARGET_PLATFORM) = haiku {
|
||||
TARGET_BOOT_LIBSUPC++ = $(HAIKU_BOOT_LIBSUPC++_$(TARGET_PACKAGING_ARCH)) ;
|
||||
|
||||
TARGET_BOOT_PLATFORM ?= $(HAIKU_BOOT_PLATFORM) ;
|
||||
TARGET_BOOT_BOARD ?= $(HAIKU_BOOT_BOARD) ;
|
||||
|
||||
local architecture ;
|
||||
for architecture in $(TARGET_PACKAGING_ARCHS) {
|
||||
@@ -732,7 +731,6 @@ if $(TARGET_PLATFORM) = haiku {
|
||||
TARGET_BOOT_LIBSUPC++ = ;
|
||||
|
||||
TARGET_BOOT_PLATFORM = ;
|
||||
TARGET_BOOT_BOARD = ;
|
||||
|
||||
TARGET_DEFINES_$(TARGET_PACKAGING_ARCH) = ;
|
||||
# all flags are in TARGET_DEFINES
|
||||
|
||||
Reference in New Issue
Block a user