[ARM]
- consolidate board specific definitions into build/jam/board/*/BoardSetup to avoid duplicating address values everywhere, - add various addresses, boot script, custom C/C++ flags and SD card definition, - not sure BoardSetup is included at the best place though, - replaced board-specific ldscript with passing the loader address directly to LD from BoardSetup, - added haiku.mmc target which generates an mmc/SD card image with a FAT partition with the files needed to boot for the board, should later be integrated with haiku.image with the BFS partition offset passed to bfs_shell, requires apt:sfdisk,mtools on GNU/Linux, - added some more rules, one to build a script for the SD image, - fake a NetBSD loader for now, U-Boot doesn't know haiku, and we'll need a way to pass the tgz image and RAM size, we'll either use standlone way (usual C argv[]) or the NetBSD args, - style fixes, - 80 cols, /me pets Ingo. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32284 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -870,6 +870,7 @@ if $(TARGET_PLATFORM) = haiku {
|
||||
TARGET_GCC_LIBGCC_OBJECTS = ;
|
||||
|
||||
TARGET_BOOT_PLATFORM = ;
|
||||
TARGET_BOOT_BOARD = ;
|
||||
|
||||
TARGET_LIBRARY_NAME_MAP = HOST_LIBRARY_NAME_MAP ;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
# Gumstix Overo board-specific definitions
|
||||
|
||||
HAIKU_BOARD_DESCRIPTION = "Gumstix Overo" ;
|
||||
|
||||
|
||||
#
|
||||
# Various hardcoded addresses
|
||||
#
|
||||
|
||||
# load address for haiku_loader
|
||||
HAIKU_BOARD_LOADER_BASE = 0x80008000 ;
|
||||
# entry points (raw binary, and netbsd loader emulation)
|
||||
HAIKU_BOARD_LOADER_ENTRY_RAW = 0x80008000 ;
|
||||
HAIKU_BOARD_LOADER_ENTRY_NBSD = 0x80008004 ;
|
||||
|
||||
# load address for haiku_loader uimage
|
||||
# (must be different than real load address)
|
||||
HAIKU_BOARD_LOADER_UIBASE = 0x84000000 ;
|
||||
|
||||
HAIKU_BOARD_LOADER_STACK_BASE = 0x84000000 ;
|
||||
|
||||
|
||||
#
|
||||
# mmc/SD image
|
||||
#
|
||||
|
||||
# in MB
|
||||
HAIKU_BOARD_SDIMAGE_SIZE = 256 ;
|
||||
|
||||
# in MB
|
||||
HAIKU_BOARD_SDIMAGE_FAT_SIZE = 32 ;
|
||||
|
||||
# offset in blocks XXX: FIXME
|
||||
# (autodetect from sfdisk or use cylinder count for fat size)
|
||||
HAIKU_BOARD_SDIMAGE_BFS_OFFSET = ;
|
||||
|
||||
# autoboot script
|
||||
HAIKU_BOARD_SDIMAGE_UBOOT_SCRIPT_NAME = gumstix-factory.script ;
|
||||
HAIKU_BOARD_SDIMAGE_UBOOT_SCRIPT = "if mmcinit; then \
|
||||
fatload mmc 0 $(HAIKU_BOARD_LOADER_UIBASE) haiku_loader.ub; \
|
||||
bootm $(HAIKU_BOARD_LOADER_UIBASE); \
|
||||
fi" ;
|
||||
|
||||
HAIKU_BOARD_SDIMAGE_FILES =
|
||||
haiku_loader
|
||||
haiku_loader.ub
|
||||
$(HAIKU_BOARD_SDIMAGE_UBOOT_SCRIPT_NAME)
|
||||
;
|
||||
|
||||
|
||||
#
|
||||
# gcc flags for the specific cpu
|
||||
#
|
||||
|
||||
TARGET_KERNEL_CCFLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
TARGET_KERNEL_C++FLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
TARGET_CCFLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
TARGET_C++FLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
# Gumstix Verdex board-specific definitions
|
||||
|
||||
HAIKU_BOARD_DESCRIPTION = "Gumstix Verdex" ;
|
||||
|
||||
#
|
||||
# Various hardcoded addresses
|
||||
#
|
||||
|
||||
# load address for haiku_loader
|
||||
HAIKU_BOARD_LOADER_BASE = 0xa2000000 ;
|
||||
# entry points (raw binary, and netbsd loader emulation)
|
||||
HAIKU_BOARD_LOADER_ENTRY_RAW = 0xa2000000 ;
|
||||
HAIKU_BOARD_LOADER_ENTRY_NBSD = 0xa2000004 ;
|
||||
|
||||
# load address for haiku_loader uimage
|
||||
# (must be different than real load address)
|
||||
HAIKU_BOARD_LOADER_UIBASE = 0xa4000000 ;
|
||||
|
||||
HAIKU_BOARD_LOADER_STACK_BASE = 0xa4000000 ;
|
||||
|
||||
#
|
||||
# Flash image
|
||||
#
|
||||
|
||||
# u-boot binary image filename, to build the flash image
|
||||
# XXX: Locate it somehow (for now just put it in generated/)
|
||||
HAIKU_BOARD_UBOOT_IMAGE ?= u-boot-verdex-400-r1604.bin ;
|
||||
HAIKU_BOARD_UBOOT_IMAGE_URL =
|
||||
http://www.gumstix.net/feeds/u-boot/u-boot-verdex-400-r1604.bin ;
|
||||
|
||||
|
||||
#
|
||||
# mmc/SD image
|
||||
#
|
||||
|
||||
# in MB
|
||||
HAIKU_BOARD_SDIMAGE_SIZE = 256 ;
|
||||
|
||||
# in MB
|
||||
HAIKU_BOARD_SDIMAGE_FAT_SIZE = 32 ;
|
||||
|
||||
# offset in blocks XXX: FIXME
|
||||
# (autodetect from sfdisk or use cylinder count for fat size)
|
||||
#HAIKU_BOARD_SDIMAGE_BFS_OFFSET = ;
|
||||
|
||||
# autoboot script
|
||||
HAIKU_BOARD_SDIMAGE_UBOOT_SCRIPT_NAME = gumstix-factory.script ;
|
||||
|
||||
HAIKU_BOARD_SDIMAGE_UBOOT_SCRIPT = "if mmcinit; then \
|
||||
fatload mmc 0 $(HAIKU_BOARD_LOADER_UIBASE) haiku_loader.ub; \
|
||||
bootm $(HAIKU_BOARD_LOADER_UIBASE); \
|
||||
fi" ;
|
||||
|
||||
HAIKU_BOARD_SDIMAGE_FILES =
|
||||
haiku_loader
|
||||
haiku_loader.ub
|
||||
$(HAIKU_BOARD_SDIMAGE_UBOOT_SCRIPT_NAME)
|
||||
;
|
||||
|
||||
|
||||
#
|
||||
# gcc flags for the specific cpu
|
||||
#
|
||||
|
||||
TARGET_KERNEL_CCFLAGS += -mcpu=xscale -mfloat-abi=soft ;
|
||||
TARGET_KERNEL_C++FLAGS += -mcpu=xscale -mfloat-abi=soft ;
|
||||
TARGET_CCFLAGS += -mcpu=xscale -mfloat-abi=soft ;
|
||||
TARGET_C++FLAGS += -mcpu=xscale -mfloat-abi=soft ;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user