OvmfPkg: Modify QemuFwCfgLib to use new IoLib class library
authorLeo Duran <leo.duran@amd.com>
Fri, 13 Jan 2017 20:10:00 +0000 (04:10 +0800)
committerLiming Gao <liming.gao@intel.com>
Tue, 17 Jan 2017 02:11:41 +0000 (10:11 +0800)
The Fifo routines from the QuemuFwCfgLib library have been ported
to the new BaseIoLibIntrinsic (IoLib class) library.

Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
Signed-off-by: Leo Duran <leo.duran@amd.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
OvmfPkg/Library/QemuFwCfgLib/Ia32/IoLibExAsm.nasm [deleted file]
OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c
OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf
OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgSecLib.inf
OvmfPkg/Library/QemuFwCfgLib/X64/IoLibExAsm.nasm [deleted file]

diff --git a/OvmfPkg/Library/QemuFwCfgLib/Ia32/IoLibExAsm.nasm b/OvmfPkg/Library/QemuFwCfgLib/Ia32/IoLibExAsm.nasm
deleted file mode 100644 (file)
index faa22e9..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>\r
-; This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php.\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    SECTION .text\r
-\r
-;------------------------------------------------------------------------------\r
-;  VOID\r
-;  EFIAPI\r
-;  IoReadFifo8 (\r
-;    IN UINTN                  Port,\r
-;    IN UINTN                  Size,\r
-;    IN VOID                   *Buffer\r
-;    );\r
-;------------------------------------------------------------------------------\r
-global ASM_PFX(IoReadFifo8)\r
-ASM_PFX(IoReadFifo8):\r
-\r
-    mov     dx, [esp + 4]\r
-    mov     ecx, [esp + 8]\r
-    push    edi\r
-    mov     edi, [esp + 16]\r
-rep insb\r
-    pop     edi\r
-    ret\r
-\r
-;------------------------------------------------------------------------------\r
-;  VOID\r
-;  EFIAPI\r
-;  IoWriteFifo8 (\r
-;    IN UINTN                  Port,\r
-;    IN UINTN                  Size,\r
-;    IN VOID                   *Buffer\r
-;    );\r
-;------------------------------------------------------------------------------\r
-global ASM_PFX(IoWriteFifo8)\r
-ASM_PFX(IoWriteFifo8):\r
-\r
-    mov     dx, [esp + 4]\r
-    mov     ecx, [esp + 8]\r
-    push    esi\r
-    mov     esi, [esp + 16]\r
-rep outsb\r
-    pop     esi\r
-    ret\r
-\r
index 0bbf121..a228c02 100644 (file)
@@ -2,6 +2,7 @@
 \r
   Copyright (c) 2011 - 2013, Intel Corporation. All rights reserved.<BR>\r
   Copyright (C) 2013, Red Hat, Inc.\r
+  Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>\r
 \r
   This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
 #include "QemuFwCfgLibInternal.h"\r
 \r
 \r
