Commit Graph

52 Commits

Author SHA1 Message Date
François Revol
10255f396b ARM: verdex: keep notes about flash content 2014-11-01 05:37:32 +01:00
François Revol
b1d21fa3e8 ARM: Add URLs for MLO and U-Boot binaries
taken from http://gumstix.org/how-to/70-writing-images-to-flash.html
2014-11-01 02:27:57 +01:00
François Revol
ce8bde949d ARM: set the FDT file to use for Overo 2014-11-01 02:06:06 +01:00
François Revol
48c3ab96bb ARM: overo has an OMAP3 which supports VFP3...
Also switch the fpu abi to hard since it's the only thing we can use
until we get proper multilib support. It builds but misses an FDT.
2014-11-01 01:18:40 +01:00
Ithamar R. Adema
c83fab8587 ARM: beagle: specify Beagle-XM DTS file 2014-10-31 10:59:58 +01:00
Ithamar R. Adema
e3020a5039 ARM: remove initrd handling from mmu code
Let the platform mmu_map_physical_memory the initrd region, and
reserve it before calling mmu_init. This removes another hardcoded
address, since e.g. U-Boot gets the address from the uImage file.
2014-09-07 20:56:14 +02:00
Ithamar R. Adema
0a163b65c7 ARM: define bootloader stack in linker script
This removes the need for the whole HAIKU_BOARD_LOADER_STACK_BASE
sing and dance, since it is always included in the bootloader binary
itself.
2014-09-07 20:56:14 +02:00
Adrien Destugues
f66aa8595c Enable C++11 for all ARM targets, not just beagle.
* Also clean up the flags definitions in the beagle target to avoid
repeating the flags 3 times.
2014-08-18 09:00:50 +02:00
Arvind S Raj
7a402b996e Reimplemented atomic_get_and_set in C++.
Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

* C++ code written by pdziepak.
2014-08-18 08:45:40 +02:00
Ithamar R. Adema
21af7e541f ARM: remove all references to sfdisk
sfdisk is no longer used by the ARM build, since we can handle
everything with mtools (using mpartition instead of sfdisk).
2014-08-17 14:34:25 +02:00
Arvind S Raj
82d287ddcb Reserve 8MB space for kernel before RAM_loader
...so that kernel does not overwrite the loader.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

Fixes #11067.
2014-08-08 17:39:33 +02:00
PulkoMandy
3d6edc43d9 Patch by dnivra (GSoC 2014, ARM suppport)
* Cleanup the SD card image building to allow jam -q @bootstrap-mmc to
work.

There are a few remaining tricks before you can safely build an image:
* This uses a non-POSIX du option, and is only tested with Linux du
only (Linux is the only supported system to run bootstrap builds,
anyway)
* The Python recipe in haikuports.cross is known to not build on
Debian/Ubuntu, but work fine on OpenSuse. There is a patch available in
haikuports bugtracker to allow the reverse.
* You need to populate the haikuports repo package list with some
packages (which don't exist yet) to make the build system happy. But our
git hook to generate the repositories is preventnig me to share this
hack.

Once built, the image currently crashes early in the kernel execution.
On to debug that!
2014-06-13 17:22:48 +02:00
Oliver Tappe
8c54af563c Whitespace cleanup in root and 'build' folder.
* Removed trailing whitespace and empty lines at top of files.
2014-05-01 12:55:41 +02:00
PulkoMandy
574dbabb00 Configure the ARM compiler to default to Cortex-A8
Ideally, we would only need to set this in build/jam/board/*, but the
flags set there are not passed to the build of packages. The default is
using some early ARM variant, for which gcc lacks some more atomic
operations and emits calls to helper functions we don't implement.

Setting the default architecture avoids this, as all packages will now
be built to target the Cortex-A8.

Also set the proper VFP version in BeagleBoard config file.

Note this breaks the Verdex and Pi builds, but ARMv7 is what we should
focus on for now. We can try to make older archs work after finishing
the m68k port.
2014-04-22 09:49:32 +02:00
PulkoMandy
b8058ea8ee Disable multilib for the ARM compiler build.
* This avoids mixup of the soft/hard float libs
* It also means we can use the hard-float libs for targets that supports
it
* Again, we could introduce an arm_softfp compiler for targets that
don't have floating point support, with a different gcc build.
2014-04-21 21:21:28 +02:00
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