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.

88 lines
1.7 KiB

  1. /*++
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. chiphacks.h
  5. Abstract:
  6. Implements utilities for finding and hacking
  7. various chipsets
  8. Author:
  9. Jake Oshins (jakeo) 10/02/2000
  10. Environment:
  11. Kernel mode only.
  12. Revision History:
  13. --*/
  14. #include "halp.h"
  15. #include "pci.h"
  16. #define PM_TIMER_HACK_FLAG 1
  17. #define DISABLE_HIBERNATE_HACK_FLAG 2
  18. #define SET_ACPI_IRQSTACK_HACK_FLAG 4
  19. #define WHACK_ICH_USB_SMI_HACK_FLAG 8
  20. //
  21. // The format of the registry hack entry is as follows
  22. //
  23. // 31..RevId..24 | 23..hacks..12 | 11..hacks..0
  24. //
  25. // There's room to define 8 more hack flags, and this allows us to specify
  26. // a revision, at and above which we apply a different set of flags, this
  27. // simple approach, while maintaining compatibility with the old registy
  28. // hacks, allows both room for growth, and provides a mechanism for removing
  29. // hacks based on chip revision
  30. //
  31. #define HACK_REVISION(hf) ((hf) >> 24)
  32. #define BASE_HACKS(hf) ((hf) & 0xFFF)
  33. #define REVISED_HACKS(hf) (((hf) & 0xFFF000) >> 12)
  34. NTSTATUS
  35. HalpGetChipHacks(
  36. IN USHORT VendorId,
  37. IN USHORT DeviceId,
  38. IN UCHAR RevisionId OPTIONAL,
  39. OUT ULONG *HackFlags
  40. );
  41. VOID
  42. HalpStopOhciInterrupt(
  43. ULONG BusNumber,
  44. PCI_SLOT_NUMBER SlotNumber
  45. );
  46. VOID
  47. HalpStopUhciInterrupt(
  48. ULONG BusNumber,
  49. PCI_SLOT_NUMBER SlotNumber,
  50. BOOLEAN ResetHostController
  51. );
  52. VOID
  53. HalpSetAcpiIrqHack(
  54. ULONG Value
  55. );
  56. VOID
  57. HalpWhackICHUsbSmi(
  58. ULONG BusNumber,
  59. PCI_SLOT_NUMBER SlotNumber
  60. );
  61. VOID
  62. HalpClearSlpSmiStsInICH(
  63. VOID
  64. );