MdeModulePkg PiDxeS3BootScriptLib: Support multiple PCI segment
Support multiple PCI segment for PCI_CONFIG2 opcodes. PiDxeS3BootScriptLib needs to be updated to consume PciSegmentLib instead of PciLib. That means platforms need to add PciSegmentLib declaration like below in platform dsc if the PciSegmentLib was not declared in platform dsc before. PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf For platforms only have one segment, MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf is recommended to be used and declared in platform dsc for PiDxeS3BootScriptLib to have equivalent functionality with before. Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Amy Chan <amy.chan@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> Reviewed-by: Michael Kinney <michael.d.kinney@intel.com> Tested-by: Laszlo Ersek <lersek@redhat.com>
This commit is contained in:
@ -1291,7 +1291,7 @@ S3BootScriptSavePciCfgReadWrite (
|
||||
|
||||
@retval RETURN_OUT_OF_RESOURCES Not enough memory for the table do operation.
|
||||
@retval RETURN_SUCCESS Opcode is added.
|
||||
@note A known Limitations in the implementation which is non-zero Segment and 64bits operations are not supported.
|
||||
@note A known Limitations in the implementation which is 64bits operations are not supported.
|
||||
|
||||
**/
|
||||
RETURN_STATUS
|
||||
@ -1309,8 +1309,7 @@ S3BootScriptSavePciCfg2Write (
|
||||
UINT8 WidthInByte;
|
||||
EFI_BOOT_SCRIPT_PCI_CONFIG2_WRITE ScriptPciWrite2;
|
||||
|
||||
if (Segment != 0 ||
|
||||
Width == S3BootScriptWidthUint64 ||
|
||||
if (Width == S3BootScriptWidthUint64 ||
|
||||
Width == S3BootScriptWidthFifoUint64 ||
|
||||
Width == S3BootScriptWidthFillUint64) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
@ -1351,7 +1350,7 @@ S3BootScriptSavePciCfg2Write (
|
||||
|
||||
@retval RETURN_OUT_OF_RESOURCES Not enough memory for the table do operation.
|
||||
@retval RETURN_SUCCESS Opcode is added.
|
||||
@note A known Limitations in the implementation which is non-zero Segment and 64bits operations are not supported.
|
||||
@note A known Limitations in the implementation which is 64bits operations are not supported.
|
||||
|
||||
**/
|
||||
RETURN_STATUS
|
||||
@ -1369,8 +1368,7 @@ S3BootScriptSavePciCfg2ReadWrite (
|
||||
UINT8 WidthInByte;
|
||||
EFI_BOOT_SCRIPT_PCI_CONFIG2_READ_WRITE ScriptPciReadWrite2;
|
||||
|
||||
if (Segment != 0 ||
|
||||
Width == S3BootScriptWidthUint64 ||
|
||||
if (Width == S3BootScriptWidthUint64 ||
|
||||
Width == S3BootScriptWidthFifoUint64 ||
|
||||
Width == S3BootScriptWidthFillUint64) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
@ -1946,7 +1944,7 @@ S3BootScriptSavePciPoll (
|
||||
|
||||
@retval RETURN_OUT_OF_RESOURCES Not enough memory for the table do operation.
|
||||
@retval RETURN_SUCCESS Opcode is added.
|
||||
@note A known Limitations in the implementation which is non-zero Segment and 64bits operations are not supported.
|
||||
@note A known Limitations in the implementation which is 64bits operations are not supported.
|
||||
|
||||
**/
|
||||
RETURN_STATUS
|
||||
@ -1965,8 +1963,7 @@ S3BootScriptSavePci2Poll (
|
||||
UINT8 Length;
|
||||
EFI_BOOT_SCRIPT_PCI_CONFIG2_POLL ScriptPci2Poll;
|
||||
|
||||
if (Segment != 0 ||
|
||||
Width == S3BootScriptWidthUint64 ||
|
||||
if (Width == S3BootScriptWidthUint64 ||
|
||||
Width == S3BootScriptWidthFifoUint64 ||
|
||||
Width == S3BootScriptWidthFillUint64) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
|
Reference in New Issue
Block a user