Windows NT 4.0 source code leak
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
// TITLE("Jazz I/O Interrupt Dispatch") //++ // // Copyright (c) 1990 Microsoft Corporation // // Module Name: // // jxdmadsp.s // // Abstract: // // This module implements the code necessary to do the second level dispatch // for I/O interrupts on Jazz. // // Author: // // David N. Cutler (davec) 12-May-1990 // // Environment: // // Kernel mode only. // // Revision History: // //--
#include "halmips.h"
#if defined(_DUO_)
#include "duodef.h"
#endif
#if defined(_JAZZ_)
#include "jazzdef.h"
#endif
SBTTL("Local Device First Level Dispatch") //++ // // Routine Description: // // This routine is entered as the result of an interrupt being generated // for a local device. // // Arguments: // // s8 - Supplies a pointer to a trap frame. // // Return Value: // // None. // //--
LEAF_ENTRY(HalpDmaDispatch)
#if defined(_DUO_)
lbu t0,DMA_VIRTUAL_BASE + 0x48 // get interrupt source vector
#endif
#if defined(_JAZZ_)
lbu t0,INTERRUPT_VIRTUAL_BASE + 0x0 // get interrupt source vector
#endif
lw a0,KiPcr + PcInterruptRoutine + (DEVICE_VECTORS * 4)(t0) // lw t1,InDispatchAddress - InDispatchCode(a0) // get dispatch address subu a0,a0,InDispatchCode // compute address of interrupt object j t1 // transfer control to interrupt routine
.end HalpDmaDispatch
|