blob: cba733754cd28748472ae898a4474646a93b23af [file] [log] [blame]
Ulrich Weigandab635b21998-11-14 18:33:34 +00001/*
2 * DOS interrupt 41h handler -- Windows Kernel Debugger
3 *
4 * Check debugsys.inc from the DDK for docu.
5 */
6
Marcus Meissner317af321999-02-17 13:51:06 +00007#include <stdio.h>
Ulrich Weigandab635b21998-11-14 18:33:34 +00008#include "miscemu.h"
Alexandre Julliard383da682000-02-10 22:15:21 +00009#include "debugtools.h"
10
11DEFAULT_DEBUG_CHANNEL(int);
Ulrich Weigandab635b21998-11-14 18:33:34 +000012
13/***********************************************************************
Patrik Stridvall3ca98232001-06-20 23:03:14 +000014 * INT_Int41Handler (WPROCS.165)
Ulrich Weigandab635b21998-11-14 18:33:34 +000015 *
16 */
Alexandre Julliard617955d1999-06-26 18:40:24 +000017void WINAPI INT_Int41Handler( CONTEXT86 *context )
Ulrich Weigandab635b21998-11-14 18:33:34 +000018{
19 if ( ISV86(context) )
20 {
21 /* Real-mode debugger services */
22 switch ( AX_reg(context) )
23 {
24 default:
25 INT_BARF( context, 0x41 );
26 break;
27 }
28 }
29 else
30 {
31 /* Protected-mode debugger services */
32 switch ( AX_reg(context) )
33 {
Andreas Mohra00b49f1998-12-07 10:48:09 +000034 case 0x4f:
Ulrich Weigandab635b21998-11-14 18:33:34 +000035 case 0x50:
36 case 0x150:
37 case 0x51:
38 case 0x52:
39 case 0x152:
40 case 0x59:
41 case 0x5a:
42 case 0x5b:
43 case 0x5c:
44 case 0x5d:
45 /* Notifies the debugger of a lot of stuff. We simply ignore it
46 for now, but some of the info might actually be useful ... */
47 break;
48
49 default:
50 INT_BARF( context, 0x41 );
51 break;
52 }
53 }
54}
55