Implement a proper ARM startup routine. We disable the FIQ and IRQ lines, then disabl...
authorReactOS Portable Systems Group <ros-arm-bringup@svn.reactos.org>
Wed, 6 Feb 2008 04:48:22 +0000 (04:48 +0000)
committerReactOS Portable Systems Group <ros-arm-bringup@svn.reactos.org>
Wed, 6 Feb 2008 04:48:22 +0000 (04:48 +0000)
commitc759455e9efcd16d8b8f7073f1bbc4f9765524b4
tree4b13d4aafef45ba0d5b620c69c68149261c224eb
parentc3253b0df9ede2a8a9a16980bd058ccd20db4344
Implement a proper ARM startup routine. We disable the FIQ and IRQ lines, then disable and flush D and I caches, set up a temporary boot stack, and call ArmInit.
In ArmInit we define the structure that a compatible bootloader has to send us and currently make some assertions on it, before dropping into the common, portable, freeldr startup (BootMain).
This would be the place where we would want to setup UART0 for serial support later on, as well as TIMER0.
In MachInit, we now define the required ARM routines we'll need, all which simply loop for now.
Also fix a bug in RamDiskInit, which could do reads from NULL pointers.

svn path=/trunk/; revision=32148
reactos/boot/freeldr/freeldr/arch/arm/boot.s
reactos/boot/freeldr/freeldr/arch/arm/macharm.c
reactos/boot/freeldr/freeldr/arch/arm/stubs.c
reactos/boot/freeldr/freeldr/disk/ramdisk.c