Kernel/vfs - Return matched flags from VFS_SelectNode
[tpg/acess2.git] / KernelLand / Kernel / arch / armv7 / main.c
index d05c01e..19c611d 100644 (file)
@@ -8,6 +8,7 @@
 
 #include <acess.h>
 #include <modules.h>
+#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

UCC git Repository :: git.ucc.asn.au