TianoCore EDK2 master
|
#include "CpuIo2Mm.h"
Go to the source code of this file.
Functions | |
EFI_STATUS | CpuIoCheckParameter (IN BOOLEAN MmioOperation, IN EFI_SMM_IO_WIDTH Width, IN UINT64 Address, IN UINTN Count, IN VOID *Buffer) |
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) |
Variables | |
EFI_HANDLE | mHandle = NULL |
EFI_SMM_CPU_IO2_PROTOCOL | mSmmCpuIo2 |
UINT8 | mStride [] |
Produces 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.c.
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 CpuIoCheckParameter | ( | IN BOOLEAN | MmioOperation, |
IN EFI_SMM_IO_WIDTH | Width, | ||
IN UINT64 | Address, | ||
IN UINTN | Count, | ||
IN VOID * | Buffer | ||
) |
Check parameters to a SMM CPU I/O Protocol service request.
[in] | MmioOperation | TRUE for an MMIO operation, FALSE for I/O Port operation. |
[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. |
Definition at line 58 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.
EFI_HANDLE mHandle = NULL |
Handle for the Capsule Update Policy Protocol
Definition at line 14 of file CpuIo2Mm.c.
EFI_SMM_CPU_IO2_PROTOCOL mSmmCpuIo2 |
Definition at line 19 of file CpuIo2Mm.c.
UINT8 mStride[] |
Definition at line 33 of file CpuIo2Mm.c.