TianoCore EDK2 master
Loading...
Searching...
No Matches
RegisterFilterLib.h File Reference

Go to the source code of this file.

Enumerations

enum  FILTER_IO_WIDTH { FilterWidth8 , FilterWidth16 , FilterWidth32 , FilterWidth64 }
 

Functions

BOOLEAN EFIAPI FilterBeforeIoRead (IN FILTER_IO_WIDTH Width, IN UINTN Address, IN OUT VOID *Buffer)
 
VOID EFIAPI FilterAfterIoRead (IN FILTER_IO_WIDTH Width, IN UINTN Address, IN VOID *Buffer)
 
BOOLEAN EFIAPI FilterBeforeIoWrite (IN FILTER_IO_WIDTH Width, IN UINTN Address, IN VOID *Buffer)
 
VOID EFIAPI FilterAfterIoWrite (IN FILTER_IO_WIDTH Width, IN UINTN Address, IN VOID *Buffer)
 
BOOLEAN EFIAPI FilterBeforeMmIoRead (IN FILTER_IO_WIDTH Width, IN UINTN Address, IN OUT VOID *Buffer)
 
VOID EFIAPI FilterAfterMmIoRead (IN FILTER_IO_WIDTH Width, IN UINTN Address, IN VOID *Buffer)
 
BOOLEAN EFIAPI FilterBeforeMmIoWrite (IN FILTER_IO_WIDTH Width, IN UINTN Address, IN VOID *Buffer)
 
VOID EFIAPI FilterAfterMmIoWrite (IN FILTER_IO_WIDTH Width, IN UINTN Address, IN VOID *Buffer)
 
BOOLEAN EFIAPI FilterBeforeMsrRead (IN UINT32 Index, IN OUT UINT64 *Value)
 
VOID EFIAPI FilterAfterMsrRead (IN UINT32 Index, IN UINT64 *Value)
 
BOOLEAN EFIAPI FilterBeforeMsrWrite (IN UINT32 Index, IN UINT64 *Value)
 
VOID EFIAPI FilterAfterMsrWrite (IN UINT32 Index, IN UINT64 *Value)
 

Detailed Description

Public include file for the Port IO/MMIO/MSR RegisterFilterLib.

Copyright (c) 2021, Intel Corporation. All rights reserved.

SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file RegisterFilterLib.h.

Enumeration Type Documentation

◆ FILTER_IO_WIDTH

enum FILTER_IO_WIDTH

Definition at line 13 of file RegisterFilterLib.h.

Function Documentation

◆ FilterAfterIoRead()

VOID EFIAPI FilterAfterIoRead ( IN FILTER_IO_WIDTH  Width,
IN UINTN  Address,
IN VOID *  Buffer 
)

Trace IO read operation after read IO port. It is used to trace IO operation.

Parameters
[in]WidthSignifies the width of the I/O operation.
[in]AddressThe base address of the I/O operation.
[in]BufferThe destination buffer to store the results.

Definition at line 49 of file RegisterFilterLibNull.c.

◆ FilterAfterIoWrite()

VOID EFIAPI FilterAfterIoWrite ( IN FILTER_IO_WIDTH  Width,
IN UINTN  Address,
IN VOID *  Buffer 
)

Trace IO Write operation after wirte IO port. It is used to trace IO operation.

Parameters
[in]WidthSignifies the width of the I/O operation.
[in]AddressThe base address of the I/O operation.
[in]BufferThe source buffer from which to BeforeWrite data.

Trace IO Write operation after wirte IO port. It is used to trace IO operation.

Parameters
[in]WidthSignifies the width of the I/O operation.
[in]AddressThe base address of the I/O operation.
[in]BufferThe source buffer from which to Write data.

Definition at line 95 of file RegisterFilterLibNull.c.

◆ FilterAfterMmIoRead()

VOID EFIAPI FilterAfterMmIoRead ( IN FILTER_IO_WIDTH  Width,
IN UINTN  Address,
IN VOID *  Buffer 
)

Tracer memory IO after read operation

