intr.c 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. /*++
  2. Copyright (c) 2014 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. intr.c
  9. Abstract:
  10. This module implements platform interrupt support for BIOS machines.
  11. Author:
  12. Evan Green 3-Mar-2014
  13. Environment:
  14. Firmware
  15. --*/
  16. //
  17. // ------------------------------------------------------------------- Includes
  18. //
  19. #include <uefifw.h>
  20. //
  21. // ---------------------------------------------------------------- Definitions
  22. //
  23. //
  24. // ------------------------------------------------------ Data Type Definitions
  25. //
  26. //
  27. // ----------------------------------------------- Internal Function Prototypes
  28. //
  29. //
  30. // -------------------------------------------------------------------- Globals
  31. //
  32. //
  33. // ------------------------------------------------------------------ Functions
  34. //
  35. EFI_STATUS
  36. EfiPlatformInitializeInterrupts (
  37. EFI_PLATFORM_BEGIN_INTERRUPT *BeginInterruptFunction,
  38. EFI_PLATFORM_HANDLE_INTERRUPT *HandleInterruptFunction,
  39. EFI_PLATFORM_END_INTERRUPT *EndInterruptFunction
  40. )
  41. /*++
  42. Routine Description:
  43. This routine initializes support for platform interrupts. Interrupts are
  44. assumed to be disabled at the processor now. This routine should enable
  45. interrupts at the procesor core.
  46. Arguments:
  47. BeginInterruptFunction - Supplies a pointer where a pointer to a function
  48. will be returned that is called when an interrupt occurs.
  49. HandleInterruptFunction - Supplies a pointer where a pointer to a function
  50. will be returned that is called to handle a platform-specific interurpt.
  51. NULL may be returned here.
  52. EndInterruptFunction - Supplies a pointer where a pointer to a function
  53. will be returned that is called to complete an interrupt.
  54. Return Value:
  55. EFI Status code.
  56. --*/
  57. {
  58. //
  59. // Because the BIOS sets up 16-bit real mode interrupts, do not enable
  60. // interrupts here.
  61. //
  62. *BeginInterruptFunction = NULL;
  63. *HandleInterruptFunction = NULL;
  64. *EndInterruptFunction = NULL;
  65. return EFI_SUCCESS;
  66. }
  67. VOID
  68. EfiPlatformTerminateInterrupts (
  69. VOID
  70. )
  71. /*++
  72. Routine Description:
  73. This routine terminates interrupt services in preparation for transitioning
  74. out of boot services.
  75. Arguments:
  76. None.
  77. Return Value:
  78. None.
  79. --*/
  80. {
  81. return;
  82. }
  83. //
  84. // --------------------------------------------------------- Internal Functions
  85. //