kernel/eka/include/nkernsmp/x86/ncern.h
changeset 201 43365a9b78a3
parent 0 a41df078684a
child 257 3e88ff8f41d5
equal deleted inserted replaced
200:73ea206103e6 201:43365a9b78a3
    34 */
    34 */
    35 struct SX86APBootInfo : public SAPBootInfo
    35 struct SX86APBootInfo : public SAPBootInfo
    36 	{
    36 	{
    37 	};
    37 	};
    38 
    38 
    39 /** Timer frequency specification
       
    40 
       
    41 Stores a frequency as a fraction of a (separately stored) maximum.
       
    42 The frequency must be at least 1/256 of the maximum.
       
    43 
       
    44 @internalTechnology
       
    45 @prototype
       
    46 */
       
    47 struct STimerMult
       
    48 	{
       
    49 	TUint32		iFreq;						// frequency as a fraction of maximum possible, multiplied by 2^32
       
    50 	TUint32		iInverse;					// 2^24/(iFreq/2^32) = 2^56/iFreq
       
    51 	};
       
    52 
       
    53 /** Variant interface block
    39 /** Variant interface block
    54 @internalTechnology
    40 @internalTechnology
    55 @prototype
    41 @prototype
    56 */
    42 */
    57 struct SVariantInterfaceBlock : public SInterfaceBlockBase
    43 struct SVariantInterfaceBlock : public SInterfaceBlockBase
    58 	{
    44 	{
    59 	TUint64		iMaxCpuClock;				// maximum possible CPU clock frequency on this system
    45 	TUint64		iMaxCpuClock;				// maximum possible CPU clock frequency on this system
    60 	TUint32		iTimestampFreq;				// rate at which timestamp increments
    46 	TUint32		iTimestampFreq;				// rate at which timestamp increments
    61 	TUint32		iMaxTimerClock;				// maximum possible local timer clock frequency
    47 	TUint32		iMaxTimerClock;				// maximum possible local timer clock frequency
    62 	volatile STimerMult* iTimerMult[KMaxCpus];	// timer[i] frequency as a fraction of iMaxTimerClock
    48 	SRatio*		iTimerFreqR[KMaxCpus];		// timer[i] frequency as a fraction of iMaxTimerClock
    63 	volatile TUint32* iCpuMult[KMaxCpus];	// CPU[i] frequency / iMaxCpuClock * 2^32
    49 	SRatio*		iCpuFreqR[KMaxCpus];		// CPU[i] frequency as a fraction of iMaxCpuClock
       
    50 	SRatio*		iTimestampFreqR;			// timestamp counter frequency as a fraction of
    64 	};
    51 	};
    65 
    52 
    66 // End of file
    53 // End of file
    67 #endif
    54 #endif