mirror of
git://source.winehq.org/git/wine.git
synced 2024-07-21 09:54:19 +00:00
Removed last users of msdos/interrupts.c.
This commit is contained in:
parent
14e68ba7fe
commit
1a665058e8
|
@ -1049,14 +1049,12 @@
|
|||
@ cdecl DOSMEM_GetBlock(long ptr) DOSMEM_GetBlock
|
||||
@ cdecl DOSMEM_GetDPMISegments() DOSMEM_GetDPMISegments
|
||||
@ cdecl DOSMEM_Init(long) DOSMEM_Init
|
||||
@ cdecl INT_GetPMHandler(long) INT_GetPMHandler
|
||||
@ stdcall INT_Int11Handler(ptr) INT_Int11Handler
|
||||
@ stdcall INT_Int15Handler(ptr) INT_Int15Handler
|
||||
@ stdcall INT_Int25Handler(ptr) INT_Int25Handler
|
||||
@ stdcall INT_Int26Handler(ptr) INT_Int26Handler
|
||||
@ stdcall INT_Int2fHandler(ptr) INT_Int2fHandler
|
||||
@ stdcall NetBIOSCall16(ptr) NetBIOSCall16
|
||||
@ cdecl INT_SetPMHandler(long long) INT_SetPMHandler
|
||||
@ cdecl LOCAL_Alloc(long long long) LOCAL_Alloc
|
||||
@ cdecl LOCAL_Compact(long long long) LOCAL_Compact
|
||||
@ cdecl LOCAL_CountFree(long) LOCAL_CountFree
|
||||
|
|
|
@ -1,16 +1,3 @@
|
|||
# Interrupt vectors 0-255 are ordinals 100-355
|
||||
# The '-interrupt' keyword takes care of the flags pushed on the stack by the interrupt
|
||||
117 pascal -interrupt INT_Int11Handler() INT_Int11Handler
|
||||
121 pascal -interrupt INT_Int15Handler() INT_Int15Handler
|
||||
133 pascal -interrupt INT_Int21Handler() DOS3Call
|
||||
# Note: int 25 and 26 don't pop the flags from the stack
|
||||
137 pascal -register INT_Int25Handler() INT_Int25Handler
|
||||
138 pascal -register INT_Int26Handler() INT_Int26Handler
|
||||
147 pascal -interrupt INT_Int2fHandler() INT_Int2fHandler
|
||||
192 pascal -interrupt INT_Int5cHandler() NetBIOSCall16
|
||||
# default handler for unimplemented interrupts
|
||||
356 pascal -interrupt INT_DefaultHandler() INT_DefaultHandler
|
||||
|
||||
# VxDs. The first Vxd is at 400
|
||||
#
|
||||
#400+VXD_ID pascal -register <VxD handler>() <VxD handler>
|
||||
|
|
|
@ -57,7 +57,6 @@ C_SRCS = \
|
|||
$(TOPOBJDIR)/msdos/int26.c \
|
||||
$(TOPOBJDIR)/msdos/int2f.c \
|
||||
$(TOPOBJDIR)/msdos/int5c.c \
|
||||
$(TOPOBJDIR)/msdos/interrupts.c \
|
||||
$(TOPOBJDIR)/msdos/ioports.c \
|
||||
$(TOPOBJDIR)/msdos/ppdev.c \
|
||||
$(TOPOBJDIR)/msdos/vxd.c \
|
||||
|
|
|
@ -314,9 +314,9 @@ static TDB *TASK_Create( NE_MODULE *pModule, UINT16 cmdShow, TEB *teb, LPCSTR cm
|
|||
pTask->pdb.dispatcher[0] = 0x9a; /* ljmp */
|
||||
proc = GetProcAddress16( GetModuleHandle16("KERNEL"), "DOS3Call" );
|
||||
memcpy( &pTask->pdb.dispatcher[1], &proc, sizeof(proc) );
|
||||
pTask->pdb.savedint22 = INT_GetPMHandler( 0x22 );
|
||||
pTask->pdb.savedint23 = INT_GetPMHandler( 0x23 );
|
||||
pTask->pdb.savedint24 = INT_GetPMHandler( 0x24 );
|
||||
pTask->pdb.savedint22 = 0;
|
||||
pTask->pdb.savedint23 = 0;
|
||||
pTask->pdb.savedint24 = 0;
|
||||
pTask->pdb.fileHandlesPtr =
|
||||
MAKESEGPTR( GlobalHandleToSel16(pTask->hPDB), (int)&((PDB16 *)0)->fileHandles );
|
||||
pTask->pdb.hFileHandles = 0;
|
||||
|
|
|
@ -1295,7 +1295,7 @@ void WINAPI DOS3Call( CONTEXT86 *context )
|
|||
break;
|
||||
|
||||
case 0x25: /* SET INTERRUPT VECTOR */
|
||||
INT_SetPMHandler( AL_reg(context), (FARPROC16)MAKESEGPTR( context->SegDs, DX_reg(context)));
|
||||
FIXME("set interrupt vector - move to winedos...");
|
||||
break;
|
||||
|
||||
case 0x29: /* PARSE FILENAME INTO FCB */
|
||||
|
@ -1414,7 +1414,8 @@ void WINAPI DOS3Call( CONTEXT86 *context )
|
|||
case 0x35: /* GET INTERRUPT VECTOR */
|
||||
TRACE("GET INTERRUPT VECTOR 0x%02x\n",AL_reg(context));
|
||||
{
|
||||
FARPROC16 addr = INT_GetPMHandler( AL_reg(context) );
|
||||
FARPROC16 addr = 0;
|
||||
FIXME("get interrupt vector - move to winedos...\n");
|
||||
context->SegEs = SELECTOROF(addr);
|
||||
SET_BX( context, OFFSETOF(addr) );
|
||||
}
|
||||
|
|
|
@ -1,118 +0,0 @@
|
|||
/*
|
||||
* Interrupt vectors emulation
|
||||
*
|
||||
* Copyright 1995 Alexandre Julliard
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include <sys/types.h>
|
||||
#include "windef.h"
|
||||
#include "wine/winbase16.h"
|
||||
#include "miscemu.h"
|
||||
#include "msdos.h"
|
||||
#include "module.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(int);
|
||||
|
||||
static FARPROC16 INT_Vectors[256];
|
||||
static FARPROC48 INT_Vectors48[256];
|
||||
|
||||
/* Ordinal number for interrupt 0 handler in WPROCS.DLL */
|
||||
#define FIRST_INTERRUPT 100
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* INT_GetPMHandler
|
||||
*
|
||||
* Return the protected mode interrupt vector for a given interrupt.
|
||||
*/
|
||||
FARPROC16 INT_GetPMHandler( BYTE intnum )
|
||||
{
|
||||
if (!INT_Vectors[intnum])
|
||||
{
|
||||
static HMODULE16 wprocs;
|
||||
if (!wprocs)
|
||||
{
|
||||
if (((wprocs = GetModuleHandle16( "wprocs" )) < 32) &&
|
||||
((wprocs = LoadLibrary16( "wprocs" )) < 32))
|
||||
{
|
||||
ERR("could not load wprocs.dll\n");
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
if (!(INT_Vectors[intnum] = GetProcAddress16( wprocs, (LPCSTR)(FIRST_INTERRUPT + intnum))))
|
||||
{
|
||||
WARN("int%x not implemented, returning dummy handler\n", intnum );
|
||||
INT_Vectors[intnum] = GetProcAddress16( wprocs, (LPCSTR)(FIRST_INTERRUPT + 256) );
|
||||
}
|
||||
}
|
||||
return INT_Vectors[intnum];
|
||||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* INT_SetPMHandler
|
||||
*
|
||||
* Set the protected mode interrupt handler for a given interrupt.
|
||||
*/
|
||||
void INT_SetPMHandler( BYTE intnum, FARPROC16 handler )
|
||||
{
|
||||
TRACE("Set protected mode interrupt vector %02x <- %04x:%04x\n",
|
||||
intnum, HIWORD(handler), LOWORD(handler) );
|
||||
INT_Vectors[intnum] = handler;
|
||||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* INT_GetPMHandler48
|
||||
*
|
||||
* Return the protected mode interrupt vector for a given interrupt.
|
||||
* Used to get 48-bit pointer for 32-bit interrupt handlers in DPMI32.
|
||||
*/
|
||||
FARPROC48 INT_GetPMHandler48( BYTE intnum )
|
||||
{
|
||||
if (!INT_Vectors48[intnum].selector)
|
||||
{
|
||||
INT_Vectors48[intnum].selector = DOSMEM_dpmi_segments.int48_sel;
|
||||
INT_Vectors48[intnum].offset = 4 * intnum;
|
||||
}
|
||||
return INT_Vectors48[intnum];
|
||||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* INT_SetPMHandler48
|
||||
*
|
||||
* Set the protected mode interrupt handler for a given interrupt.
|
||||
* Used to set 48-bit pointer for 32-bit interrupt handlers in DPMI32.
|
||||
*/
|
||||
void INT_SetPMHandler48( BYTE intnum, FARPROC48 handler )
|
||||
{
|
||||
TRACE("Set 32-bit protected mode interrupt vector %02x <- %04x:%08lx\n",
|
||||
intnum, handler.selector, handler.offset );
|
||||
INT_Vectors48[intnum] = handler;
|
||||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* INT_DefaultHandler (WPROCS.356)
|
||||
*
|
||||
* Default interrupt handler.
|
||||
*/
|
||||
void WINAPI INT_DefaultHandler( CONTEXT86 *context )
|
||||
{
|
||||
}
|
|
@ -95,10 +95,6 @@ WORD WINAPI GetFreeSystemResources16( WORD resType )
|
|||
*/
|
||||
INT16 WINAPI InitApp16( HINSTANCE16 hInstance )
|
||||
{
|
||||
/* Hack: restore the divide-by-zero handler */
|
||||
/* FIXME: should set a USER-specific handler that displays a msg box */
|
||||
INT_SetPMHandler( 0, INT_GetPMHandler( 0xff ) );
|
||||
|
||||
/* Create task message queue */
|
||||
if ( !InitThreadInput16( 0, 0 ) ) return 0;
|
||||
|
||||
|
|
Loading…
Reference in a new issue