Commit Graph

37 Commits

Author SHA1 Message Date
Alexander von Gluck IV
d035469704 ARM: Name beagleboneblk back to beagle
* Pulkomandy pointed out that all Beagle hardware is
  very similar so we could likely get away with a single
  ARM target board.
2014-02-26 15:33:40 -06:00
Alexander von Gluck IV
6d3363214f ARM: Simplify board specification
* Don't assume verdex as it isn't clear this was
  occurring.
* Make an educated guess on HAIKU_BOOT_PLATFORM
  based on provided board (but still allow it to
  be overridden)
* Error out if user doesn't populate
  HAIKU_BOOT_PLATFORM or enters an unknown board
  name.
* You need to add "-sHAIKU_BOOT_BOARD=xxx" to
  your jam to build for the proper ARM device.
* Rename beagle to beagleboneblk as per the
  documentation.
2014-02-26 00:27:18 -06:00
Adrien Destugues
81e7f1e992 Fix definition and use of target ASFLAGS.
* ArchitectureRules define a variable named HAIKU_ASFLAGS, so other
Jamfiles can append to it.
* But, TARGET_ASFLAGS was used instead in the single place where we
tried to make use of this (the verdex BoardSetup), and in the As rule
* Moreover, the As rule used $(architecture) instead of
$(TARGET_PACKAGING_ARCH) (I suspect a bogus copypaste?). So, it never
actually made use of the flags

With this working, add the proper flags to the BeagleBoard BoardSetup,
so we implement atomic operations the ARMv7 way (no need to syscall).
This helps with compiling, as the As and Cc/Cpp rules now agree on the
defines and the atomic implementation to use.
2014-02-23 15:50:11 +01:00
Ithamar R. Adema
f5e19a38de board/arm: cleanup setting of ARM compiler options
The ones with ARCH extension are used for setting up the KERNEL
ones, so no need to try and set both.
Also, the verdex target was not setting the ARCH one, and therefore
never configured gcc for ARMv5.
2014-02-15 11:46:11 +01:00
Ingo Weinhold
81291304ad Merge remote-tracking branch 'haiku/master' into package-management
Conflicts:
	build/jam/BuildSetup
	build/jam/HaikuImage
	build/jam/board/sam460ex/BoardSetup
	build/jam/board/verdex/BoardSetup
	data/catalogs/apps/icon-o-matic/fr.catkeys
	src/add-ons/kernel/drivers/audio/hda/hda_codec.cpp
	src/add-ons/kernel/drivers/disk/usb/usb_disk/usb_disk.cpp
	src/apps/debugger/files/FileManager.cpp
	src/apps/debugger/files/FileManager.h
	src/apps/debugger/user_interface/gui/inspector_window/MemoryView.cpp
	src/apps/haiku-depot/MainWindow.cpp
	src/apps/haiku-depot/MainWindow.h
	src/apps/haiku-depot/Model.cpp
	src/apps/haiku-depot/PackageInfo.h
	src/apps/haiku-depot/PackageInfoListener.h
	src/apps/haiku-depot/PackageInfoView.cpp
	src/apps/haiku-depot/PackageInfoView.h
	src/apps/haiku-depot/PackageListView.cpp
	src/apps/haiku-depot/PackageListView.h
	src/system/kernel/arch/arm/arch_timer.cpp
	src/system/libroot/os/arch/arm/atomic.S
	src/tools/translation/bitsinfo/Jamfile
	src/tools/translation/bmpinfo/Jamfile
	src/tools/translation/tgainfo/Jamfile
2013-09-27 01:55:45 +02:00
Ithamar R. Adema
7416b5878f ARM: verdex: Make sure __XSCALE__ is defined when compiling.
This is especially important for the assembler code in the kernel,
since it enables workarounds for some critical errata related to
exception handling.
2013-09-18 06:34:40 +02:00
Ingo Weinhold
b0944c78b0 More work towards hybrid support
* All packaging architecture dependent variables do now have a
  respective suffix and are set up for each configured packaging
  architecture, save for the kernel and boot loader variables, which
  are still only set up for the primary architecture.
  For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++,
  and TARGET_LIBSTDC++ are set to the respective values for the primary
  packaging architecture by default.
