Commit Graph

42477 Commits

Author SHA1 Message Date
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
Fredrik Holmqvist
7ca2da76f0 rand() is used, but srand() was never called. 2012-05-18 00:01:12 +02:00
François Revol
61d7e75709 U-Boot ppc: Add missing sections to ldscript
* it seems we missed some sections that exist on ppc, add them.
* resulting binary runs a little further in QEMU but still screws up.
2012-05-17 23:52:35 +02:00
François Revol
b011337e20 U-Boot: save passed FDT and call common code
* should work better this way :D
2012-05-17 20:46:46 +02:00
François Revol
de1c936185 U-Boot: include board name in uimage header
* for clarity, include the board in the uimage name field, it's long enough.
2012-05-17 19:55:27 +02:00
François Revol
7663f51c66 U-Boot: Fix ppc build
* we have an uimage for the Sam460 \o/
2012-05-17 19:41:19 +02:00
François Revol
e02218f140 Cleanup 2012-05-17 19:40:26 +02:00
François Revol
7e53f7bdc3 U-Boot: fix the guards
* mmu_init*() are used by cpu.cpp
2012-05-17 19:24:11 +02:00
François Revol
4ab5d2f998 U-Boot: Add a ppc ldscript
* mostly copied from the ARM one
2012-05-17 19:15:58 +02:00
François Revol
386671b4d0 U-Boot: Guard ARM-specific stuff
* those must be cleaned up and moved away
* allows building U-Boot loader for ppc
2012-05-17 19:10:10 +02:00
Alexander von Gluck IV
3d4f1347fe U-Boot: Re-disable MMU tracing 2012-05-17 06:05:06 -05:00
Alexander von Gluck IV
82e19983b4 u-boot mmu: Style cleanup, no functional change 2012-05-17 05:58:31 -05:00
François Revol
f5759f2e99 U-Boot: Add a Linux-type loader target
* those should be cleaned up. BoardSetup should tell which OS type to emulate.
2012-05-17 18:44:11 +02:00
François Revol
f4bd3cda32 U-Boot: Fix comments and ppc build
* those are not ARM-specific.
* this asm code doesn't build for ppc, and is not really useful for ARM either.
2012-05-17 18:27:49 +02:00
Alexander von Gluck IV
1f675a7fcb uart: Fix arm kernel build
* Make kernel use mmu_man's new UART code
* Remove no longer used uart.cpp / uart.h
2012-05-17 05:32:29 -05: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
François Revol
d86473dfb9 Cleanup U-Boot global data struct
* there are only a few members we can really rely on, the rest is compile-time dependant.
* don't use ARM-specific stuff.
2012-05-17 17:25:49 +02:00
Alexander von Gluck IV
eb93f2661d uart: Style Cleanup, no functional change 2012-05-17 03:31:02 -05:00
Alexander von Gluck IV
182643f763 uart: Remove due to mmu's new (better) UART code 2012-05-17 03:15:56 -05:00
François Revol
e9ec7a55dd Attempt to factor out serial stuff
* introduce a DebugUART baseclass,
* rework 8250 and PL011 implementations from kallisti5 to inherit DebutUART,
* each arch should override the IO methods to access registers.
* on ARM registers are 32bit-aligned.
* U-Boot still works for the verdex target.
* rPi still compiles, needs testing.
* Still some more consolidation needed to allow runtime choice of the UART type (as read from FDT blobs for ex.).
* serial.cpp should probably mostly be made generic as well.
* didn't touch x86 or ppc yet.
2012-05-17 04:09:05 +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
d0f5524676 rpi: Wait for keypress on panic
* Cleanup serial shutdown process
2012-05-16 06:25:13 -05:00
Alexander von Gluck IV
4747ee6ea8 pl011 uart: Complete function to get a character 2012-05-16 06:01:51 -05:00
Alexander von Gluck IV
ce077d96cb rpi: Flush serial on cleanup
* Wait for transmit fifo to empty on serial cleanup
* Serial cleanup on platform exit
2012-05-16 04:50:29 -05:00
Alexander von Gluck IV
91161d1d6f pl011 uart: Fix fifo states
* Lets wait for space *before* writing to the fifo
  instead of after.
* Flush functions now really flush the fifo waiting
  for them to enter an empty state.
* Simple memory barriers added (may need revised)
  We don't have access to the kernel barriers here.
2012-05-16 04:47:24 -05:00
Alexander von Gluck IV
a5453f6dd8 rpi: Clean up debug output 2012-05-16 04:19:01 -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
Alexander von Gluck IV
6e11d185ae rpi: Add console code
* Pretty much cleaned up 1:1 u-boot code
* Thanks to Johannes Wischert for the initial work here
2012-05-15 19:33:41 -05:00
Johannes Wischert
aeb2376cdd rpi: Add debug code from u-boot code
* Cleaned up a bit
* Add panic function
* Add printd function

