equal
deleted
inserted
replaced
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; |