Parameters
[in]WidthSignifies the width of the memory I/O operation.
[in]AddressThe base address of the memory I/O operation.
[in]BufferThe destination buffer to store the results.

Tracer memory IO after read operation.

Parameters
[in]WidthSignifies the width of the memory I/O operation.
[in]AddressThe base address of the memory I/O operation.
[in]BufferThe destination buffer to store the results.

Definition at line 139 of file RegisterFilterLibNull.c.

◆ FilterAfterMmIoWrite()

VOID EFIAPI FilterAfterMmIoWrite ( IN FILTER_IO_WIDTH  Width,
IN UINTN  Address,
IN VOID *  Buffer 
)

Tracer memory IO after write operation

Parameters
[in]WidthSignifies the width of the memory I/O operation.
[in]AddressThe base address of the memory I/O operation.
[in]BufferThe source buffer from which to BeforeWrite data.

Tracer memory IO after write operation.

Parameters
[in]WidthSignifies the width of the memory I/O operation.
[in]AddressThe base address of the memory I/O operation.
[in]BufferThe source buffer from which to write data.

Definition at line 183 of file RegisterFilterLibNull.c.

◆ FilterAfterMsrRead()

VOID EFIAPI FilterAfterMsrRead ( IN UINT32  Index,
IN UINT64 *  Value 
)

Trace MSR after read operation

Parameters
IndexThe 8-bit Machine Specific Register index to BeforeWrite.
ValueThe 64-bit value to BeforeRead from the Machine Specific Register.

Trace MSR after read operation.

Parameters
IndexThe Register index of the MSR.
ValuePoint to the data has been be read from the MSR.

Definition at line 224 of file RegisterFilterLibNull.c.

◆ FilterAfterMsrWrite()

VOID EFIAPI FilterAfterMsrWrite ( IN UINT32  Index,
IN UINT64 *  Value 
)

Trace MSR after write operation

Parameters
IndexThe 8-bit Machine Specific Register index to BeforeWrite.
ValueThe 64-bit value to BeforeWrite to the Machine Specific Register.

Trace MSR after write operation.

Parameters
IndexThe Register index of the MSR.
ValuePoint to the data has been be written to the MSR.

Definition at line 264 of file RegisterFilterLibNull.c.

◆ FilterBeforeIoRead()

BOOLEAN EFIAPI FilterBeforeIoRead ( IN FILTER_IO_WIDTH  Width,
IN UINTN  Address,
IN OUT VOID *  Buffer 
)

Filter IO read operation before read IO port. It is used to filter IO read operation.

It will return the flag to decide whether require read real IO port. It can be used for emulation environment.

Parameters
[in]WidthSignifies the width of the I/O operation.
[in]AddressThe base address of the I/O operation.
[in]BufferThe destination buffer to store the results.
Return values
TRUENeed to excute the IO read.
FALSESkip the IO read.

Filter IO read operation before read IO port. It is used to filter IO read operation.

It will return the flag to decide whether require read real IO port. It can be used for emulation environment.

Parameters
[in]WidthSignifies the width of the I/O operation.
[in]AddressThe base address of the I/O operation.
[in,out]BufferThe destination buffer to store the results.
Return values
TRUENeed to excute the IO read.
FALSESkip the IO read.

Definition at line 29 of file RegisterFilterLibNull.c.

◆ FilterBeforeIoWrite()

BOOLEAN EFIAPI FilterBeforeIoWrite ( IN FILTER_IO_WIDTH  Width,
IN UINTN  Address,
IN VOID *  Buffer 
)

Filter IO Write operation before wirte IO port. It is used to filter IO operation.

It will return the flag to decide whether require read write IO port. It can be used for emulation environment.

Parameters
[in]WidthSignifies the width of the I/O operation.
[in]AddressThe base address of the I/O operation.
[in]BufferThe source buffer from which to BeforeWrite data.
Return values
TRUENeed to excute the IO write.
FALSESkip the IO write.

Filter IO Write operation before wirte IO port. It is used to filter IO operation.

It will return the flag to decide whether require read write IO port. It can be used for emulation environment.

