From 0de22b23ab2dee4b44ba241c3ff1372fb38ae28f Mon Sep 17 00:00:00 2001 From: NicJA Date: Tue, 14 Apr 2015 19:07:07 +0000 Subject: [PATCH] toggle led in main function. setup mmu using bootstrap pde git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@50389 fb15a70f-31f2-0310-bbcc-cdcc74a49acc --- arch/arm-native/kernel/kernel_cpu.c | 18 +++--------------- arch/arm-native/kernel/kernel_startup.c | 15 +++++++++++++++ 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/arch/arm-native/kernel/kernel_cpu.c b/arch/arm-native/kernel/kernel_cpu.c index 1b055d2403..46e4744e3f 100644 --- a/arch/arm-native/kernel/kernel_cpu.c +++ b/arch/arm-native/kernel/kernel_cpu.c @@ -29,6 +29,8 @@ void cpu_Register() { uint32_t tmp; + cpu_Init(&__arm_arosintern, NULL); + asm volatile (" mrc p15, 0, %0, c0, c0, 5 " : "=r" (tmp)); __arm_affinitymask |= (1 << (tmp & 0x3)); @@ -69,14 +71,7 @@ void cpu_Init(struct ARM_Implementation *krnARMImpl, struct TagItem *msg) { register unsigned int fpuflags; - //core_SetupMMU(msg); - - if (krnARMImpl->ARMI_LED_Toggle) - { - if (krnARMImpl->ARMI_Delay) - krnARMImpl->ARMI_Delay(100000); - krnARMImpl->ARMI_LED_Toggle(ARM_LED_POWER, ARM_LED_OFF); - } + core_SetupMMU(msg); /* Enable Vector Floating Point Calculations */ asm volatile("mrc p15,0,%[fpuflags],c1,c0,2\n" : [fpuflags] "=r" (fpuflags)); // Read Access Control Register @@ -86,13 +81,6 @@ void cpu_Init(struct ARM_Implementation *krnARMImpl, struct TagItem *msg) " mov %[fpuflags],%[vfpenable] \n" // Enable VFP " fmxr fpexc,%[fpuflags] \n" : [fpuflags] "=r" (fpuflags) : [vfpenable] "I" (VFPEnable)); - - if (krnARMImpl->ARMI_LED_Toggle) - { - if (krnARMImpl->ARMI_Delay) - krnARMImpl->ARMI_Delay(100000); - krnARMImpl->ARMI_LED_Toggle(ARM_LED_POWER, ARM_LED_ON); - } } void cpu_Switch(regs_t *regs) diff --git a/arch/arm-native/kernel/kernel_startup.c b/arch/arm-native/kernel/kernel_startup.c index 58935f381c..21d0f8fc3a 100644 --- a/arch/arm-native/kernel/kernel_startup.c +++ b/arch/arm-native/kernel/kernel_startup.c @@ -123,8 +123,23 @@ void __attribute__((used)) kernel_cstart(struct TagItem *msg) cpu_Probe(&__arm_arosintern); platform_Init(&__arm_arosintern, msg); + + if (__arm_arosintern.ARMI_LED_Toggle) + { + if (__arm_arosintern.ARMI_Delay) + __arm_arosintern.ARMI_Delay(100000); + __arm_arosintern.ARMI_LED_Toggle(ARM_LED_POWER, ARM_LED_OFF); + } + cpu_Init(&__arm_arosintern, msg); + if (__arm_arosintern.ARMI_LED_Toggle) + { + if (__arm_arosintern.ARMI_Delay) + __arm_arosintern.ARMI_Delay(100000); + __arm_arosintern.ARMI_LED_Toggle(ARM_LED_POWER, ARM_LED_ON); + } + /* NB: the bootstrap has conveniently setup the framebuffer and initialised the serial port and led for us */ -- 2.11.4.GIT