procarch.c 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. /*++
  2. Copyright (c) 2015 Minoca Corp.
  3. This file is licensed under the terms of the GNU General Public License
  4. version 3. Alternative licensing terms are available. Contact
  5. info@minocacorp.com for details. See the LICENSE file at the root of this
  6. project for complete licensing information.
  7. Module Name:
  8. procarch.c
  9. Abstract:
  10. This module contains architecture-specific support for ACPI processor
  11. management.
  12. Author:
  13. Evan Green 29-Sep-2015
  14. Environment:
  15. Kernel
  16. --*/
  17. //
  18. // ------------------------------------------------------------------- Includes
  19. //
  20. #include <minoca/kernel/driver.h>
  21. #include "../acpip.h"
  22. #include "../proc.h"
  23. #include "../namespce.h"
  24. //
  25. // ---------------------------------------------------------------- Definitions
  26. //
  27. //
  28. // ------------------------------------------------------ Data Type Definitions
  29. //
  30. //
  31. // ----------------------------------------------- Internal Function Prototypes
  32. //
  33. //
  34. // -------------------------------------------------------------------- Globals
  35. //
  36. //
  37. // ------------------------------------------------------------------ Functions
  38. //
  39. KSTATUS
  40. AcpipArchInitializeProcessorManagement (
  41. PACPI_OBJECT NamespaceObject
  42. )
  43. /*++
  44. Routine Description:
  45. This routine is called to perform architecture-specific initialization for
  46. ACPI-based processor power management.
  47. Arguments:
  48. NamespaceObject - Supplies the namespace object of this processor.
  49. Return Value:
  50. Status code.
  51. --*/
  52. {
  53. return STATUS_SUCCESS;
  54. }
  55. VOID
  56. AcpipEnterCState (
  57. PPM_IDLE_PROCESSOR_STATE Processor,
  58. ULONG State
  59. )
  60. /*++
  61. Routine Description:
  62. This routine prototype represents a function that is called to go into a
  63. given idle state on the current processor. This routine is called with
  64. interrupts disabled, and should return with interrupts disabled.
  65. Arguments:
  66. Processor - Supplies a pointer to the information for the current processor.
  67. State - Supplies the new state index to change to.
  68. Return Value:
  69. None. It is assumed when this function returns that the idle state was
  70. entered and then exited.
  71. --*/
  72. {
  73. //
  74. // C-states via ACPI on ARM are not yet implemented.
  75. //
  76. ASSERT(FALSE);
  77. ArWaitForInterrupt();
  78. ArDisableInterrupts();
  79. return;
  80. }
  81. //
  82. // --------------------------------------------------------- Internal Functions
  83. //