Signed-off-by: Alexander von Gluck IV <kallisti5@unixzen.com>
2012-05-15 19:05:54 -05:00
François Revol
3af608ada5 Fix fossil SCM update command
* fossil update should do a pull on its own anyway.
2012-05-15 20:25:34 +02:00
François Revol
6f19b90aca Fix linking in static ctors
* It seems we also need to call them in the .init_array section.
2012-05-15 19:16:52 +02:00
Alexander von Gluck IV
e91f4b7230 pl011 uart: Remove Raspberry Pi hack
* Constructors now working
2012-05-15 12:09:59 -05:00
François Revol
565039c149 Fix serial output for U-Boot code
* use a static buffer for allocation, as the heap isn't yet working.
2012-05-15 19:04:31 +02:00
Alexander von Gluck IV
27d3324651 rpi: Rework linker script
* Add some missing stuff, be more exact with
  stack and fill with 0xBEBEBEBE
* Ensure .init_array is called with .ctors to ensure
  static constructors are called.
2012-05-15 10:33:12 -05:00
Alexander von Gluck IV
8d44fff34a rpi: Raise exception on loader return 2012-05-15 09:14:14 -05:00
Alexander von Gluck IV
85c4ab42a1 rpi cpu: Add documentation on PDF locations of registers
* Assist future developers with the location of this data
* No functional change
2012-05-15 08:34:27 -05:00
Alexander von Gluck IV
ec3c24ab07 pl011 uart: Work around Rpi constructors not getting called
* Serial UART output on Raspberry Pi now functioning
  This is kind of a hack, however having serial output
  will enable easier debugging of loader. Not a perimant fix.
* With UART output, we can now turn to why the constructors
  are so messed up.
* Thanks to pfoetchen for his help and (lots!) of testing.
2012-05-14 23:25:14 -05:00
Alexander von Gluck IV
84882c0039 rpi serial: C++ constructors not getting called
* Make a global
* Thanks to pfoetchen + OmniMancer for figuring it out
2012-05-14 22:35:02 -05:00
Alexander von Gluck IV
125c31a827 pl011: Make memory reads and writes 32-bits 2012-05-14 20:47:55 -05:00
Matt Madia
cffe509843 Updated KeymapSwitcher. Provided by Siarzhuk Zharski. 2012-05-14 16:44:50 +00:00
Alexander von Gluck IV
a5a89915fc PL011 uart: rename UART -> uart
* Left over var name from my test code
* This should be pretty close to functional
  (if not already working)
* Any more uart experimentation will not
  reach upstream until working.
2012-05-14 14:08:18 -05:00
Alexander von Gluck IV
fd52e77cda PL011 uart: Disable "fluff" code
* Once I can confirm it works will re-enable
* Not needed for basic functionality
2012-05-14 14:08:03 -05:00
Alexander von Gluck IV
4ffe10ca33 rpi gpio: Remove alt0 mode on serial pins
* Confirmed this places pins in miniUART mode
  (we don't want this mode however)
* We do need to fully understand *which* mode
  the pins need to be in for PL011 mode.. however
  the boot state of the Pi is PL011
2012-05-14 14:08:03 -05:00
Fredrik Holmqvist
78af90d494 Fix codestyle violation:
Multiline statements after if should always be in a code block.
No functional change.
2012-05-14 21:05:12 +02:00
Alexander von Gluck IV
b0df02004f pl011: Fix baud divisor (correctly this time)
* Order of operations error, seen after writing
  a quick test app.. sorry for spam
2012-05-14 13:42:35 -05:00
Alexander von Gluck IV
96ca76504f pl011: Fix baud divisor, enable fifo.
* Correct the baud calculations
* Be sure to enable fifo mode
2012-05-14 13:20:50 -05:00
Humdinger
f149a777c7 Tiny cosmetic string changes for Appearance prefs.
* More general tab title "Decorators"
* Sentence casing "Window decorator:". Here the "Window" is OK,
  there could be "OSD decorators" etc. in the future.
2012-05-14 07:35:17 +02:00
Yongcong Du
44c3c03412 scheduler: Don't setup the quantumTimer for idle thread
Let's say the timer is waken up when its hook is called. This patch
reduces ~41% wakeups during idle

Signed-off-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2012-05-13 19:06:47 +02:00
François Revol
229e112eb4 Drop ARM-specific register pointer
* the global data is already stored in a variable from shell.S anyway when available
2012-05-12 19:50:03 +02:00
François Revol
5409323add Add empty C linux-style entry points
* On PPC, there are two different kernel entry signatures for Linux
2012-05-12 19:38:46 +02:00