]> git.proxmox.com Git - mirror_edk2.git/blob - OvmfPkg/Library/QemuFwCfgLib/Ia32/IoLibExAsm.S
OvmfPkg LoadLinuxLib: Convert X64/JumpToKernel.asm to NASM
[mirror_edk2.git] / OvmfPkg / Library / QemuFwCfgLib / Ia32 / IoLibExAsm.S
1 #------------------------------------------------------------------------------
2 #
3 # Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
4 # This program and the accompanying materials
5 # are licensed and made available under the terms and conditions of the BSD License
6 # which accompanies this distribution. The full text of the license may be found at
7 # http://opensource.org/licenses/bsd-license.php.
8 #
9 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11 #
12 #------------------------------------------------------------------------------
13
14 #------------------------------------------------------------------------------
15 # VOID
16 # EFIAPI
17 # IoReadFifo8 (
18 # IN UINTN Port,
19 # IN UINTN Size,
20 # IN VOID *Buffer
21 # );
22 #------------------------------------------------------------------------------
23 ASM_GLOBAL ASM_PFX(IoReadFifo8)
24 ASM_PFX(IoReadFifo8):
25 movw 4(%esp), %dx
26 movl 8(%esp), %ecx
27 pushl %edi
28 movl 16(%esp), %edi
29 rep insb
30 popl %edi
31 ret
32
33
34 #------------------------------------------------------------------------------
35 # VOID
36 # EFIAPI
37 # IoWriteFifo8 (
38 # IN UINTN Port,
39 # IN UINTN Size,
40 # IN VOID *Buffer
41 # );
42 #------------------------------------------------------------------------------
43 ASM_GLOBAL ASM_PFX(IoWriteFifo8)
44 ASM_PFX(IoWriteFifo8):
45 movw 4(%esp), %dx
46 movl 8(%esp), %ecx
47 pushl %esi
48 movl 16(%esp), %esi
49 rep outsb
50 popl %esi
51 ret
52