#include <acess.h>
#include <modules.h>
+#include "include/options.h"
// === IMPORTS ===
extern void Interrupts_Setup(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);
// === 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);
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