summaryrefslogtreecommitdiff
path: root/InOsEmuPkg/Include
diff options
context:
space:
mode:
authorandrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524>2011-06-17 18:21:16 +0000
committerandrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524>2011-06-17 18:21:16 +0000
commit57c7d70ff9bcd4365d75b854046bbb390cb579c6 (patch)
treef55a5d5c20115d918df260ef03071015b36ee1d3 /InOsEmuPkg/Include
parentd8387fa4af2abae05dc6ec502b27adea455cdaaa (diff)
downloadedk2-platforms-57c7d70ff9bcd4365d75b854046bbb390cb579c6.tar.xz
InOsEmuPkg: Implement gIdleLoopEventGuid.
Added a CpuSleep () API to the Emulator Thunk. We needed to do this as the Stall() works hard to not get broken by the timer tic (POSIX signal). nanosleep() gets interrupted by the timer signal so it is a good emulator of a CpuSleep(); I was also able to remove some stalls in the X11 keyboard and mouse checking events, now that the gIdleLoopEventGuid was added. Signed-off-by: andrewfish git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11846 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'InOsEmuPkg/Include')
-rw-r--r--InOsEmuPkg/Include/Protocol/EmuThunk.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/InOsEmuPkg/Include/Protocol/EmuThunk.h b/InOsEmuPkg/Include/Protocol/EmuThunk.h
index 3e2718ed66..ed4df3a942 100644
--- a/InOsEmuPkg/Include/Protocol/EmuThunk.h
+++ b/InOsEmuPkg/Include/Protocol/EmuThunk.h
@@ -130,6 +130,12 @@ VOID
typedef
VOID
+(EFIAPI *EMU_CPU_SLEEP) (
+ VOID
+ );
+
+typedef
+VOID
(EFIAPI *EMU_EXIT) (
IN UINTN Status
);
@@ -215,6 +221,7 @@ struct _EMU_THUNK_PROTOCOL {
EMU_QUERY_PERFORMANCE_COUNTER QueryPerformanceCounter;
EMU_SLEEP Sleep;
+ EMU_CPU_SLEEP CpuSleep;
EMU_EXIT Exit;
EMU_GET_TIME GetTime;
EMU_SET_TIME SetTime;