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:
Alexander von Gluck IV
2017-07-10 15:19:31 -05:00
23 changed files with 61 additions and 375 deletions
+18 -49
View File
@@ -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
-2
View File
@@ -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