TianoCore EDK2 master
|
#include <PiSmm.h>
#include <Protocol/SmmCpuIo2.h>
#include <Library/BaseLib.h>
#include <Library/DebugLib.h>
#include <Library/IoLib.h>
#include <Library/MmServicesTableLib.h>
#include <Library/BaseMemoryLib.h>
Go to the source code of this file.
Macros | |
#define | MAX_IO_PORT_ADDRESS 0xFFFF |
Functions | |
EFI_STATUS EFIAPI | CpuMemoryServiceRead (IN CONST EFI_SMM_CPU_IO2_PROTOCOL *This, IN EFI_SMM_IO_WIDTH Width, IN UINT64 Address, IN UINTN Count, OUT VOID *Buffer) |
EFI_STATUS EFIAPI | CpuMemoryServiceWrite (IN CONST EFI_SMM_CPU_IO2_PROTOCOL *This, IN EFI_SMM_IO_WIDTH Width, IN UINT64 Address, IN UINTN Count, IN VOID *Buffer) |
EFI_STATUS EFIAPI | CpuIoServiceRead (IN CONST EFI_SMM_CPU_IO2_PROTOCOL *This, IN EFI_SMM_IO_WIDTH Width, IN UINT64 Address, IN UINTN Count, OUT VOID *Buffer) |
EFI_STATUS EFIAPI | CpuIoServiceWrite (IN CONST EFI_SMM_CPU_IO2_PROTOCOL *This, IN EFI_SMM_IO_WIDTH Width, IN UINT64 Address, IN UINTN Count, IN VOID *Buffer) |
EFI_STATUS | CommonCpuIo2Initialize (VOID) |
Internal include file for the SMM CPU I/O Protocol.
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file CpuIo2Mm.h.
#define MAX_IO_PORT_ADDRESS 0xFFFF |
Definition at line 22 of file CpuIo2Mm.h.
EFI_STATUS CommonCpuIo2Initialize | ( | VOID | ) |
The module Entry Point SmmCpuIoProtocol driver
EFI_SUCCESS | The entry point is executed successfully. |
Other | Some error occurs when executing this entry point. |
Definition at line 382 of file CpuIo2Mm.c.
EFI_STATUS EFIAPI CpuIoServiceRead | ( | IN CONST EFI_SMM_CPU_IO2_PROTOCOL * | This, |
IN EFI_SMM_IO_WIDTH | Width, | ||
IN UINT64 | Address, | ||
IN UINTN | Count, | ||
OUT VOID * | Buffer | ||
) |
Reads I/O registers.
The I/O operations are carried out exactly as requested. The caller is responsible for any alignment and I/O width issues that the bus, device, platform, or type of I/O might require.
[in] | This | The EFI_SMM_CPU_IO2_PROTOCOL instance. |
[in] | Width | Signifies the width of the I/O operations. |
[in] | Address | The base address of the I/O operations. The caller is responsible for aligning the Address if required. |
[in] | Count | The number of I/O operations to perform. |
[out] | Buffer | For read operations, the destination buffer to store the results. For write operations, the source buffer from which to write data. |
EFI_SUCCESS | The data was read from or written to the device. |
EFI_UNSUPPORTED | The Address is not valid for this system. |
EFI_INVALID_PARAMETER | Width or Count, or both, were invalid. |
EFI_OUT_OF_RESOURCES | The request could not be completed due to a lack of resources |
Definition at line 278 of file CpuIo2Mm.c.
EFI_STATUS EFIAPI CpuIoServiceWrite | ( | IN CONST EFI_SMM_CPU_IO2_PROTOCOL * | This, |
IN EFI_SMM_IO_WIDTH | Width, | ||
IN UINT64 | Address, | ||
IN UINTN | Count, | ||
IN VOID * | Buffer | ||
) |
Write I/O registers.
The I/O operations are carried out exactly as requested. The caller is responsible for any alignment and I/O width issues that the bus, device, platform, or type of I/O might require.
[in] | This | The EFI_SMM_CPU_IO2_PROTOCOL instance. |
[in] | Width | Signifies the width of the I/O operations. |
[in] | Address | The base address of the I/O operations. The caller is responsible for aligning the Address if required. |
[in] | Count | The number of I/O operations to perform. |
[in] | Buffer | For read operations, the destination buffer to store the results. For write operations, the source buffer from which to write data. |
EFI_SUCCESS | The data was read from or written to the device. |
EFI_UNSUPPORTED | The Address is not valid for this system. |
EFI_INVALID_PARAMETER | Width or Count, or both, were invalid. |
EFI_OUT_OF_RESOURCES | The request could not be completed due to a lack of resources |
Definition at line 337 of file CpuIo2Mm.c.
EFI_STATUS EFIAPI CpuMemoryServiceRead | ( | IN CONST EFI_SMM_CPU_IO2_PROTOCOL * | This, |
IN EFI_SMM_IO_WIDTH | Width, | ||
IN UINT64 | Address, | ||
IN UINTN | Count, | ||
OUT VOID * | Buffer | ||
) |
Reads memory-mapped registers.
The I/O operations are carried out exactly as requested. The caller is responsible for any alignment and I/O width issues that the bus, device, platform, or type of I/O might require.
[in] | This | The EFI_SMM_CPU_IO2_PROTOCOL instance. |
[in] | Width | Signifies the width of the I/O operations. |
[in] | Address | The base address of the I/O operations. The caller is responsible for aligning the Address if required. |
[in] | Count | The number of I/O operations to perform. |
[out] | Buffer | For read operations, the destination buffer to store the results. For write operations, the source buffer from which to write data. |
EFI_SUCCESS | The data was read from or written to the device. |
EFI_UNSUPPORTED | The Address is not valid for this system. |
EFI_INVALID_PARAMETER | Width or Count, or both, were invalid. |
EFI_OUT_OF_RESOURCES | The request could not be completed due to a lack of resources |
Definition at line 156 of file CpuIo2Mm.c.
EFI_STATUS EFIAPI CpuMemoryServiceWrite | ( | IN CONST EFI_SMM_CPU_IO2_PROTOCOL * | This, |
IN EFI_SMM_IO_WIDTH | Width, | ||
IN UINT64 | Address, | ||
IN UINTN | Count, | ||
IN VOID * | Buffer | ||
) |
Writes memory-mapped registers.
The I/O operations are carried out exactly as requested. The caller is responsible for any alignment and I/O width issues that the bus, device, platform, or type of I/O might require.
[in] | This | The EFI_SMM_CPU_IO2_PROTOCOL instance. |
[in] | Width | Signifies the width of the I/O operations. |
[in] | Address | The base address of the I/O operations. The caller is responsible for aligning the Address if required. |
[in] | Count | The number of I/O operations to perform. |
[in] | Buffer | For read operations, the destination buffer to store the results. For write operations, the source buffer from which to write data. |
EFI_SUCCESS | The data was read from or written to the device. |
EFI_UNSUPPORTED | The Address is not valid for this system. |
EFI_INVALID_PARAMETER | Width or Count, or both, were invalid. |
EFI_OUT_OF_RESOURCES | The request could not be completed due to a lack of resources |
Definition at line 217 of file CpuIo2Mm.c.