Parameters
[in]WidthSignifies the width of the I/O operation.
[in]AddressThe base address of the I/O operation.
[in]BufferThe source buffer from which to write data.
Return values
TRUENeed to excute the IO write.
FALSESkip the IO write.

Definition at line 75 of file RegisterFilterLibNull.c.

◆ FilterBeforeMmIoRead()

BOOLEAN EFIAPI FilterBeforeMmIoRead ( IN FILTER_IO_WIDTH  Width,
IN UINTN  Address,
IN OUT VOID *  Buffer 
)

Filter memory IO before Read operation.

It will return the flag to decide whether require read real MMIO. It can be used for emulation environment.

Parameters
[in]WidthSignifies the width of the memory I/O operation.
[in]AddressThe base address of the memory I/O operation.
[in]BufferThe destination buffer to store the results.
Return values
TRUENeed to excute the MMIO read.
FALSESkip the MMIO read.

Filter memory IO before Read operation.

It will return the flag to decide whether require read real MMIO. It can be used for emulation environment.

Parameters
[in]WidthSignifies the width of the memory I/O operation.
[in]AddressThe base address of the memory I/O operation.
[in,out]BufferThe destination buffer to store the results.
Return values
TRUENeed to excute the MMIO read.
FALSESkip the MMIO read.

Definition at line 120 of file RegisterFilterLibNull.c.

◆ FilterBeforeMmIoWrite()

BOOLEAN EFIAPI FilterBeforeMmIoWrite ( IN FILTER_IO_WIDTH  Width,
IN UINTN  Address,
IN VOID *  Buffer 
)

Filter memory IO before write operation

It will return the flag to decide whether require wirte real MMIO. It can be used for emulation environment.

Parameters
[in]WidthSignifies the width of the memory I/O operation.
[in]AddressThe base address of the memory I/O operation.
[in]BufferThe source buffer from which to BeforeWrite data.
Return values
TRUENeed to excute the MMIO write.
FALSESkip the MMIO write.

Filter memory IO before write operation.

It will return the flag to decide whether require wirte real MMIO. It can be used for emulation environment.

Parameters
[in]WidthSignifies the width of the memory I/O operation.
[in]AddressThe base address of the memory I/O operation.
[in]BufferThe source buffer from which to write data.
Return values
TRUENeed to excute the MMIO write.
FALSESkip the MMIO write.

Definition at line 164 of file RegisterFilterLibNull.c.

◆ FilterBeforeMsrRead()

BOOLEAN EFIAPI FilterBeforeMsrRead ( IN UINT32  Index,
IN OUT UINT64 *  Value 
)

Filter MSR before read operation.

It will return the flag to decide whether require read real MSR. It can be used for emulation environment.

Parameters
IndexThe 8-bit Machine Specific Register index to BeforeWrite.
ValueThe 64-bit value to BeforeRead from the Machine Specific Register.
Return values
TRUENeed to excute the MSR read.
FALSESkip the MSR read.

Filter MSR before read operation.

It will return the flag to decide whether require read real MSR. It can be used for emulation environment.

Parameters
IndexThe Register index of the MSR.
ValuePoint to the data will be read from the MSR.
Return values
TRUENeed to excute the MSR read.
FALSESkip the MSR read.

Definition at line 207 of file RegisterFilterLibNull.c.

◆ FilterBeforeMsrWrite()

BOOLEAN EFIAPI FilterBeforeMsrWrite ( IN UINT32  Index,
IN UINT64 *  Value 
)

Filter MSR before write operation

It will return the flag to decide whether require write real MSR. It can be used for emulation environment.

Parameters
IndexThe 8-bit Machine Specific Register index to BeforeWrite.
ValueThe 64-bit value to BeforeWrite to the Machine Specific Register.
Return values
TRUENeed to excute the MSR write.
FALSESkip the MSR write.

Filter MSR before write operation.

It will return the flag to decide whether require write real MSR. It can be used for emulation environment.

Parameters
IndexThe Register index of the MSR.
ValuePoint to the data want to be written to the MSR.
Return values
TRUENeed to excute the MSR write.
FALSESkip the MSR write.

Definition at line 247 of file RegisterFilterLibNull.c.