TianoCore EDK2 master
|
#include <Protocol/DebugSupport.h>
Go to the source code of this file.
Data Structures | |
struct | _EFI_HARDWARE_INTERRUPT_PROTOCOL |
Macros | |
#define | EFI_HARDWARE_INTERRUPT_PROTOCOL_GGUID { 0x2890B3EA, 0x053D, 0x1643, { 0xAD, 0x0C, 0xD6, 0x48, 0x08, 0xDA, 0x3F, 0xF1 } } |
Variables | |
EFI_GUID | gHardwareInterruptProtocolGuid |
Abstraction for hardware based interrupt routine
On non IA-32 systems it is common to have a single hardware interrupt vector and a 2nd layer of software that routes the interrupt handlers based on the interrupt source. This protocol enables this routing. The driver implementing this protocol is responsible for clearing the pending interrupt in the interrupt routing hardware. The HARDWARE_INTERRUPT_HANDLER is responsible for clearing interrupt sources from individual devices.
Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file HardwareInterrupt.h.
#define EFI_HARDWARE_INTERRUPT_PROTOCOL_GGUID { 0x2890B3EA, 0x053D, 0x1643, { 0xAD, 0x0C, 0xD6, 0x48, 0x08, 0xDA, 0x3F, 0xF1 } } |
Definition at line 28 of file HardwareInterrupt.h.
typedef struct _EFI_HARDWARE_INTERRUPT_PROTOCOL EFI_HARDWARE_INTERRUPT_PROTOCOL |
Definition at line 31 of file HardwareInterrupt.h.
typedef EFI_STATUS(EFIAPI * HARDWARE_INTERRUPT_DISABLE) (IN EFI_HARDWARE_INTERRUPT_PROTOCOL *This, IN HARDWARE_INTERRUPT_SOURCE Source) |
Disable interrupt source Source.
This | Instance pointer for this protocol |
Source | Hardware source of the interrupt |
EFI_SUCCESS | Source interrupt disabled. |
EFI_DEVICE_ERROR | Hardware could not be programmed. |
Definition at line 99 of file HardwareInterrupt.h.
typedef EFI_STATUS(EFIAPI * HARDWARE_INTERRUPT_ENABLE) (IN EFI_HARDWARE_INTERRUPT_PROTOCOL *This, IN HARDWARE_INTERRUPT_SOURCE Source) |
Enable interrupt source Source.
This | Instance pointer for this protocol |
Source | Hardware source of the interrupt |
EFI_SUCCESS | Source interrupt enabled. |
EFI_DEVICE_ERROR | Hardware could not be programmed. |
Definition at line 82 of file HardwareInterrupt.h.
typedef EFI_STATUS(EFIAPI * HARDWARE_INTERRUPT_END_OF_INTERRUPT) (IN EFI_HARDWARE_INTERRUPT_PROTOCOL *This, IN HARDWARE_INTERRUPT_SOURCE Source) |
Signal to the hardware that the End Of Interrupt state has been reached.
This | Instance pointer for this protocol |
Source | Hardware source of the interrupt |
EFI_SUCCESS | Source interrupt EOI'ed. |
EFI_DEVICE_ERROR | Hardware could not be programmed. |
Definition at line 136 of file HardwareInterrupt.h.
typedef VOID(EFIAPI * HARDWARE_INTERRUPT_HANDLER) (IN HARDWARE_INTERRUPT_SOURCE Source, IN EFI_SYSTEM_CONTEXT SystemContext) |
C Interrupt Handler calledin the interrupt context when Source interrupt is active.
Source | Source of the interrupt. Hardware routing off a specific platform defines what source means. |
SystemContext | Pointer to system register context. Mostly used by debuggers and will update the system context after the return from the interrupt if modified. Don't change these values unless you know what you are doing |
Definition at line 46 of file HardwareInterrupt.h.
typedef EFI_STATUS(EFIAPI * HARDWARE_INTERRUPT_INTERRUPT_STATE) (IN EFI_HARDWARE_INTERRUPT_PROTOCOL *This, IN HARDWARE_INTERRUPT_SOURCE Source, IN BOOLEAN *InterruptState) |
Return current state of interrupt source Source.
This | Instance pointer for this protocol |
Source | Hardware source of the interrupt |
InterruptState | TRUE: source enabled, FALSE: source disabled. |
EFI_SUCCESS | InterruptState is valid |
EFI_DEVICE_ERROR | InterruptState is not valid |
Definition at line 117 of file HardwareInterrupt.h.
typedef EFI_STATUS(EFIAPI * HARDWARE_INTERRUPT_REGISTER) (IN EFI_HARDWARE_INTERRUPT_PROTOCOL *This, IN HARDWARE_INTERRUPT_SOURCE Source, IN HARDWARE_INTERRUPT_HANDLER Handler) |
Register Handler for the specified interrupt source.
This | Instance pointer for this protocol |
Source | Hardware source of the interrupt |
Handler | Callback for interrupt. NULL to unregister |
EFI_SUCCESS | Source was updated to support Handler. |
EFI_DEVICE_ERROR | Hardware could not be programmed. |
Definition at line 64 of file HardwareInterrupt.h.
typedef UINTN HARDWARE_INTERRUPT_SOURCE |
Definition at line 33 of file HardwareInterrupt.h.