|
@@ -1,11 +1,8 @@
|
|
|
/*++
|
|
|
|
|
|
-Copyright (c) 1999 - 2014, Intel Corporation. All rights reserved
|
|
|
-
|
|
|
- SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
-
|
|
|
-
|
|
|
+Copyright (c) 1999 - 2019, Intel Corporation. All rights reserved
|
|
|
|
|
|
+ SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
|
|
Module Name:
|
|
|
|
|
@@ -188,10 +185,9 @@ MemReadModifyWrite (
|
|
|
entries.
|
|
|
|
|
|
No parameter checking is done so the caller must be careful about omitting
|
|
|
- values for PciRootBridgeIo or CpuIo parameters. If the regtable does
|
|
|
+ values for PciRootBridgeIo parameters. If the regtable does
|
|
|
not contain any PCI accesses, it is safe to omit the PciRootBridgeIo (supply
|
|
|
- NULL). If the regtable does not contain any IO or Mem entries, it is safe to
|
|
|
- omit the CpuIo (supply NULL).
|
|
|
+ NULL).
|
|
|
|
|
|
The RegTableEntry parameter is not checked, but is required.
|
|
|
|
|
@@ -205,17 +201,13 @@ MemReadModifyWrite (
|
|
|
@param PciRootBridgeIo A pointer to the instance of PciRootBridgeIo that is used
|
|
|
when processing PCI table entries
|
|
|
|
|
|
- @param CpuIo A pointer to the instance of CpuIo that is used when processing IO and
|
|
|
- MEM table entries
|
|
|
-
|
|
|
@retval Nothing.
|
|
|
|
|
|
**/
|
|
|
VOID
|
|
|
ProcessRegTablePci (
|
|
|
EFI_REG_TABLE *RegTableEntry,
|
|
|
- EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo,
|
|
|
- EFI_CPU_IO_PROTOCOL *CpuIo
|
|
|
+ EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo
|
|
|
)
|
|
|
{
|
|
|
while (OPCODE_BASE (RegTableEntry->Generic.OpCode) != OP_TERMINATE_TABLE) {
|
|
@@ -241,42 +233,3 @@ ProcessRegTablePci (
|
|
|
RegTableEntry++;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-/**
|
|
|
- Processes register table assuming which may contain IO, MEM, and STALL
|
|
|
- entries, but must NOT contain any PCI entries. Any PCI entries cause an
|
|
|
- ASSERT in a DEBUG build and are skipped in a free build.
|
|
|
-
|
|
|
- No parameter checking is done. Both RegTableEntry and CpuIo parameters are
|
|
|
- required.
|
|
|
-
|
|
|
- gBS is assumed to have been defined and is used when processing stalls.
|
|
|
-
|
|
|
- The function processes each entry sequentially until an OP_TERMINATE_TABLE
|
|
|
- entry is encountered.
|
|
|
-
|
|
|
- @param RegTableEntry A pointer to the register table to process
|
|
|
-
|
|
|
- @param CpuIo A pointer to the instance of CpuIo that is used when processing IO and
|
|
|
- MEM table entries
|
|
|
-
|
|
|
- @retval Nothing.
|
|
|
-
|
|
|
-**/
|
|
|
-VOID
|
|
|
-ProcessRegTableCpu (
|
|
|
- EFI_REG_TABLE *RegTableEntry,
|
|
|
- EFI_CPU_IO_PROTOCOL *CpuIo
|
|
|
- )
|
|
|
-{
|
|
|
- while (OPCODE_BASE (RegTableEntry->Generic.OpCode) != OP_TERMINATE_TABLE) {
|
|
|
- switch (OPCODE_BASE (RegTableEntry->Generic.OpCode)) {
|
|
|
- default:
|
|
|
- DEBUG ((EFI_D_ERROR, "RegTable ERROR: Unknown RegTable OpCode (%x)\n", OPCODE_BASE (RegTableEntry->Generic.OpCode)));
|
|
|
- ASSERT (0);
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- RegTableEntry++;
|
|
|
- }
|
|
|
-}
|