Fredrik Holmqvist
91102c544e
Logging calculations was done outside the #def TRACE_VM_PAGE, but never printed.
...
Now done inside #def as well as this triggered unused variables warnings.
2012-06-23 22:43:24 +02:00
Alexander von Gluck IV
548b1a4988
cpuid: Rework AMD CPUID numbers
...
* If family is 0xF, we grab extended family and model
like Intel does
* Idenfify AMD cpu's more correctly
2012-06-04 11:01:39 -05:00
François Revol
dc09611aad
U-Boot: move gFDT declaration to shell.S
...
* this avoids it falling into the BSS section which we clear quite late,
and allows setting it from asm code if needed.
2012-06-02 13:46:45 +02:00
François Revol
cce9d8cf89
U-Boot PPC: Enable ppc440 FPU correctly
...
* On ppc440, the FPU is implemented as an Auxiliary Processing Unit,
we must therefore enable sending commands to it,
in addition to setting the MSR bit.
2012-06-02 01:30:48 +02:00
Alexander von Gluck IV
b7aa0a94ff
ARM platform: Undo change to MMU page table assignment
...
* While the baremetal arm book I have says mrc, it breaks
verdex and doesn't work on the Pi.
* Moving the page table address to the p15 coprocessor makes
more logical sense anyway... i think mrc was a typo.
2012-05-24 10:25:52 -05:00
François Revol
1348022133
PPC: Move asm helpers to U-Boot arch Jamfile
...
* the OpenFirmware arch/ppc/Jamfile already has it, so move it to avoid duplicated symbols.
2012-05-24 21:55:21 +02:00
Alexander von Gluck IV
93d5b79f06
rPi console: Implement console_wait_for_key
2012-05-24 08:53:32 -05:00
François Revol
037f252fd0
U-Boot: split cpu.cpp into arch-specific and common parts
...
* the common part should try to use the U-Boot API when found.
* the arch part can make use of cpu features (like timer register)
* the ppc code enables the FPU in the MSR, since it's used by vsnprintf(),
which at least saves one FP register in its prologue.
2012-05-24 21:27:37 +02:00
François Revol
3bd0ac4aa3
PPC: Add eioio as barrier for the UART class
...
* probably unneeded but it shouldn't harm.
2012-05-24 21:20:15 +02:00
François Revol
6ca4ac0978
PPC: Add some kernel asm helpers to the bootloader
...
* get/set_msr() will be useful for U-Boot.
2012-05-24 21:20:14 +02:00
François Revol
134ef79db0
U-Boot: add some sections to the ppc ldscript
...
* it seems ld creates most of them anyway, taken from the openfirmware script.
2012-05-24 21:20:14 +02:00
Alexander von Gluck IV
9b2efb1ad5
rPi Console: Fix console vt100 calls
...
* Use correct clear screen escape codes
* Use correct set cursor location escape codes
* Use correct set color escape codes
2012-05-24 06:39:43 -05:00
Alexander von Gluck IV
361ec26f10
rPi MMU: Cleanup, add gPeripheralBase
...
* gPeripheralBase keeps track of the device
peripherals before and after mmu_init
* Add ability to disable mmu for troubleshooting
* Remove static FB_BASE, we actually don't know
where the FB is yet. (depends on firmware used)
2012-05-24 06:39:43 -05:00
Alexander von Gluck IV
16307934fa
rPi: Fix missing %
2012-05-24 06:39:42 -05:00
Pawel Dziepak
021ccbd18f
Fix #8596 : common_getgroups copies too little data
...
common_getgroups, when called from within the kernel, copies actualCount
bytes instead of actualCount * sizeof(gid_t) bytes.
2012-05-23 12:56:10 -04:00
Alexander von Gluck IV
4fd190af6e
MMU: Add in section L1 MMU size
...
* Not used atm, but exists.
2012-05-22 09:07:29 -05:00
Alexander von Gluck IV
f0ba7f9400
MMU: Clean up arm L1 MMU types
...
* Include map for each page table type
* Reduce MMU_TYPE define name length
2012-05-22 08:30:52 -05:00
Alexander von Gluck IV
9c5e60f656
rPi MMU: Fixes to hrev44189
...
* I had the wrong addresses, 0x20 was the physical
address not a mapped one.
* Attempt to map uart in mmu post mmu_init.
2012-05-22 08:30:52 -05:00
Alexander von Gluck IV
b8733e36c7
rPi MMU: Working towards mapped memory
...
* BCM2708 defines no longer assume 0x20 address
We will be throwing away the blob memory mapping
and using our own.
* Use existing blob mapping to turn GPIO led on pre mmu_init
* Remap MMU hardware addresses from 0x7E. We could map each device,
however the kernel will throw away the mappings again anyway. For
now we just map the whole range and use offsets.
* Serial uart no longer works, however at least
we know why now :). Serial driver now needs to
use mapped address.
2012-05-18 10:16:30 -05:00
Alexander von Gluck IV
e8aa6be532
rPi MMU: Enhance debugging
...
* TRACE calls no longer need double '('
* Added CALLED trace function
* Add better debugging output
2012-05-18 08:57:00 -05:00
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
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
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
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
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
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