Changed CONTEXT into CONTEXT86 everywhere we really want an i386
context.
Added #ifdef __i386__ around accesses to 386 registers in the generic
CONTEXT structure.
diff --git a/loader/task.c b/loader/task.c
index 0cfc833..9ff7fed 100644
--- a/loader/task.c
+++ b/loader/task.c
@@ -231,7 +231,7 @@
TDB *pTask = (TDB *)GlobalLock16( GetCurrentTask() );
NE_MODULE *pModule = NE_GetPtr( pTask->hModule );
SEGTABLEENTRY *pSegTable = NE_SEG_TABLE( pModule );
- CONTEXT context;
+ CONTEXT86 context;
/* Add task to 16-bit scheduler pool */
TASK_Reschedule();
@@ -717,7 +717,7 @@
*
* Called by the application startup code.
*/
-void WINAPI InitTask16( CONTEXT *context )
+void WINAPI InitTask16( CONTEXT86 *context )
{
TDB *pTask;
NE_MODULE *pModule;
@@ -1210,7 +1210,7 @@
/***********************************************************************
* SwitchStackBack (KERNEL.109)
*/
-void WINAPI SwitchStackBack16( CONTEXT *context )
+void WINAPI SwitchStackBack16( CONTEXT86 *context )
{
STACK16FRAME *oldFrame, *newFrame;
INSTANCEDATA *pData;
@@ -1254,7 +1254,7 @@
/***********************************************************************
* GetTaskQueueDS (KERNEL.118)
*/
-void WINAPI GetTaskQueueDS16( CONTEXT *context )
+void WINAPI GetTaskQueueDS16( CONTEXT86 *context )
{
DS_reg(context) = GlobalHandleToSel16( GetTaskQueue16(0) );
}
@@ -1263,7 +1263,7 @@
/***********************************************************************
* GetTaskQueueES (KERNEL.119)
*/
-void WINAPI GetTaskQueueES16( CONTEXT *context )
+void WINAPI GetTaskQueueES16( CONTEXT86 *context )
{
ES_reg(context) = GlobalHandleToSel16( GetTaskQueue16(0) );
}
@@ -1374,7 +1374,7 @@
/***********************************************************************
* GetDummyModuleHandleDS (KERNEL.602)
*/
-VOID WINAPI GetDummyModuleHandleDS16( CONTEXT *context )
+VOID WINAPI GetDummyModuleHandleDS16( CONTEXT86 *context )
{
TDB *pTask;
WORD selector;
@@ -1513,7 +1513,7 @@
return GetExePtrHelper( handle, &dummy );
}
-void WINAPI WIN16_GetExePtr( CONTEXT *context )
+void WINAPI WIN16_GetExePtr( CONTEXT86 *context )
{
WORD *stack = PTR_SEG_OFF_TO_LIN(SS_reg(context), SP_reg(context));
HANDLE16 handle = (HANDLE16)stack[2];