OvmfPkg[all]  0.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
LegacyInterrupt.h File Reference

Data Structures

struct  _EFI_LEGACY_INTERRUPT_PROTOCOL
 

Macros

#define EFI_LEGACY_INTERRUPT_PROTOCOL_GUID
 

Typedefs

typedef struct
_EFI_LEGACY_INTERRUPT_PROTOCOL 
EFI_LEGACY_INTERRUPT_PROTOCOL
 
typedef EFI_STATUS(EFIAPI * EFI_LEGACY_INTERRUPT_GET_NUMBER_PIRQS )(IN EFI_LEGACY_INTERRUPT_PROTOCOL *This, OUT UINT8 *NumberPirqs)
 
typedef EFI_STATUS(EFIAPI * EFI_LEGACY_INTERRUPT_GET_LOCATION )(IN EFI_LEGACY_INTERRUPT_PROTOCOL *This, OUT UINT8 *Bus, OUT UINT8 *Device, OUT UINT8 *Function)
 
typedef EFI_STATUS(EFIAPI * EFI_LEGACY_INTERRUPT_READ_PIRQ )(IN EFI_LEGACY_INTERRUPT_PROTOCOL *This, IN UINT8 PirqNumber, OUT UINT8 *PirqData)
 
typedef EFI_STATUS(EFIAPI * EFI_LEGACY_INTERRUPT_WRITE_PIRQ )(IN EFI_LEGACY_INTERRUPT_PROTOCOL *This, IN UINT8 PirqNumber, IN UINT8 PirqData)
 

Variables

EFI_GUID gEfiLegacyInterruptProtocolGuid
 

Detailed Description

This protocol abstracts the PIRQ programming from the generic EFI Compatibility Support Modules (CSMs).

Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Revision Reference:
This protocol is defined in Framework for the EFI Compatibility Support Module specification. Version 0.97.

Macro Definition Documentation

#define EFI_LEGACY_INTERRUPT_PROTOCOL_GUID
Value:
{ \
0x31ce593d, 0x108a, 0x485d, {0xad, 0xb2, 0x78, 0xf2, 0x1f, 0x29, 0x66, 0xbe } \
}

Typedef Documentation

typedef EFI_STATUS(EFIAPI * EFI_LEGACY_INTERRUPT_GET_LOCATION)(IN EFI_LEGACY_INTERRUPT_PROTOCOL *This, OUT UINT8 *Bus, OUT UINT8 *Device, OUT UINT8 *Function)

Gets the PCI location associated with this protocol.

Parameters
ThisThe Protocol instance pointer.
BusThe PCI Bus.
DeviceThe PCI Device.
FunctionThe PCI Function.
Return values
EFI_SUCCESSThe Bus, Device, and Function were returned successfully.
typedef EFI_STATUS(EFIAPI * EFI_LEGACY_INTERRUPT_GET_NUMBER_PIRQS)(IN EFI_LEGACY_INTERRUPT_PROTOCOL *This, OUT UINT8 *NumberPirqs)

Get the number of PIRQs this hardware supports.

Parameters
ThisThe protocol instance pointer.
NumberPirsqThe number of PIRQs that are supported.
Return values
EFI_SUCCESSThe number of PIRQs was returned successfully.
typedef EFI_STATUS(EFIAPI * EFI_LEGACY_INTERRUPT_READ_PIRQ)(IN EFI_LEGACY_INTERRUPT_PROTOCOL *This, IN UINT8 PirqNumber, OUT UINT8 *PirqData)

Read the PIRQ register and return the data

Parameters
ThisThe protocol instance pointer.
PirqNumberThe PIRQ register to read.
PirqDataThe data read.
Return values
EFI_SUCCESSThe data was read.
EFI_INVALID_PARAMETERInvalid PIRQ number.
typedef EFI_STATUS(EFIAPI * EFI_LEGACY_INTERRUPT_WRITE_PIRQ)(IN EFI_LEGACY_INTERRUPT_PROTOCOL *This, IN UINT8 PirqNumber, IN UINT8 PirqData)

Write the specified PIRQ register with the given data.

Parameters
ThisThe protocol instance pointer.
PirqNumberA PIRQ register to read.
PirqDataThe data to write.
Return values
EFI_SUCCESSThe PIRQ was programmed.
EFI_INVALID_PARAMETERInvalid PIRQ number.

Variable Documentation

EFI_GUID gEfiLegacyInterruptProtocolGuid