OvmfPkg[all]
0.1
|
Data Structures | |
struct | EFI_ISA_ACPI_RESOURCE |
struct | EFI_ISA_ACPI_DEVICE_ID |
struct | EFI_ISA_ACPI_RESOURCE_LIST |
struct | _EFI_ISA_ACPI_PROTOCOL |
Macros | |
#define | EFI_ISA_ACPI_PROTOCOL_GUID |
#define | EFI_ISA_ACPI_IRQ_TYPE_HIGH_TRUE_EDGE_SENSITIVE 0x01 |
Edge triggered interrupt on a rising edge. More... | |
#define | EFI_ISA_ACPI_IRQ_TYPE_LOW_TRUE_EDGE_SENSITIVE 0x02 |
Edge triggered interrupt on a falling edge. More... | |
#define | EFI_ISA_ACPI_IRQ_TYPE_HIGH_TRUE_LEVEL_SENSITIVE 0x04 |
Level sensitive interrupt active high. More... | |
#define | EFI_ISA_ACPI_IRQ_TYPE_LOW_TRUE_LEVEL_SENSITIVE 0x08 |
Level sensitive interrupt active low. More... | |
#define | EFI_ISA_ACPI_DMA_SPEED_TYPE_MASK 0x03 |
Bit mask of supported DMA speed attributes. More... | |
#define | EFI_ISA_ACPI_DMA_SPEED_TYPE_COMPATIBILITY 0x00 |
ISA controller supports compatibility mode DMA transfers. More... | |
#define | EFI_ISA_ACPI_DMA_SPEED_TYPE_A 0x01 |
ISA controller supports type A DMA transfers. More... | |
#define | EFI_ISA_ACPI_DMA_SPEED_TYPE_B 0x02 |
ISA controller supports type B DMA transfers. More... | |
#define | EFI_ISA_ACPI_DMA_SPEED_TYPE_F 0x03 |
ISA controller supports type F DMA transfers. More... | |
#define | EFI_ISA_ACPI_DMA_COUNT_BY_BYTE 0x04 |
ISA controller increments DMA address by bytes (8-bit). More... | |
#define | EFI_ISA_ACPI_DMA_COUNT_BY_WORD 0x08 |
ISA controller increments DMA address by words (16-bit). More... | |
#define | EFI_ISA_ACPI_DMA_BUS_MASTER 0x10 |
ISA controller is a DMA bus master. More... | |
#define | EFI_ISA_ACPI_DMA_TRANSFER_TYPE_8_BIT 0x20 |
ISA controller only supports 8-bit DMA transfers. More... | |
#define | EFI_ISA_ACPI_DMA_TRANSFER_TYPE_8_BIT_AND_16_BIT 0x40 |
ISA controller both 8-bit and 16-bit DMA transfers. More... | |
#define | EFI_ISA_ACPI_DMA_TRANSFER_TYPE_16_BIT 0x80 |
ISA controller only supports 16-bit DMA transfers. More... | |
#define | EFI_ISA_ACPI_MEMORY_WIDTH_MASK 0x03 |
Bit mask of supported ISA memory width attributes. More... | |
#define | EFI_ISA_ACPI_MEMORY_WIDTH_8_BIT 0x00 |
ISA MMIO region only supports 8-bit access. More... | |
#define | EFI_ISA_ACPI_MEMORY_WIDTH_16_BIT 0x01 |
ISA MMIO region only supports 16-bit access. More... | |
#define | EFI_ISA_ACPI_MEMORY_WIDTH_8_BIT_AND_16_BIT 0x02 |
ISA MMIO region supports both 8-bit and 16-bit access. More... | |
#define | EFI_ISA_ACPI_MEMORY_WRITEABLE 0x04 |
ISA MMIO region supports write transactions. More... | |
#define | EFI_ISA_ACPI_MEMORY_CACHEABLE 0x08 |
ISA MMIO region supports being cached. More... | |
#define | EFI_ISA_ACPI_MEMORY_SHADOWABLE 0x10 |
ISA MMIO region may be shadowed. More... | |
#define | EFI_ISA_ACPI_MEMORY_EXPANSION_ROM 0x20 |
ISA MMIO region is an expansion ROM. More... | |
#define | EFI_ISA_ACPI_IO_DECODE_10_BITS 0x01 |
ISA controllers uses a 10-bit address decoder for I/O cycles. More... | |
#define | EFI_ISA_ACPI_IO_DECODE_16_BITS 0x02 |
ISA controllers uses a 16-bit address decoder for I/O cycles. More... | |
Enumerations | |
enum | EFI_ISA_ACPI_RESOURCE_TYPE { EfiIsaAcpiResourceEndOfList, EfiIsaAcpiResourceIo, EfiIsaAcpiResourceMemory, EfiIsaAcpiResourceDma, EfiIsaAcpiResourceInterrupt } |
Variables | |
EFI_GUID | gEfiIsaAcpiProtocolGuid |
EFI ISA ACPI Protocol is used to enumerate and manage all the ISA controllers on the platform's ISA Bus.
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
#define EFI_ISA_ACPI_DMA_BUS_MASTER 0x10 |
ISA controller is a DMA bus master.
#define EFI_ISA_ACPI_DMA_COUNT_BY_BYTE 0x04 |
ISA controller increments DMA address by bytes (8-bit).
#define EFI_ISA_ACPI_DMA_COUNT_BY_WORD 0x08 |
ISA controller increments DMA address by words (16-bit).
#define EFI_ISA_ACPI_DMA_SPEED_TYPE_A 0x01 |
ISA controller supports type A DMA transfers.
#define EFI_ISA_ACPI_DMA_SPEED_TYPE_B 0x02 |
ISA controller supports type B DMA transfers.
#define EFI_ISA_ACPI_DMA_SPEED_TYPE_COMPATIBILITY 0x00 |
ISA controller supports compatibility mode DMA transfers.
#define EFI_ISA_ACPI_DMA_SPEED_TYPE_F 0x03 |
ISA controller supports type F DMA transfers.
#define EFI_ISA_ACPI_DMA_SPEED_TYPE_MASK 0x03 |
Bit mask of supported DMA speed attributes.
ISA ACPI Protocol DMA resource attributes.
#define EFI_ISA_ACPI_DMA_TRANSFER_TYPE_16_BIT 0x80 |
ISA controller only supports 16-bit DMA transfers.
#define EFI_ISA_ACPI_DMA_TRANSFER_TYPE_8_BIT 0x20 |
ISA controller only supports 8-bit DMA transfers.
#define EFI_ISA_ACPI_DMA_TRANSFER_TYPE_8_BIT_AND_16_BIT 0x40 |
ISA controller both 8-bit and 16-bit DMA transfers.
#define EFI_ISA_ACPI_IO_DECODE_10_BITS 0x01 |
ISA controllers uses a 10-bit address decoder for I/O cycles.
ISA ACPI Protocol I/O resource attributes
#define EFI_ISA_ACPI_IO_DECODE_16_BITS 0x02 |
ISA controllers uses a 16-bit address decoder for I/O cycles.
#define EFI_ISA_ACPI_IRQ_TYPE_HIGH_TRUE_EDGE_SENSITIVE 0x01 |
Edge triggered interrupt on a rising edge.
ISA ACPI Protocol interrupt resource attributes.
#define EFI_ISA_ACPI_IRQ_TYPE_HIGH_TRUE_LEVEL_SENSITIVE 0x04 |
Level sensitive interrupt active high.
#define EFI_ISA_ACPI_IRQ_TYPE_LOW_TRUE_EDGE_SENSITIVE 0x02 |
Edge triggered interrupt on a falling edge.
#define EFI_ISA_ACPI_IRQ_TYPE_LOW_TRUE_LEVEL_SENSITIVE 0x08 |
Level sensitive interrupt active low.
#define EFI_ISA_ACPI_MEMORY_CACHEABLE 0x08 |
ISA MMIO region supports being cached.
#define EFI_ISA_ACPI_MEMORY_EXPANSION_ROM 0x20 |
ISA MMIO region is an expansion ROM.
#define EFI_ISA_ACPI_MEMORY_SHADOWABLE 0x10 |
ISA MMIO region may be shadowed.
#define EFI_ISA_ACPI_MEMORY_WIDTH_16_BIT 0x01 |
ISA MMIO region only supports 16-bit access.
#define EFI_ISA_ACPI_MEMORY_WIDTH_8_BIT 0x00 |
ISA MMIO region only supports 8-bit access.
#define EFI_ISA_ACPI_MEMORY_WIDTH_8_BIT_AND_16_BIT 0x02 |
ISA MMIO region supports both 8-bit and 16-bit access.
#define EFI_ISA_ACPI_MEMORY_WIDTH_MASK 0x03 |
Bit mask of supported ISA memory width attributes.
ISA ACPI Protocol MMIO resource attributes
#define EFI_ISA_ACPI_MEMORY_WRITEABLE 0x04 |
ISA MMIO region supports write transactions.
#define EFI_ISA_ACPI_PROTOCOL_GUID |
Global ID for the EFI ISA ACPI Protocol.
typedef EFI_STATUS(EFIAPI * EFI_ISA_ACPI_DEVICE_ENUMERATE)(IN EFI_ISA_ACPI_PROTOCOL *This, OUT EFI_ISA_ACPI_DEVICE_ID **Device) |
Enumerates the ISA controllers on an ISA bus.
This service allows all the ISA controllers on an ISA bus to be enumerated. If Device is a pointer to a NULL value, then the first ISA controller on the ISA bus is returned in Device and EFI_SUCCESS is returned. If Device is a pointer to a value that was returned on a prior call to DeviceEnumerate(), then the next ISA controller on the ISA bus is returned in Device and EFI_SUCCESS is returned. If Device is a pointer to the last ISA controller on the ISA bus, then EFI_NOT_FOUND is returned.
[in] | This | The pointer to the EFI_ISA_ACPI_PROTOCOL instance. |
[out] | Device | The pointer to an ISA controller named by ACPI HID/UID. |
EFI_SUCCESS | The next ISA controller on the ISA bus was returned. |
EFI_NOT_FOUND | No device found. |
typedef EFI_STATUS(EFIAPI * EFI_ISA_ACPI_ENABLE_DEVICE)(IN EFI_ISA_ACPI_PROTOCOL *This, IN EFI_ISA_ACPI_DEVICE_ID *Device, IN BOOLEAN Enable) |
Enables or disables an ISA controller.
[in] | This | The pointer to the EFI_ISA_ACPI_PROTOCOL instance. |
[in] | Device | The pointer to the ISA controller to enable/disable. |
[in] | Enable | TRUE to enable the ISA controller. FALSE to disable the ISA controller. |
EFI_SUCCESS | Successfully enabled/disabled the ISA controller. |
Other | The ISA controller could not be placed in the requested state. |
typedef EFI_STATUS(EFIAPI * EFI_ISA_ACPI_GET_CUR_RESOURCE)(IN EFI_ISA_ACPI_PROTOCOL *This, IN EFI_ISA_ACPI_DEVICE_ID *Device, OUT EFI_ISA_ACPI_RESOURCE_LIST **ResourceList) |
Retrieves the current set of resources associated with an ISA controller.
Retrieves the set of I/O, MMIO, DMA, and interrupt resources currently assigned to the ISA controller specified by Device. These resources are returned in ResourceList.
[in] | This | The pointer to the EFI_ISA_ACPI_PROTOCOL instance. |
[in] | Device | The pointer to an ISA controller named by ACPI HID/UID. |
[out] | ResourceList | The pointer to the current resource list for Device. |
EFI_SUCCESS | Successfully retrieved the current resource list. |
EFI_NOT_FOUND | The resource list could not be retrieved. |
typedef EFI_STATUS(EFIAPI * EFI_ISA_ACPI_GET_POS_RESOURCE)(IN EFI_ISA_ACPI_PROTOCOL *This, IN EFI_ISA_ACPI_DEVICE_ID *Device, OUT EFI_ISA_ACPI_RESOURCE_LIST **ResourceList) |
Retrieves the set of possible resources that may be assigned to an ISA controller with SetResource().
Retrieves the possible sets of I/O, MMIO, DMA, and interrupt resources for the ISA controller specified by Device. The sets are returned in ResourceList.
[in] | This | The pointer to the EFI_ISA_ACPI_PROTOCOL instance. |
[in] | Device | The pointer to an ISA controller named by ACPI HID/UID. |
[out] | ResourceList | The pointer to the returned list of resource lists. |
EFI_UNSUPPORTED | This service is not supported. |
typedef EFI_STATUS(EFIAPI * EFI_ISA_ACPI_INIT_DEVICE)(IN EFI_ISA_ACPI_PROTOCOL *This, IN EFI_ISA_ACPI_DEVICE_ID *Device) |
Initializes an ISA controller, so that it can be used. This service must be called before SetResource(), EnableDevice(), or SetPower() will behave as expected.
[in] | This | The pointer to the EFI_ISA_ACPI_PROTOCOL instance. |
[in] | Device | The pointer to an ISA controller named by ACPI HID/UID. |
EFI_SUCCESS | Successfully initialized an ISA controller. |
Other | The ISA controller could not be initialized. |
typedef EFI_STATUS(EFIAPI * EFI_ISA_ACPI_INTERFACE_INIT)(IN EFI_ISA_ACPI_PROTOCOL *This) |
Initializes all the HW states required for the ISA controllers on the ISA bus to be enumerated and managed by the rest of the services in this prorotol. This service must be called before any of the other services in this protocol will function as expected.
[in] | This | The pointer to the EFI_ISA_ACPI_PROTOCOL instance. |
EFI_SUCCESS | Successfully initialized all required hardware states. |
Other | The ISA interface could not be initialized. |
typedef struct _EFI_ISA_ACPI_PROTOCOL EFI_ISA_ACPI_PROTOCOL |
Forward declaration fo the EFI ISA ACPI Protocol
typedef EFI_STATUS(EFIAPI * EFI_ISA_ACPI_SET_DEVICE_POWER)(IN EFI_ISA_ACPI_PROTOCOL *This, IN EFI_ISA_ACPI_DEVICE_ID *Device, IN BOOLEAN OnOff) |
Sets the power state of an ISA controller.
This services sets the power state of the ISA controller specified by Device to the power state specified by OnOff. TRUE denotes on, FALSE denotes off. If the power state is successfully set on the ISA Controller, then EFI_SUCCESS is returned.
[in] | This | The pointer to the EFI_ISA_ACPI_PROTOCOL instance. |
[in] | Device | The pointer to an ISA controller named by ACPI HID/UID. |
[in] | OnOff | TRUE denotes on, FALSE denotes off. |
EFI_SUCCESS | Successfully set the power state of the ISA controller. |
Other | The ISA controller could not be placed in the requested power state. |
typedef EFI_STATUS(EFIAPI * EFI_ISA_ACPI_SET_RESOURCE)(IN EFI_ISA_ACPI_PROTOCOL *This, IN EFI_ISA_ACPI_DEVICE_ID *Device, IN EFI_ISA_ACPI_RESOURCE_LIST *ResourceList) |
Assigns resources to an ISA controller.
Assigns the I/O, MMIO, DMA, and interrupt resources specified by ResourceList to the ISA controller specified by Device. ResourceList must match a resource list returned by GetPosResource() for the same ISA controller.
[in] | This | The pointer to the EFI_ISA_ACPI_PROTOCOL instance. |
[in] | Device | The pointer to an ISA controller named by ACPI HID/UID. |
[in] | ResourceList | The pointer to a resources list that must be one of the resource lists returned by GetPosResource() for the ISA controller specified by Device. |
EFI_SUCCESS | Successfully set resources on the ISA controller. |
Other | The resources could not be set for the ISA controller. |
EFI_GUID gEfiIsaAcpiProtocolGuid |