kernel/eka/memmodel/epoc/flexible/arm/xsched.cpp
changeset 109 b3a1d9898418
parent 0 a41df078684a
child 257 3e88ff8f41d5
equal deleted inserted replaced
102:ef2a444a7410 109:b3a1d9898418
    12 //
    12 //
    13 // Description:
    13 // Description:
    14 //
    14 //
    15 
    15 
    16 #include "arm_mem.h"
    16 #include "arm_mem.h"
       
    17 #include "mpager.h"
    17 
    18 
    18 #define iMState		iWaitLink.iSpare1
    19 #define iMState		iWaitLink.iSpare1
    19 
    20 
    20 #ifdef __REQUEST_COMPLETE_MACHINE_CODED__
    21 #ifdef __REQUEST_COMPLETE_MACHINE_CODED__
    21 
    22 
    28 //
    29 //
    29 	{
    30 	{
    30 	DThread* thread = TheCurrentThread;
    31 	DThread* thread = TheCurrentThread;
    31 	TRequestStatus* status = aStatus;
    32 	TRequestStatus* status = aStatus;
    32 	aStatus = NULL;
    33 	aStatus = NULL;
       
    34 
       
    35 #ifdef _DEBUG
       
    36 	if (KDebugNum(KFORCEKUPAGEFAULTS))
       
    37 		{
       
    38 		NKern::UnlockSystem();
       
    39 		TInt r = ThePager.FlushRegion((DMemModelProcess*)thread->iOwningProcess,
       
    40 									  (TLinAddr)status, sizeof(TRequestStatus));
       
    41 		(void)r; // ignore errors
       
    42 		NKern::LockSystem();
       
    43 		}
       
    44 #endif
       
    45 	
    33 	TInt pagingFault;
    46 	TInt pagingFault;
    34 	do
    47 	do
    35 		{
    48 		{
    36 		XTRAP_PAGING_START(pagingFault);
    49 		XTRAP_PAGING_START(pagingFault);
    37 		CHECK_PAGING_SAFE;
    50 		CHECK_PAGING_SAFE;