sl@0: // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of the License "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // e32\nkern\x86\nk_entry.cpp sl@0: // sl@0: // sl@0: sl@0: #include sl@0: sl@0: extern "C" { sl@0: extern TAny* malloc(TUint32 aSize); sl@0: extern void free(TAny* aCell); sl@0: } sl@0: sl@0: // include the static data definitions sl@0: #define __FLTUSED sl@0: #define __USE_MALLOC__ sl@0: #include "win32crt.h" sl@0: #include "nwdl.h" sl@0: sl@0: sl@0: extern "C" void HwInit0(); sl@0: extern "C" void KernelMain(); sl@0: sl@0: extern "C" sl@0: int atexit(void (__cdecl *)(void)) sl@0: { sl@0: return 0; sl@0: } sl@0: sl@0: extern "C" { sl@0: sl@0: extern TLinAddr RomHeaderAddress; sl@0: extern TLinAddr SuperPageAddress; sl@0: sl@0: sl@0: void _E32Startup_Body(TLinAddr aRomHeader, TLinAddr aSuperPage) sl@0: // sl@0: // The main startup program sl@0: // aRomHeader is address of ROM header passed in by bootstrap sl@0: // aSuperPage is address of super page passed in by bootstrap sl@0: // sl@0: { sl@0: RomHeaderAddress = aRomHeader; sl@0: SuperPageAddress = aSuperPage; sl@0: sl@0: HwInit0(); sl@0: sl@0: KPrintf("RomHeaderAddress = %08x", RomHeaderAddress); sl@0: KPrintf("SuperPageAddress = %08x", SuperPageAddress); sl@0: KPrintf("Calling global constructors..."); sl@0: constructStatics(); sl@0: KPrintf("Calling KernelMain()..."); sl@0: KernelMain(); sl@0: } sl@0: } sl@0: