From f1ec65ba24e1c7ca07c971dd737932c756f5780d Mon Sep 17 00:00:00 2001 From: jljusten Date: Wed, 30 May 2012 23:14:38 +0000 Subject: OvmfPkg: Add QemuFwCfgLib library class and implementation QEMU's Firmware Configuration interface gives the firmware access to various types of information. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen Reviewed-by: Laszlo Ersek git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13383 6f19259b-4bc3-4df7-8a09-765794883524 --- OvmfPkg/Library/QemuFwCfgLib/Ia32/IoLibExAsm.S | 32 +++++++++++++++++++ OvmfPkg/Library/QemuFwCfgLib/Ia32/IoLibExAsm.asm | 40 ++++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 OvmfPkg/Library/QemuFwCfgLib/Ia32/IoLibExAsm.S create mode 100644 OvmfPkg/Library/QemuFwCfgLib/Ia32/IoLibExAsm.asm (limited to 'OvmfPkg/Library/QemuFwCfgLib/Ia32') diff --git a/OvmfPkg/Library/QemuFwCfgLib/Ia32/IoLibExAsm.S b/OvmfPkg/Library/QemuFwCfgLib/Ia32/IoLibExAsm.S new file mode 100644 index 0000000000..a32b2c60c4 --- /dev/null +++ b/OvmfPkg/Library/QemuFwCfgLib/Ia32/IoLibExAsm.S @@ -0,0 +1,32 @@ +#------------------------------------------------------------------------------ +# +# Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.
+# 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. +# +#------------------------------------------------------------------------------ + +#------------------------------------------------------------------------------ +# VOID +# EFIAPI +# IoReadFifo8 ( +# IN UINTN Port, +# IN UINTN Size, +# IN VOID *Buffer +# ); +#------------------------------------------------------------------------------ +ASM_GLOBAL ASM_PFX(IoReadFifo8) +ASM_PFX(IoReadFifo8): + movw 4(%esp), %dx + movl 8(%esp), %ecx + pushl %edi + movl 16(%esp), %edi +rep insb + popl %edi + ret + diff --git a/OvmfPkg/Library/QemuFwCfgLib/Ia32/IoLibExAsm.asm b/OvmfPkg/Library/QemuFwCfgLib/Ia32/IoLibExAsm.asm new file mode 100644 index 0000000000..e46af81e8d --- /dev/null +++ b/OvmfPkg/Library/QemuFwCfgLib/Ia32/IoLibExAsm.asm @@ -0,0 +1,40 @@ +;------------------------------------------------------------------------------ +; +; Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.
+; 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. +; +;------------------------------------------------------------------------------ + + .586P + .model flat,C + .code + +;------------------------------------------------------------------------------ +; VOID +; EFIAPI +; IoReadFifo8 ( +; IN UINTN Port, +; IN UINTN Size, +; IN VOID *Buffer +; ); +;------------------------------------------------------------------------------ +IoReadFifo8 PROC + + mov dx, [esp + 4] + mov ecx, [esp + 8] + push edi + mov edx, [esp + 16] +rep insb + pop edi + ret + +IoReadFifo8 ENDP + + END + -- cgit v1.2.3