From 115ed99e02f18f55963bbc8ef119f47c3c817a05 Mon Sep 17 00:00:00 2001 From: NicJA Date: Thu, 30 Apr 2015 16:13:17 +0000 Subject: [PATCH] enable cores interupts git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@50529 fb15a70f-31f2-0310-bbcc-cdcc74a49acc --- arch/arm-native/kernel/kernel_arm.h | 2 +- arch/arm-native/kernel/kernel_cpu.c | 2 +- arch/arm-native/kernel/platform_bcm2708.c | 9 ++++++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/arch/arm-native/kernel/kernel_arm.h b/arch/arm-native/kernel/kernel_arm.h index 5b3c830eac..02b206c7b1 100644 --- a/arch/arm-native/kernel/kernel_arm.h +++ b/arch/arm-native/kernel/kernel_arm.h @@ -9,7 +9,7 @@ struct ARM_Implementation IPTR ARMI_Platform; APTR ARMI_PeripheralBase; void (*ARMI_Init) (APTR, APTR); // takes pointers to KernelBase & SysBase as input - void (*ARMI_InitCore) (void); + void (*ARMI_InitCore) (APTR, APTR); // takes pointers to KernelBase & SysBase as input APTR (*ARMI_InitTimer) (APTR); // takes a pointer to KernelBase as input, and returns struct IntrNode void (*ARMI_Delay) (int); unsigned int (*ARMI_GetTime) (void); diff --git a/arch/arm-native/kernel/kernel_cpu.c b/arch/arm-native/kernel/kernel_cpu.c index 264476497d..d605a2c311 100644 --- a/arch/arm-native/kernel/kernel_cpu.c +++ b/arch/arm-native/kernel/kernel_cpu.c @@ -149,7 +149,7 @@ void cpu_Register() __tls->ThisTask = t; if (__arm_arosintern.ARMI_InitCore) - __arm_arosintern.ARMI_InitCore(); + __arm_arosintern.ARMI_InitCore(KernelBase, SysBase); #endif diff --git a/arch/arm-native/kernel/platform_bcm2708.c b/arch/arm-native/kernel/platform_bcm2708.c index f69da61dd5..8d81a9a2a9 100644 --- a/arch/arm-native/kernel/platform_bcm2708.c +++ b/arch/arm-native/kernel/platform_bcm2708.c @@ -100,8 +100,15 @@ static void bcm2708_init(APTR _kernelBase, APTR _sysBase) } } -static void bcm2708_init_core(void) +static void bcm2708_init_core(APTR _kernelBase, APTR _sysBase) { + struct ExecBase *SysBase = (struct ExecBase *)_sysBase; + struct KernelBase *KernelBase = (struct KernelBase *)_kernelBase; + + D(bug("[KRN:BCM2708] %s()\n", __PRETTY_FUNCTION__)); + + // enable interrupts + *((uint32_t *)(BCM2836_MAILBOX_INT_CTRL0 + (0x4 * core))) = 0x1; } static unsigned int bcm2807_get_time(void) -- 2.11.4.GIT