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.

65 lines
1.2 KiB

4 years ago
  1. // TITLE("Interprocessor Interrupts")
  2. //++
  3. //
  4. // Copyright (c) 1993 Microsoft Corporation
  5. //
  6. // Module Name:
  7. //
  8. // xxipiint.s
  9. //
  10. // Abstract:
  11. //
  12. // This module implements the code necessary to field and process the
  13. // interprocessor interrupts on a MIPS R4000 Duo system.
  14. //
  15. // Author:
  16. //
  17. // David N. Cutler (davec) 29-May-1993
  18. //
  19. // Environment:
  20. //
  21. // Kernel mode only.
  22. //
  23. // Revision History:
  24. //
  25. //--
  26. #include "halmips.h"
  27. #if defined(_DUO_)
  28. #include "duodef.h"
  29. #endif
  30. SBTTL("Interprocessor Interrupt")
  31. //++
  32. //
  33. // Routine Description:
  34. //
  35. // This routine is entered as the result of an interprocessor interrupt.
  36. // Its function is to acknowledge the interrupt and transfer control to
  37. // the standard system routine to process interprocessor requrests.
  38. //
  39. // Arguments:
  40. //
  41. // s8 - Supplies a pointer to a trap frame.
  42. //
  43. // Return Value:
  44. //
  45. // None.
  46. //
  47. //--
  48. #if defined(_DUO_)
  49. LEAF_ENTRY(HalpIpiInterrupt)
  50. lw t0,DMA_VIRTUAL_BASE + 0x60 // acknowledge IP interrupt
  51. lw t1,__imp_KeIpiInterrupt // process interprocessor requests
  52. j t1 //
  53. .end HalpIpIInterrupt
  54. #endif