Leaked source code of windows server 2003
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.

132 lines
3.0 KiB

  1. /*++
  2. Copyright (c) 2001 Microsoft Corporation
  3. Module Name:
  4. shpcmasks.c
  5. Abstract:
  6. This module contains global data indicating the type of each of the
  7. bits in the SHPC register set.
  8. Author:
  9. Davis Walker (dwalker) 2 Feb 2001
  10. Revision History:
  11. --*/
  12. #include "hpsp.h"
  13. UCHAR ConfigWriteMask[] = {
  14. 0x00,
  15. 0x00, // Capability Header
  16. 0xFF, // DwordSelect
  17. 0x00, // Pending
  18. 0xFF,
  19. 0xFF,
  20. 0xFF,
  21. 0xFF // Data
  22. };
  23. //
  24. // Any bit set to 1 in this mask is RWC, so writing 1 to it will cause
  25. // it to be cleared. All writes to these bits (other than those
  26. // explicitly designed to clear these bits) must be 0. The register
  27. // specific masks are defined in shpc.h.
  28. //
  29. ULONG RegisterWriteClearMask[] = {
  30. 0,
  31. 0,
  32. 0,
  33. 0,
  34. 0,
  35. 0,
  36. 0,
  37. 0,
  38. ControllerMaskRWC,
  39. SlotRWC,
  40. SlotRWC,
  41. SlotRWC,
  42. SlotRWC,
  43. SlotRWC,
  44. SlotRWC,
  45. SlotRWC,
  46. SlotRWC,
  47. SlotRWC,
  48. SlotRWC,
  49. SlotRWC,
  50. SlotRWC,
  51. SlotRWC,
  52. SlotRWC,
  53. SlotRWC,
  54. SlotRWC,
  55. SlotRWC,
  56. SlotRWC,
  57. SlotRWC,
  58. SlotRWC,
  59. SlotRWC,
  60. SlotRWC,
  61. SlotRWC,
  62. SlotRWC,
  63. SlotRWC,
  64. SlotRWC,
  65. SlotRWC,
  66. SlotRWC,
  67. SlotRWC,
  68. SlotRWC,
  69. SlotRWC
  70. };
  71. //
  72. // Any bit set to 1 in this mask is read only. This is a combination of
  73. // registers that are spec-defined to be read only and those that are
  74. // reserved, since we are emulating a nice controller that ignores writes
  75. // to reserved registers.
  76. // TODO be a mean controller.
  77. //
  78. ULONG RegisterReadOnlyMask[] = {
  79. BaseOffsetRO,
  80. SlotsAvailDWord1RO | SlotsAvailDWord1RsvdP,
  81. SlotsAvailDWord2RO | SlotsAvailDWord2RsvdP,
  82. SlotConfigRO | SlotConfigRsvdP,
  83. BusConfigRO | BusConfigRsvdP,
  84. CommandStatusRO | CommandStatusRsvdP,
  85. IntLocatorRO,
  86. SERRLocatorRO,
  87. ControllerMaskRsvdP | ControllerMaskRsvdZ,
  88. SlotRO | SlotRsvdP | SlotRsvdZ,
  89. SlotRO | SlotRsvdP | SlotRsvdZ,
  90. SlotRO | SlotRsvdP | SlotRsvdZ,
  91. SlotRO | SlotRsvdP | SlotRsvdZ,
  92. SlotRO | SlotRsvdP | SlotRsvdZ,
  93. SlotRO | SlotRsvdP | SlotRsvdZ,
  94. SlotRO | SlotRsvdP | SlotRsvdZ,
  95. SlotRO | SlotRsvdP | SlotRsvdZ,
  96. SlotRO | SlotRsvdP | SlotRsvdZ,
  97. SlotRO | SlotRsvdP | SlotRsvdZ,
  98. SlotRO | SlotRsvdP | SlotRsvdZ,
  99. SlotRO | SlotRsvdP | SlotRsvdZ,
  100. SlotRO | SlotRsvdP | SlotRsvdZ,
  101. SlotRO | SlotRsvdP | SlotRsvdZ,
  102. SlotRO | SlotRsvdP | SlotRsvdZ,
  103. SlotRO | SlotRsvdP | SlotRsvdZ,
  104. SlotRO | SlotRsvdP | SlotRsvdZ,
  105. SlotRO | SlotRsvdP | SlotRsvdZ,
  106. SlotRO | SlotRsvdP | SlotRsvdZ,
  107. SlotRO | SlotRsvdP | SlotRsvdZ,
  108. SlotRO | SlotRsvdP | SlotRsvdZ,
  109. SlotRO | SlotRsvdP | SlotRsvdZ,
  110. SlotRO | SlotRsvdP | SlotRsvdZ,
  111. SlotRO | SlotRsvdP | SlotRsvdZ,
  112. SlotRO | SlotRsvdP | SlotRsvdZ,
  113. SlotRO | SlotRsvdP | SlotRsvdZ,
  114. SlotRO | SlotRsvdP | SlotRsvdZ,
  115. SlotRO | SlotRsvdP | SlotRsvdZ,
  116. SlotRO | SlotRsvdP | SlotRsvdZ,
  117. SlotRO | SlotRsvdP | SlotRsvdZ,
  118. SlotRO | SlotRsvdP | SlotRsvdZ
  119. };