diff -r 000000000000 -r a41df078684a kernel/eka/nkernsmp/arm/nccpu.cia --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kernel/eka/nkernsmp/arm/nccpu.cia Mon Oct 19 15:55:17 2009 +0100 @@ -0,0 +1,47 @@ +// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of the License "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// e32\nkernsmp\arm\nccpu.cia +// +// + +#include +#include +#include +#include +#include + +extern "C" { + +__NAKED__ void KickCpu(volatile T_UintPtr* aPtr, T_UintPtr aRegsPhys) + { + asm("orr r1, r1, #3 "); + asm("str r1, [r0] "); + __DATA_SYNC_BARRIER__(r0); + ARM_SEV; + __JUMP(,lr); + } + +__NAKED__ void _ApEntry() + { + asm("str sp, [r6] "); + __DATA_SYNC_BARRIER__(r0); + asm("ldr r1, [r4, #%a0]" : : "i" _FOFF(SAPBootInfo,iMain)); + asm("mov r0, r4 "); // pointer to SAPBootInfo + asm("adr lr, 1f "); + __JUMP(,r1); + asm("1: "); + __ASM_CRASH(); + } + +}