-/**\r
-  Reads an 8-bit I/O port fifo into a block of memory.\r
-\r
-  Reads the 8-bit I/O fifo port specified by Port.\r
-\r
-  The port is read Count times, and the read data is\r
-  stored in the provided Buffer.\r
-\r
-  This function must guarantee that all I/O read and write operations are\r
-  serialized.\r
-\r
-  If 8-bit I/O port operations are not supported, then ASSERT().\r
-\r
-  @param  Port    The I/O port to read.\r
-  @param  Count   The number of times to read I/O port.\r
-  @param  Buffer  The buffer to store the read data into.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-IoReadFifo8 (\r
-  IN      UINTN                     Port,\r
-  IN      UINTN                     Count,\r
-  OUT     VOID                      *Buffer\r
-  );\r
-\r
-/**\r
-  Writes an 8-bit I/O port fifo from a block of memory.\r
-\r
-  Writes the 8-bit I/O fifo port specified by Port.\r
-\r
-  The port is written Count times, and the data are obtained\r
-  from the provided Buffer.\r
-\r
-  This function must guarantee that all I/O read and write operations are\r
-  serialized.\r
-\r
-  If 8-bit I/O port operations are not supported, then ASSERT().\r
-\r
-  @param  Port    The I/O port to read.\r
-  @param  Count   The number of times to read I/O port.\r
-  @param  Buffer  The buffer to store the read data into.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-IoWriteFifo8 (\r
-  IN      UINTN                     Port,\r
-  IN      UINTN                     Count,\r
-  OUT     VOID                      *Buffer\r
-  );\r
-\r
-\r
 /**\r
   Selects a firmware configuration item for reading.\r
   \r
index 66ac778..6894760 100644 (file)
@@ -4,6 +4,7 @@
 #\r
 #  Copyright (C) 2013, Red Hat, Inc.\r
 #  Copyright (c) 2008 - 2012, Intel Corporation. All rights reserved.<BR>\r
+#  Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>\r
 #\r
 #  This program and the accompanying materials\r
 #  are licensed and made available under the terms and conditions of the BSD License\r
   QemuFwCfgLib.c\r
   QemuFwCfgPeiDxe.c\r
 \r
-[Sources.IA32]\r
-  Ia32/IoLibExAsm.nasm\r
-\r
-[Sources.X64]\r
-  X64/IoLibExAsm.nasm\r
-\r
 [Packages]\r
   MdePkg/MdePkg.dec\r
   OvmfPkg/OvmfPkg.dec\r
index c1d6a54..7a96575 100644 (file)
@@ -4,6 +4,7 @@
 #\r
 #  Copyright (C) 2013, Red Hat, Inc.\r
 #  Copyright (c) 2008 - 2012, Intel Corporation. All rights reserved.<BR>\r
+#  Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>\r
 #\r
 #  This program and the accompanying materials\r
 #  are licensed and made available under the terms and conditions of the BSD License\r
   QemuFwCfgLib.c\r
   QemuFwCfgSec.c\r
 \r
-[Sources.IA32]\r
-  Ia32/IoLibExAsm.nasm\r
-\r
-[Sources.X64]\r
-  X64/IoLibExAsm.nasm\r
-\r
 [Packages]\r
   MdePkg/MdePkg.dec\r
   OvmfPkg/OvmfPkg.dec\r
diff --git a/OvmfPkg/Library/QemuFwCfgLib/X64/IoLibExAsm.nasm b/OvmfPkg/Library/QemuFwCfgLib/X64/IoLibExAsm.nasm
deleted file mode 100644 (file)
index f1078f2..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>\r
-; This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution.  The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php.\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
-    DEFAULT REL\r
-    SECTION .text\r
-\r
-;------------------------------------------------------------------------------\r
-;  VOID\r
-;  EFIAPI\r
-;  IoReadFifo8 (\r
-;    IN UINTN                  Port,              // rcx\r
-;    IN UINTN                  Size,              // rdx\r
-;    IN VOID                   *Buffer            // r8\r
-;    );\r
-;------------------------------------------------------------------------------\r
-global ASM_PFX(IoReadFifo8)\r
-ASM_PFX(IoReadFifo8):\r
-\r
-    xchg    rcx, rdx\r
-    xchg    rdi, r8             ; rdi: buffer address; r8: save rdi\r
-rep insb\r
-    mov     rdi, r8             ; restore rdi\r
-    ret\r
-\r
-;------------------------------------------------------------------------------\r
-;  VOID\r
-;  EFIAPI\r
-;  IoWriteFifo8 (\r
-;    IN UINTN                  Port,              // rcx\r
-;    IN UINTN                  Size,              // rdx\r
-;    IN VOID                   *Buffer            // r8\r
-;    );\r
-;------------------------------------------------------------------------------\r
-global ASM_PFX(IoWriteFifo8)\r
-ASM_PFX(IoWriteFifo8):\r
-\r
-    xchg    rcx, rdx\r
-    xchg    rsi, r8             ; rdi: buffer address; r8: save rdi\r
-rep outsb\r
-    mov     rsi, r8             ; restore rdi\r
-    ret\r
-\r