mirror of https://github.com/acidanthera/audk.git
OvmfPkg: Modify QemuFwCfgLib to use new IoLib class library
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>
This commit is contained in:
parent
29ddc5f733
commit
2b631390f9
|
@ -1,55 +0,0 @@
|
|||
;------------------------------------------------------------------------------
|
||||
;
|
||||
; Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
|
||||
; This program and the accompanying materials
|
||||
; are licensed and made available under the terms and conditions of the BSD License
|
||||
; which accompanies this distribution. The full text of the license may be found at
|
||||
; http://opensource.org/licenses/bsd-license.php.
|
||||
;
|
||||
; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
;
|
||||
;------------------------------------------------------------------------------
|
||||
|
||||
SECTION .text
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; VOID
|
||||
; EFIAPI
|
||||
; IoReadFifo8 (
|
||||
; IN UINTN Port,
|
||||
; IN UINTN Size,
|
||||
; IN VOID *Buffer
|
||||
; );
|
||||
;------------------------------------------------------------------------------
|
||||
global ASM_PFX(IoReadFifo8)
|
||||
ASM_PFX(IoReadFifo8):
|
||||
|
||||
mov dx, [esp + 4]
|
||||
mov ecx, [esp + 8]
|
||||
push edi
|
||||
mov edi, [esp + 16]
|
||||
rep insb
|
||||
pop edi
|
||||
ret
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; VOID
|
||||
; EFIAPI
|
||||
; IoWriteFifo8 (
|
||||
; IN UINTN Port,
|
||||
; IN UINTN Size,
|
||||
; IN VOID *Buffer
|
||||
; );
|
||||
;------------------------------------------------------------------------------
|
||||
global ASM_PFX(IoWriteFifo8)
|
||||
ASM_PFX(IoWriteFifo8):
|
||||
|
||||
mov dx, [esp + 4]
|
||||
mov ecx, [esp + 8]
|
||||
push esi
|
||||
mov esi, [esp + 16]
|
||||
rep outsb
|
||||
pop esi
|
||||
ret
|
||||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
Copyright (c) 2011 - 2013, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (C) 2013, Red Hat, Inc.
|
||||
Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
|
@ -25,59 +26,6 @@
|
|||
#include "QemuFwCfgLibInternal.h"
|
||||
|
||||
|
||||
/**
|
||||
Reads an 8-bit I/O port fifo into a block of memory.
|
||||
|
||||
Reads the 8-bit I/O fifo port specified by Port.
|
||||
|
||||
The port is read Count times, and the read data is
|
||||
stored in the provided Buffer.
|
||||
|
||||
This function must guarantee that all I/O read and write operations are
|
||||
serialized.
|
||||
|
||||
If 8-bit I/O port operations are not supported, then ASSERT().
|
||||
|
||||
@param Port The I/O port to read.
|
||||
@param Count The number of times to read I/O port.
|
||||
@param Buffer The buffer to store the read data into.
|
||||
|
||||
**/
|
||||
VOID
|
||||
EFIAPI
|
||||
IoReadFifo8 (
|
||||
IN UINTN Port,
|
||||
IN UINTN Count,
|
||||
OUT VOID *Buffer
|
||||
);
|
||||
|
||||
/**
|
||||
Writes an 8-bit I/O port fifo from a block of memory.
|
||||
|
||||
Writes the 8-bit I/O fifo port specified by Port.
|
||||
|
||||
The port is written Count times, and the data are obtained
|
||||
from the provided Buffer.
|
||||
|
||||
This function must guarantee that all I/O read and write operations are
|
||||
serialized.
|
||||
|
||||
If 8-bit I/O port operations are not supported, then ASSERT().
|
||||
|
||||
@param Port The I/O port to read.
|
||||
@param Count The number of times to read I/O port.
|
||||
@param Buffer The buffer to store the read data into.
|
||||
|
||||
**/
|
||||
VOID
|
||||
EFIAPI
|
||||
IoWriteFifo8 (
|
||||
IN UINTN Port,
|
||||
IN UINTN Count,
|
||||
OUT VOID *Buffer
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Selects a firmware configuration item for reading.
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
#
|
||||
# Copyright (C) 2013, Red Hat, Inc.
|
||||
# Copyright (c) 2008 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
|
||||
#
|
||||
# This program and the accompanying materials
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
|
@ -36,12 +37,6 @@
|
|||
QemuFwCfgLib.c
|
||||
QemuFwCfgPeiDxe.c
|
||||
|
||||
[Sources.IA32]
|
||||
Ia32/IoLibExAsm.nasm
|
||||
|
||||
[Sources.X64]
|
||||
X64/IoLibExAsm.nasm
|
||||
|
||||
[Packages]
|
||||
MdePkg/MdePkg.dec
|
||||
OvmfPkg/OvmfPkg.dec
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
#
|
||||
# Copyright (C) 2013, Red Hat, Inc.
|
||||
# Copyright (c) 2008 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
|
||||
#
|
||||
# This program and the accompanying materials
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
|
@ -34,12 +35,6 @@
|
|||
QemuFwCfgLib.c
|
||||
QemuFwCfgSec.c
|
||||
|
||||
[Sources.IA32]
|
||||
Ia32/IoLibExAsm.nasm
|
||||
|
||||
[Sources.X64]
|
||||
X64/IoLibExAsm.nasm
|
||||
|
||||
[Packages]
|
||||
MdePkg/MdePkg.dec
|
||||
OvmfPkg/OvmfPkg.dec
|
||||
|
|
|
@ -1,52 +0,0 @@
|
|||
;------------------------------------------------------------------------------
|
||||
;
|
||||
; Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
|
||||
; This program and the accompanying materials
|
||||
; are licensed and made available under the terms and conditions of the BSD License
|
||||
; which accompanies this distribution. The full text of the license may be found at
|
||||
; http://opensource.org/licenses/bsd-license.php.
|
||||
;
|
||||
; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
;
|
||||
;------------------------------------------------------------------------------
|
||||
|
||||
DEFAULT REL
|
||||
SECTION .text
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; VOID
|
||||
; EFIAPI
|
||||
; IoReadFifo8 (
|
||||
; IN UINTN Port, // rcx
|
||||
; IN UINTN Size, // rdx
|
||||
; IN VOID *Buffer // r8
|
||||
; );
|
||||
;------------------------------------------------------------------------------
|
||||
global ASM_PFX(IoReadFifo8)
|
||||
ASM_PFX(IoReadFifo8):
|
||||
|
||||
xchg rcx, rdx
|
||||
xchg rdi, r8 ; rdi: buffer address; r8: save rdi
|
||||
rep insb
|
||||
mov rdi, r8 ; restore rdi
|
||||
ret
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; VOID
|
||||
; EFIAPI
|
||||
; IoWriteFifo8 (
|
||||
; IN UINTN Port, // rcx
|
||||
; IN UINTN Size, // rdx
|
||||
; IN VOID *Buffer // r8
|
||||
; );
|
||||
;------------------------------------------------------------------------------
|
||||
global ASM_PFX(IoWriteFifo8)
|
||||
ASM_PFX(IoWriteFifo8):
|
||||
|
||||
xchg rcx, rdx
|
||||
xchg rsi, r8 ; rdi: buffer address; r8: save rdi
|
||||
rep outsb
|
||||
mov rsi, r8 ; restore rdi
|
||||
ret
|
||||
|
Loading…
Reference in New Issue