OvmfPkg/QemuFwCfg: introduce FW_CFG_IO_DATA, adapt the package

Introduce the FW_CFG_IO_DATA macro for IO Port 0x511 (the Data Register),
and update all references in OvmfPkg.

Cc: Jordan Justen <jordan.l.justen@intel.com>
Suggested-by: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
This commit is contained in:
Laszlo Ersek 2017-02-21 14:43:00 +01:00
parent 21ca2f28e6
commit 509e6b5a03
3 changed files with 5 additions and 4 deletions

View File

@ -47,6 +47,7 @@
// platforms (Ia32 and X64). // platforms (Ia32 and X64).
// //
#define FW_CFG_IO_SELECTOR 0x510 #define FW_CFG_IO_SELECTOR 0x510
#define FW_CFG_IO_DATA 0x511
// //
// Numerically defined keys. // Numerically defined keys.

View File

@ -135,7 +135,7 @@ InternalQemuFwCfgReadBytes (
InternalQemuFwCfgDmaBytes ((UINT32)Size, Buffer, FW_CFG_DMA_CTL_READ); InternalQemuFwCfgDmaBytes ((UINT32)Size, Buffer, FW_CFG_DMA_CTL_READ);
return; return;
} }
IoReadFifo8 (0x511, Size, Buffer); IoReadFifo8 (FW_CFG_IO_DATA, Size, Buffer);
} }
@ -187,7 +187,7 @@ QemuFwCfgWriteBytes (
InternalQemuFwCfgDmaBytes ((UINT32)Size, Buffer, FW_CFG_DMA_CTL_WRITE); InternalQemuFwCfgDmaBytes ((UINT32)Size, Buffer, FW_CFG_DMA_CTL_WRITE);
return; return;
} }
IoWriteFifo8 (0x511, Size, Buffer); IoWriteFifo8 (FW_CFG_IO_DATA, Size, Buffer);
} }
} }
@ -230,7 +230,7 @@ QemuFwCfgSkipBytes (
// //
while (Size > 0) { while (Size > 0) {
ChunkSize = MIN (Size, sizeof SkipBuffer); ChunkSize = MIN (Size, sizeof SkipBuffer);
IoReadFifo8 (0x511, ChunkSize, SkipBuffer); IoReadFifo8 (FW_CFG_IO_DATA, ChunkSize, SkipBuffer);
Size -= ChunkSize; Size -= ChunkSize;
} }
} }

View File

@ -303,7 +303,7 @@ SaveSmiFeatures (
S3SaveState, // This S3SaveState, // This
EFI_BOOT_SCRIPT_IO_POLL_OPCODE, // OpCode EFI_BOOT_SCRIPT_IO_POLL_OPCODE, // OpCode
EfiBootScriptWidthUint8, // Width EfiBootScriptWidthUint8, // Width
(UINT64)(UINTN)0x511, // Address (UINT64)(UINTN)FW_CFG_IO_DATA, // Address
&FeaturesOkData, // Data &FeaturesOkData, // Data
&FeaturesOkMask, // DataMask &FeaturesOkMask, // DataMask
MAX_UINT64 // Delay MAX_UINT64 // Delay