1;------------------------------------------------------------------------------ 2; 3; Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR> 4; Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR> 5; 6; SPDX-License-Identifier: BSD-2-Clause-Patent 7; 8;------------------------------------------------------------------------------ 9 10 SECTION .text 11 12;------------------------------------------------------------------------------ 13; VOID 14; EFIAPI 15; IoReadFifo8 ( 16; IN UINTN Port, 17; IN UINTN Size, 18; OUT VOID *Buffer 19; ); 20;------------------------------------------------------------------------------ 21global ASM_PFX(IoReadFifo8) 22ASM_PFX(IoReadFifo8): 23 push edi 24 cld 25 mov dx, [esp + 8] 26 mov ecx, [esp + 12] 27 mov edi, [esp + 16] 28rep insb 29 pop edi 30 ret 31 32;------------------------------------------------------------------------------ 33; VOID 34; EFIAPI 35; IoReadFifo16 ( 36; IN UINTN Port, 37; IN UINTN Size, 38; OUT VOID *Buffer 39; ); 40;------------------------------------------------------------------------------ 41global ASM_PFX(IoReadFifo16) 42ASM_PFX(IoReadFifo16): 43 push edi 44 cld 45 mov dx, [esp + 8] 46 mov ecx, [esp + 12] 47 mov edi, [esp + 16] 48rep insw 49 pop edi 50 ret 51 52;------------------------------------------------------------------------------ 53; VOID 54; EFIAPI 55; IoReadFifo32 ( 56; IN UINTN Port, 57; IN UINTN Size, 58; OUT VOID *Buffer 59; ); 60;------------------------------------------------------------------------------ 61global ASM_PFX(IoReadFifo32) 62ASM_PFX(IoReadFifo32): 63 push edi 64 cld 65 mov dx, [esp + 8] 66 mov ecx, [esp + 12] 67 mov edi, [esp + 16] 68rep insd 69 pop edi 70 ret 71 72;------------------------------------------------------------------------------ 73; VOID 74; EFIAPI 75; IoWriteFifo8 ( 76; IN UINTN Port, 77; IN UINTN Size, 78; IN VOID *Buffer 79; ); 80;------------------------------------------------------------------------------ 81global ASM_PFX(IoWriteFifo8) 82ASM_PFX(IoWriteFifo8): 83 push esi 84 cld 85 mov dx, [esp + 8] 86 mov ecx, [esp + 12] 87 mov esi, [esp + 16] 88rep outsb 89 pop esi 90 ret 91 92;------------------------------------------------------------------------------ 93; VOID 94; EFIAPI 95; IoWriteFifo16 ( 96; IN UINTN Port, 97; IN UINTN Size, 98; IN VOID *Buffer 99; ); 100;------------------------------------------------------------------------------ 101global ASM_PFX(IoWriteFifo16) 102ASM_PFX(IoWriteFifo16): 103 push esi 104 cld 105 mov dx, [esp + 8] 106 mov ecx, [esp + 12] 107 mov esi, [esp + 16] 108rep outsw 109 pop esi 110 ret 111 112;------------------------------------------------------------------------------ 113; VOID 114; EFIAPI 115; IoWriteFifo32 ( 116; IN UINTN Port, 117; IN UINTN Size, 118; IN VOID *Buffer 119; ); 120;------------------------------------------------------------------------------ 121global ASM_PFX(IoWriteFifo32) 122ASM_PFX(IoWriteFifo32): 123 push esi 124 cld 125 mov dx, [esp + 8] 126 mov ecx, [esp + 12] 127 mov esi, [esp + 16] 128rep outsd 129 pop esi 130 ret 131 132