X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FKernel%2Farch%2Farmv7%2Fmain.c;h=19c611d609eeb14349bc97ccd572c5fd52327027;hb=9b107e55699bea78c68d35a6a6591f2c1f6a9cc4;hp=d05c01e02d0fa062042ff5e25092e4372a5598a6;hpb=3be7e2aa30e9c6d6b73290f4881bfea8afce01fd;p=tpg%2Facess2.git diff --git a/KernelLand/Kernel/arch/armv7/main.c b/KernelLand/Kernel/arch/armv7/main.c index d05c01e0..19c611d6 100644 --- a/KernelLand/Kernel/arch/armv7/main.c +++ b/KernelLand/Kernel/arch/armv7/main.c @@ -8,6 +8,7 @@ #include #include +#include "include/options.h" // === IMPORTS === extern void Interrupts_Setup(void); @@ -16,6 +17,8 @@ extern void Heap_Install(void); extern void Threads_Init(void); extern void System_Init(const char *Commandline); extern void Time_Setup(void); +extern void Debug_int_SerialIRQHandler(int IRQ, void *unused); +extern int EHCI_InitController(tPAddr BaseAddress, Uint8 InterruptNum); // === PROTOTYPES === int kmain(void); @@ -24,7 +27,7 @@ Uint32 ARMv7_int_HandleSyscalls(Uint32 Num, Uint32 *Args); // === CODE === int kmain(void) { - LogF("Acess2 ARMv7 v"EXPAND_STR(KERNEL_VERSION)"\n"); + LogF("Acess2 ARMv7 "PLATFORM" v"EXPAND_STR(KERNEL_VERSION)"\n"); LogF(" Git Hash %s\n", gsGitHash); LogF(" Build %i\n", BUILD_NUM); @@ -40,12 +43,20 @@ int kmain(void) VFS_Init(); // Boot modules? + // - most ARMv7 configs use a GIC Module_EnsureLoaded("armv7_GIC"); + IRQ_AddHandler(UART0_IRQ, Debug_int_SerialIRQHandler, NULL); + + Time_Setup(); // LogF("Moving to arch-independent init\n"); + // ARM_PerPlatformInit(); // Calls System_Init #if PLATFORM_is_tegra2 - System_Init("Acess2.armv7.bin /Acess=initrd: -VTerm:Video=Tegra2Vid -USB_EHCI:C5000000-14,C5004000-15"); + EHCI_InitController(0xc5000000+0x100, 20); + EHCI_InitController(0xc5004000+0x100, 21); + EHCI_InitController(0xc5005000+0x100, 97); + System_Init("Acess2.armv7.bin /Acess=initrd: -VTerm:Video=Tegra2Vid"); #else System_Init("Acess2.armv7.bin /Acess=initrd: -VTerm:Video=PL110"); #endif