]> git.proxmox.com Git - mirror_edk2.git/commitdiff
OvmfPkg/QemuFwCfg: introduce FW_CFG_IO_DMA_ADDRESS, adapt the package
authorLaszlo Ersek <lersek@redhat.com>
Tue, 21 Feb 2017 13:43:00 +0000 (14:43 +0100)
committerLaszlo Ersek <lersek@redhat.com>
Wed, 22 Feb 2017 02:35:49 +0000 (03:35 +0100)
Introduce the FW_CFG_IO_DMA_ADDRESS macro for IO Ports 0x514 and 0x518
(most significant and least significant halves of the DMA Address
Register, respectively), 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>
OvmfPkg/AcpiPlatformDxe/BootScript.c
OvmfPkg/Include/IndustryStandard/QemuFwCfg.h
OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c
OvmfPkg/SmmControl2Dxe/SmiFeatures.c

index 1ad468e2f834c199ac79504b9c616f2df671f64d..bff42ad8b9b00ad07d909a265295d70124fb301f 100644 (file)
@@ -317,7 +317,7 @@ TransferS3ContextToBootScript (
                             S3SaveState,                     // This\r
                             EFI_BOOT_SCRIPT_IO_WRITE_OPCODE, // OpCode\r
                             EfiBootScriptWidthUint32,        // Width\r
-                            (UINT64)0x514,                   // Address\r
+                            (UINT64)FW_CFG_IO_DMA_ADDRESS,   // Address\r
                             (UINTN)2,                        // Count\r
                             &BigEndianAddressOfAccess        // Buffer\r
                             );\r
@@ -376,7 +376,7 @@ TransferS3ContextToBootScript (
                             S3SaveState,                     // This\r
                             EFI_BOOT_SCRIPT_IO_WRITE_OPCODE, // OpCode\r
                             EfiBootScriptWidthUint32,        // Width\r
-                            (UINT64)0x514,                   // Address\r
+                            (UINT64)FW_CFG_IO_DMA_ADDRESS,   // Address\r
                             (UINTN)2,                        // Count\r
                             &BigEndianAddressOfAccess        // Buffer\r
                             );\r
index 5da6b456febe4a633c6ababf499097f8964f2a2a..8c32f83e8e16617ef3a5862fe4619f1ff8132cae 100644 (file)
@@ -48,6 +48,7 @@
 //\r
 #define FW_CFG_IO_SELECTOR    0x510\r
 #define FW_CFG_IO_DATA        0x511\r
+#define FW_CFG_IO_DMA_ADDRESS 0x514\r
 \r
 //\r
 // Numerically defined keys.\r
index d79d0a444ca714d7fd5832990772e7c77e693d4c..3dd55ba5042ea4f1ef28d1895b0a4497e0504c89 100644 (file)
@@ -94,8 +94,8 @@ InternalQemuFwCfgDmaBytes (
   //\r
   AccessHigh = (UINT32)RShiftU64 ((UINTN)&Access, 32);\r
   AccessLow  = (UINT32)(UINTN)&Access;\r
-  IoWrite32 (0x514, SwapBytes32 (AccessHigh));\r
-  IoWrite32 (0x518, SwapBytes32 (AccessLow));\r
+  IoWrite32 (FW_CFG_IO_DMA_ADDRESS,     SwapBytes32 (AccessHigh));\r
+  IoWrite32 (FW_CFG_IO_DMA_ADDRESS + 4, SwapBytes32 (AccessLow));\r
 \r
   //\r
   // Don't look at Access.Control before starting the transfer.\r
index 73c29848b334f1f9b0daa23de97f8a2b06b71eff..bd257f15d955f5e72f2b53d6dfbb4c89bd72d5d0 100644 (file)
@@ -240,7 +240,7 @@ SaveSmiFeatures (
                           S3SaveState,                     // This\r
                           EFI_BOOT_SCRIPT_IO_WRITE_OPCODE, // OpCode\r
                           EfiBootScriptWidthUint32,        // Width\r
-                          (UINT64)0x514,                   // Address\r
+                          (UINT64)FW_CFG_IO_DMA_ADDRESS,   // Address\r
                           (UINTN)2,                        // Count\r
                           &AccessAddress                   // Buffer\r
                           );\r