clock.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. /*++
  2. Copyright (c) 2012 Minoca Corp. All Rights Reserved
  3. Module Name:
  4. clock.h
  5. Abstract:
  6. This header contains definitions for the hardware layer's clock interrupt
  7. support.
  8. Author:
  9. Evan Green 19-Aug-2012
  10. --*/
  11. //
  12. // ---------------------------------------------------------------- Definitions
  13. //
  14. //
  15. // ------------------------------------------------------ Data Type Definitions
  16. //
  17. //
  18. // -------------------------------------------------------- Function Prototypes
  19. //
  20. INTERRUPT_STATUS
  21. HlpEarlyClockInterruptHandler (
  22. PVOID Context
  23. );
  24. /*++
  25. Routine Description:
  26. This routine responds to clock interrupts while the system is still in
  27. early initialization.
  28. Arguments:
  29. Context - Supplies a context pointer. Currently unused.
  30. Return Value:
  31. Claimed always.
  32. --*/
  33. INTERRUPT_STATUS
  34. HlpClockIpiHandler (
  35. PVOID Context
  36. );
  37. /*++
  38. Routine Description:
  39. This routine is the ISR for clock IPIs. The main difference being that it
  40. does not need to acknowledge the clock interrupt in the hardware module as
  41. this interrupt is software generated.
  42. Arguments:
  43. Context - Supplies a context pointer. Currently unused.
  44. Return Value:
  45. Claimed always.
  46. --*/
  47. KSTATUS
  48. HlpTimerInitializeClock (
  49. VOID
  50. );
  51. /*++
  52. Routine Description:
  53. This routine initializes the system clock source and start it ticking.
  54. Arguments:
  55. None.
  56. Return Value:
  57. Status code.
  58. --*/
  59. KSTATUS
  60. HlpTimerActivateClock (
  61. VOID
  62. );
  63. /*++
  64. Routine Description:
  65. This routine sets the clock handler routine to the main clock ISR.
  66. Arguments:
  67. None.
  68. Return Value:
  69. Status code.
  70. --*/