* Introduce a set of MultiArch* rules to help with building targets for
  multiple packaging architectures. Generally the respective targets are
  (additionally) gristed with the packaging architecture. For libraries
  the additional grist is usually omitted for the primary architecture
  (e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that
  Jamfiles for targets built only for the primary architecture don't
  need to be changed.
* Add multi-arch build support for all targets needed for the stage 1
  cross devel package as well as for libbe (untested).
2013-08-01 08:54:06 +02:00
François Revol
b8ded2f897 Merge branch 'master' into sam460ex 2013-05-27 17:45:55 +02:00
Alexander von Gluck IV
107ab75ea6 docs: Clean up RaspberryPi Documentation; move
* Convert the RaspberryPi documentation to markdown
* Move into the proper arm port docs location
2013-04-28 12:37:36 -05:00
François Revol
80859e45b4 PPC: Comment out cpu-specific compile flags for Sam460ex
Userland and even kernel shouldn't require this anyway,
cpu-specific code can still be compiled with those flags separately.
2013-03-09 03:20:12 +01:00
Alexander von Gluck IV
f125673c3f Rpi: Update instructions based on mmlr's recent work 2012-11-28 14:09:51 -06:00
Michael Lotz
046e01014d Add boot archive base and size and map the boot archive.
An archive (ramfs) to be loaded can be specified in the raspberry pi
config.txt with a certain base address. We can use this to put our
floppy boot archive into memory on startup.

During the start procedure we now map that archive so we can later
load the kernel from it.
2012-11-28 02:00:00 +01:00
Alexander von Gluck IV
1946d374f2 rPi: Update boot process for later Pi firmwares
* The bootprocess is better documented now.
  Put technical info in linker script, user info
  into info.txt
2012-09-09 21:10:16 -05:00
François Revol
68a593ba2a Sam460ex: Change load address for debugging
* Change haiku_loader load address to leave U-Boot's exceptions vector for easier debugging.
2012-06-02 01:21:59 +02:00
François Revol
264aaaeeb5 Sam460ex: force using hardware floating point
* our current gcc can't be built with multilib for ppc anyway,
* this allows going further on real hardware, though dprintf() sends wrong data to the serial port.
2012-05-31 01:04:09 +02:00
Alexander von Gluck IV
8b99a08215 rPi: Fix Raspberry Pi binaries
* Since mmu_man fixed these vars to actually be used,
  we now know these floating point flags cause issues
  on the Raspberry Pi currently.
2012-05-18 04:05:33 -05:00
François Revol
55cf6de91b Fix passing flags from BoardSetup
* since we include BoardSetup earlier now, the TARGET_* flags were discarded. Use HAIKU_* instead.
* Add variables to hold the default entry point and the desired uimage OS emulation.
2012-05-18 01:22:50 +02:00
François Revol
693b3532c7 Sam460ex: Add a Linux-type kernel entry point
* the onboard U-Booot and 2nd-stage loader only know a few OS types,
we'll try faking Linux there.
2012-05-17 17:36:19 +02:00
Alexander von Gluck IV
08a1406831 rpi: Remove firmware blobs
* Pi firmware was updated to note that Broadcom
  had to be included with firmware blobs.
* While we have permission from Eben to have the
  blobs in-tree, they are now offically on github
  in a fixed location removing the need to have
  these in-tree.
* Clean up BoardConfig, note firmware URL and
  files needed
* Update info.txt with how Haiku boot process works
2012-05-16 08:03:35 -05:00
Alexander von Gluck IV
56b0f60189 rpi: Add new beta loader
* Sets uart up for us
* Enhanced non-linux os loading
* Supports device trees
* Add config.txt example with sample settings
2012-05-16 03:55:32 -05:00
François Revol
93a13fb071 No need to force TARGET_BOOT_PLATFORM now. 2012-05-11 18:23:15 +02:00
François Revol
935a9b24cf Add board definition for ACube Sam460ex
* It's a PowerPC embedded board that uses U-Boot.
* We don't want an SD image (yet?)
* tune for the ppc440 with soft-float for now.
2012-05-11 02:29:46 +02:00
François Revol
730a376b32 Hardcode the boot platform for the Raspberry Pi
* for now at least the board uses a custom boot platform.
This way one only has to define HAIKU_BOOT_BOARD now.
2012-05-11 02:17:38 +02:00
Alexander von Gluck IV
19b42424c6 rpi: Remove need for first32k.bin
* Thanks go out to Simon Arlott for replacing
  the first32k.bin blob with assembly removing
  the need for first32k.bin hack.
* This assembly is a modified version removing
  the Linux kernel boot args.
* haiku_loader renamed to kernel.img will boot
  on Raspberry Pi directly.
2012-05-06 12:06:17 -05:00
Alexander von Gluck IV
b4a80cfb69 Pi: Add GPIO controls to Raspberry Pi Haiku Loader
* When first32k.bin is added in front of haiku_loader,
  the OK led comes on verifying haiku_loader is actually
  running on the Pi.
2012-05-04 22:00:23 -05:00
Alexander von Gluck IV
d0b8e45eb1 rpi: Fix remaining raspberry_pi firmwares
* I missed these on my HTML sweep
* Were HTML documents vs real firmware
* Sorry for the spam.
* Firmware: Apr 18, 2012
2012-04-25 06:21:32 -05:00
Alexander von Gluck IV
b88e2fc940 rpi: Remove start.elf
* Was an oops on my part, start.elf is actually one
  of the arm*_start.elf files.
2012-04-19 19:06:30 -05:00
Alexander von Gluck IV
4cbccbb196 rpi: Add updated firmware from Rasp. Pi. foundation
* Update 4/18/2012
* Commit 47123009e
* Add missing start.elf
2012-04-19 18:54:40 -05:00
Alexander von Gluck IV
33e204adee jam: Add binary bootloader for Raspberry Pi
* Version 17-02-2012
* Used to initialize the Raspberry Pi GPU and boot it
* License is permissive, I've also included the
  confirmation email on this license.
* Little bootloader documentation.
* Still nothing to get excited about, preliminary.
2012-03-05 20:44:54 -06:00
Alexander von Gluck IV
fe4fdaad2e jam: Add board definition for Raspberry Pi
* used by HAIKU_BOOT_BOARD.
* gcc machine options from Raspberry Pi wiki.
* don't get too excited, or expect any Haiku
  love for it anytime soon.
2012-03-04 07:44:27 -06:00
François Revol
9020ce87e6 Patch by "notzed" (ticket #5368) (modified): Add bootloader support for BeagleBoard.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37319 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-30 17:24:11 +00:00
François Revol
ce3befb692 Fix uncommented extra line. Change the name of the U-Boot script to the name expected by the FreeRunner, however it really wants only a kernel binary so it doesn't work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37317 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-30 15:50:26 +00:00
François Revol
449b4c4192 Board definition file for the Openmoko Neo FreeRunner I just got given by a generous donator. ;)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-19 20:34:55 +00:00
François Revol
03626f07a3 [ARM]
Workaround for ld using 32k alignment between ELF segments, until a proper fix is found.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-15 23:09:27 +00:00
François Revol
77ae7223e9 [ARM]
Seems forcing the floating point type is not needed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32400 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-14 22:29:31 +00:00
François Revol
01c8294cc7 [ARM]
- don't clobber the parameter regs in the entry point,
- fix entry point address for netbsd loader emulation,
- added a gUImage global to point to the uimage blob with the tgz,
- added tgz info to platform stage2 args,
- add simple uimage support, just dumps the header and gets the nth blob in the image, (seems we have a bug in the math code, some infos don't print),
- made devices.cpp use them to publish the MemoryDisk,
- add an haiku_loader_nbsd.ub target which puts both the loader and kernel_arm for now (need to replace with the tgz).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32295 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-13 05:28:30 +00:00
François Revol
feb750d331 [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
2009-08-12 16:12:35 +00:00