From: Laszlo Ersek Date: Tue, 21 Feb 2017 13:43:00 +0000 (+0100) Subject: OvmfPkg/QemuFwCfg: introduce FW_CFG_IO_SELECTOR, adapt the package X-Git-Tag: edk2-stable201903~4600 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=21ca2f28e6c5e006820956d7d56150184faeef85;p=mirror_edk2.git OvmfPkg/QemuFwCfg: introduce FW_CFG_IO_SELECTOR, adapt the package Introduce the FW_CFG_IO_SELECTOR macro for IO Port 0x510 (the Selector Register), and update all references in OvmfPkg. Cc: Jordan Justen Suggested-by: Jordan Justen Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek Reviewed-by: Jordan Justen --- diff --git a/OvmfPkg/Include/IndustryStandard/QemuFwCfg.h b/OvmfPkg/Include/IndustryStandard/QemuFwCfg.h index c7e9b5c382..776bfe88ae 100644 --- a/OvmfPkg/Include/IndustryStandard/QemuFwCfg.h +++ b/OvmfPkg/Include/IndustryStandard/QemuFwCfg.h @@ -42,6 +42,12 @@ #define FW_CFG_DMA_CTL_SELECT BIT3 #define FW_CFG_DMA_CTL_WRITE BIT4 +// +// The fw_cfg registers can be found at these IO Ports, on the IO-mapped +// platforms (Ia32 and X64). +// +#define FW_CFG_IO_SELECTOR 0x510 + // // Numerically defined keys. // diff --git a/OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c b/OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c index 7744873217..1387ea85f3 100644 --- a/OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c +++ b/OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c @@ -42,7 +42,7 @@ QemuFwCfgSelectItem ( ) { DEBUG ((EFI_D_INFO, "Select Item: 0x%x\n", (UINT16)(UINTN) QemuFwCfgItem)); - IoWrite16 (0x510, (UINT16)(UINTN) QemuFwCfgItem); + IoWrite16 (FW_CFG_IO_SELECTOR, (UINT16)(UINTN) QemuFwCfgItem); } diff --git a/OvmfPkg/SmmControl2Dxe/SmiFeatures.c b/OvmfPkg/SmmControl2Dxe/SmiFeatures.c index e070969065..352ffa0173 100644 --- a/OvmfPkg/SmmControl2Dxe/SmiFeatures.c +++ b/OvmfPkg/SmmControl2Dxe/SmiFeatures.c @@ -281,7 +281,7 @@ SaveSmiFeatures ( S3SaveState, // This EFI_BOOT_SCRIPT_IO_WRITE_OPCODE, // OpCode EfiBootScriptWidthUint16, // Width - (UINT64)0x510, // Address + (UINT64)FW_CFG_IO_SELECTOR, // Address (UINTN)1, // Count &FeaturesOkItemAsUint16 // Buffer );