Commit Graph

42535 Commits

Author SHA1 Message Date
Alexander von Gluck IV
249e5492c1 ARM MMU: Use MRC vs MCR for TTBR
* Verified to use MRC vs MCR multiple locations
* Small bit of style cleanup as well
* Better comment function usage
2012-05-18 08:57:00 -05:00
Humdinger
7a81151b1b Merge branch 'master' of ssh://git.haiku-os.org/haiku 2012-05-18 19:40:29 +02:00
Humdinger
a7bee8e40c Corrected typo correction... thanks Starseed. /me needs glasses. 2012-05-18 19:39:49 +02:00
Humdinger
268816a3ce Corrected typo. Fixes #8557. 2012-05-18 18:20:49 +02:00
Humdinger
761dac127b Small layout changes to FileType add-on panel. Fixes #8581. 2012-05-18 18:19:36 +02:00
Alexander von Gluck IV
77591e9657 rPi: MMU Work
* Use U-Boot mmu code as base
* This will be factored out someday into common arch mmu
  code when we can read Flattened Device Trees
* Move mmu_init after serial_init.
  Temporary change as we will want serial_init to use
  memory mapped addresses... for debugging.
2012-05-18 06:36:53 -05:00
Alexander von Gluck IV
6d4270e3ce U-Boot mmu: Style cleanup, no functional change 2012-05-18 06:36:52 -05: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
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