blob: 1506dad100fe8b81d91ee94e7b6e52530fbd8c9b [file] [log] [blame]
Ulrich Weigandab635b21998-11-14 18:33:34 +00001/*
2 * DOS interrupt 41h handler -- Windows Kernel Debugger
Vincent BĂ©ron9a624912002-05-31 23:06:46 +00003 *
Ulrich Weigandab635b21998-11-14 18:33:34 +00004 * Check debugsys.inc from the DDK for docu.
Alexandre Julliard0799c1a2002-03-09 23:29:33 +00005 *
6 * Copyright 1998 Ulrich Weigand
7 *
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
12 *
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Ulrich Weigandab635b21998-11-14 18:33:34 +000021 */
22
Marcus Meissner317af321999-02-17 13:51:06 +000023#include <stdio.h>
Ulrich Weigandab635b21998-11-14 18:33:34 +000024#include "miscemu.h"
Alexandre Julliard0799c1a2002-03-09 23:29:33 +000025#include "wine/debug.h"
Alexandre Julliard383da682000-02-10 22:15:21 +000026
Alexandre Julliard0799c1a2002-03-09 23:29:33 +000027WINE_DEFAULT_DEBUG_CHANNEL(int);
Ulrich Weigandab635b21998-11-14 18:33:34 +000028
29/***********************************************************************
Patrik Stridvall3ca98232001-06-20 23:03:14 +000030 * INT_Int41Handler (WPROCS.165)
Ulrich Weigandab635b21998-11-14 18:33:34 +000031 *
32 */
Alexandre Julliard617955d1999-06-26 18:40:24 +000033void WINAPI INT_Int41Handler( CONTEXT86 *context )
Ulrich Weigandab635b21998-11-14 18:33:34 +000034{
35 if ( ISV86(context) )
36 {
37 /* Real-mode debugger services */
38 switch ( AX_reg(context) )
39 {
40 default:
41 INT_BARF( context, 0x41 );
42 break;
43 }
44 }
45 else
46 {
47 /* Protected-mode debugger services */
48 switch ( AX_reg(context) )
49 {
Andreas Mohra00b49f1998-12-07 10:48:09 +000050 case 0x4f:
Ulrich Weigandab635b21998-11-14 18:33:34 +000051 case 0x50:
52 case 0x150:
53 case 0x51:
54 case 0x52:
55 case 0x152:
56 case 0x59:
57 case 0x5a:
58 case 0x5b:
59 case 0x5c:
60 case 0x5d:
61 /* Notifies the debugger of a lot of stuff. We simply ignore it
62 for now, but some of the info might actually be useful ... */
63 break;
64
65 default:
66 INT_BARF( context, 0x41 );
67 break;
68 }
69 }
70}
71