diff -r 000000000000 -r a41df078684a kernel/eka/include/nkernsmp/x86/ncern.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kernel/eka/include/nkernsmp/x86/ncern.h Mon Oct 19 15:55:17 2009 +0100 @@ -0,0 +1,67 @@ +// Copyright (c) 2007-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\include\nkernsmp\x86\ncern.h +// +// WARNING: This file contains some APIs which are internal and are subject +// to change without notice. Such APIs should therefore not be used +// outside the Kernel and Hardware Services package. +// + +/** + @file + @publishedPartner + @prototype +*/ + +#ifndef __NCERN_H__ +#define __NCERN_H__ + + +/** Information needed to boot an AP (x86 specific) + +@internalTechnology +*/ +struct SX86APBootInfo : public SAPBootInfo + { + }; + +/** Timer frequency specification + +Stores a frequency as a fraction of a (separately stored) maximum. +The frequency must be at least 1/256 of the maximum. + +@internalTechnology +@prototype +*/ +struct STimerMult + { + TUint32 iFreq; // frequency as a fraction of maximum possible, multiplied by 2^32 + TUint32 iInverse; // 2^24/(iFreq/2^32) = 2^56/iFreq + }; + +/** Variant interface block +@internalTechnology +@prototype +*/ +struct SVariantInterfaceBlock : public SInterfaceBlockBase + { + TUint64 iMaxCpuClock; // maximum possible CPU clock frequency on this system + TUint32 iTimestampFreq; // rate at which timestamp increments + TUint32 iMaxTimerClock; // maximum possible local timer clock frequency + volatile STimerMult* iTimerMult[KMaxCpus]; // timer[i] frequency as a fraction of iMaxTimerClock + volatile TUint32* iCpuMult[KMaxCpus]; // CPU[i] frequency / iMaxCpuClock * 2^32 + }; + +// End of file +#endif