Implement HlReadTimeStampCounter() routine
All checks were successful
ci/woodpecker/push/build Pipeline was successful
All checks were successful
ci/woodpecker/push/build Pipeline was successful
This commit is contained in:
parent
f46615f92c
commit
fcfa575bff
@ -69,6 +69,10 @@ XTCDECL
|
||||
ULONGLONG
|
||||
HlReadModelSpecificRegister(IN ULONG Register);
|
||||
|
||||
XTCDECL
|
||||
ULONGLONG
|
||||
HlReadTimeStampCounter();
|
||||
|
||||
XTCDECL
|
||||
VOID
|
||||
HlSetInterruptFlag();
|
||||
|
@ -69,6 +69,10 @@ XTCDECL
|
||||
ULONGLONG
|
||||
HlReadModelSpecificRegister(IN ULONG Register);
|
||||
|
||||
XTCDECL
|
||||
ULONGLONG
|
||||
HlReadTimeStampCounter();
|
||||
|
||||
XTCDECL
|
||||
VOID
|
||||
HlSetInterruptFlag();
|
||||
|
@ -321,6 +321,26 @@ HlReadModelSpecificRegister(IN ULONG Register)
|
||||
return ((ULONGLONG)High << 32) | Low;
|
||||
}
|
||||
|
||||
/**
|
||||
* Reads the current value of the CPU's time-stamp counter.
|
||||
*
|
||||
* @return This routine returns the current instruction cycle count since the processor was started.
|
||||
*
|
||||
* @since XT 1.0
|
||||
*/
|
||||
XTCDECL
|
||||
ULONGLONG
|
||||
HlReadTimeStampCounter()
|
||||
{
|
||||
ULONGLONG Low, High;
|
||||
|
||||
asm volatile("rdtsc"
|
||||
:"=a"(Low),
|
||||
"=d"(High));
|
||||
|
||||
return ((ULONGLONG)High << 32) | Low;
|
||||
}
|
||||
|
||||
/**
|
||||
* Instructs the processor to set the interrupt flag.
|
||||
*
|
||||
|
@ -313,6 +313,25 @@ HlReadModelSpecificRegister(IN ULONG Register)
|
||||
return Value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Reads the current value of the CPU's time-stamp counter.
|
||||
*
|
||||
* @return This routine returns the current instruction cycle count since the processor was started.
|
||||
*
|
||||
* @since XT 1.0
|
||||
*/
|
||||
XTCDECL
|
||||
ULONGLONG
|
||||
HlReadTimeStampCounter()
|
||||
{
|
||||
ULONGLONG Value;
|
||||
|
||||
asm volatile("rdtsc"
|
||||
: "=A"(Value));
|
||||
|
||||
return Value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Instructs the processor to set the interrupt flag.
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user