Source code of Windows XP (NT5)
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.

111 lines
1.3 KiB

  1. /*++
  2. Copyright (c) 1992 Microsoft Corporation
  3. Module Name:
  4. dpmimscr.c
  5. Abstract:
  6. This module contains misc dpmi functions for risc.
  7. Author:
  8. Dave Hart (davehart) creation-date 11-Apr-1993
  9. Revision History:
  10. --*/
  11. #include "precomp.h"
  12. #pragma hdrstop
  13. #include "softpc.h"
  14. VOID
  15. DpmiGetFastBopEntry(
  16. VOID
  17. )
  18. /*++
  19. Routine Description:
  20. This routine is the front end for the routine that gets the address. It
  21. is necessary to get the address in asm, because the CS value is not
  22. available in c
  23. Arguments:
  24. None
  25. Return Value:
  26. None.
  27. --*/
  28. {
  29. #ifdef _X86_
  30. GetFastBopEntryAddress(&((PVDM_TIB)NtCurrentTeb()->Vdm)->VdmContext);
  31. #else
  32. //
  33. // krnl286 does a DPMIBOP GetFastBopAddress even on
  34. // risc, so just fail the call since fast-bopping
  35. // will only ever work on x86.
  36. //
  37. setBX(0);
  38. setDX(0);
  39. setES(0);
  40. #endif
  41. }
  42. VOID
  43. DpmiDpmiInUse(
  44. VOID
  45. )
  46. /*++
  47. Routine Description:
  48. This routine currently does nothing.
  49. Arguments:
  50. None.
  51. Return Value:
  52. None.
  53. --*/
  54. {
  55. }
  56. VOID
  57. DpmiDpmiNoLongerInUse(
  58. VOID
  59. )
  60. /*++
  61. Routine Description:
  62. This routine notifies the CPU that the NT dpmi server is no longer in use.
  63. Arguments:
  64. None.
  65. Return Value:
  66. None.
  67. --*/
  68. {
  69. DpmiFreeAllXmem();
  70. }