From 5bcc3d1aadfa434ab227284fee9b72933ef42ccd Mon Sep 17 00:00:00 2001 From: NicJA Date: Sun, 12 Apr 2015 13:13:04 +0000 Subject: [PATCH] attempt to register additional cores git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@50354 fb15a70f-31f2-0310-bbcc-cdcc74a49acc --- arch/arm-native/kernel/kernel_cpu.c | 4 ++-- arch/arm-native/kernel/platform_bcm2708.c | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/arch/arm-native/kernel/kernel_cpu.c b/arch/arm-native/kernel/kernel_cpu.c index ebceff4692..01ce8adb69 100644 --- a/arch/arm-native/kernel/kernel_cpu.c +++ b/arch/arm-native/kernel/kernel_cpu.c @@ -23,7 +23,7 @@ #define DREGS(x) extern struct Task *sysIdleTask; -uint32_t __arm_coremap __attribute__((section(".data"))) = 1; +uint32_t __arm_affinitymask __attribute__((section(".data"))) = 1; void cpu_Register() { @@ -31,7 +31,7 @@ void cpu_Register() asm volatile (" mrc p15, 0, %0, c0, c0, 5 " : "=r" (tmp)); - __arm_coremap |= (1 << (tmp & 0x3)); + __arm_affinitymask |= (1 << (tmp & 0x3)); asm volatile("wfi"); } diff --git a/arch/arm-native/kernel/platform_bcm2708.c b/arch/arm-native/kernel/platform_bcm2708.c index b40ae3a13f..8b2d27d46b 100644 --- a/arch/arm-native/kernel/platform_bcm2708.c +++ b/arch/arm-native/kernel/platform_bcm2708.c @@ -17,6 +17,8 @@ #include "kernel_interrupts.h" #include "kernel_intr.h" +extern void cpu_Register(void); + static void bcm2708_init(void) { @@ -119,6 +121,18 @@ static IPTR bcm2708_probe(struct ARM_Implementation *krnARMImpl, struct TagItem krnARMImpl->ARMI_InitTimer = &bcm2708_init_gputimer; krnARMImpl->ARMI_LED_Toggle = &bcm2708_toggle_led; + if (__arm_periiobase == BCM2836_PERIPHYSBASE) + { + int core; + for (core = 1; core < 3; core ++) + { + *((volatile unsigned int *)(0x4000008C + (0x10 * core))) = cpu_Register; + } + + if (krnARMImpl->ARMI_Delay) + krnARMImpl->ARMI_Delay(1500); + } + return TRUE; } -- 2.11.4.GIT