1 |
/* PCSX2 - PS2 Emulator for PCs |
2 |
* Copyright (C) 2002-2010 PCSX2 Dev Team |
3 |
* |
4 |
* PCSX2 is free software: you can redistribute it and/or modify it under the terms |
5 |
* of the GNU Lesser General Public License as published by the Free Software Found- |
6 |
* ation, either version 3 of the License, or (at your option) any later version. |
7 |
* |
8 |
* PCSX2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; |
9 |
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR |
10 |
* PURPOSE. See the GNU General Public License for more details. |
11 |
* |
12 |
* You should have received a copy of the GNU General Public License along with PCSX2. |
13 |
* If not, see <http://www.gnu.org/licenses/>. |
14 |
*/ |
15 |
|
16 |
#include "PrecompiledHeader.h" |
17 |
#include "Win32.h" |
18 |
#include <winnt.h> |
19 |
|
20 |
#include "Common.h" |
21 |
#include "System/PageFaultSource.h" |
22 |
|
23 |
int SysPageFaultExceptionFilter( EXCEPTION_POINTERS* eps ) |
24 |
{ |
25 |
if( eps->ExceptionRecord->ExceptionCode != EXCEPTION_ACCESS_VIOLATION ) |
26 |
return EXCEPTION_CONTINUE_SEARCH; |
27 |
|
28 |
Source_PageFault.Dispatch( PageFaultInfo( (uptr)eps->ExceptionRecord->ExceptionInformation[1] ) ); |
29 |
return Source_PageFault.WasHandled() ? EXCEPTION_CONTINUE_EXECUTION : EXCEPTION_CONTINUE_SEARCH; |
30 |
} |
31 |
|
32 |
void InstallSignalHandler() |
33 |
{ |
34 |
// NOP on Win32 systems -- we use __try{} __except{} instead. |
35 |
} |