1 #------------------------------------------------------------------------------ 2 # 3 # Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR> 4 # 5 # This program and the accompanying materials are licensed and made available 6 # under the terms and conditions of the BSD License which accompanies this 7 # distribution. The full text of the license may be found at 8 # http://opensource.org/licenses/bsd-license.php. 9 # 10 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12 # 13 #------------------------------------------------------------------------------ 14 15 #------------------------------------------------------------------------------ 16 # VOID 17 # EFIAPI 18 # IoReadFifo8 ( 19 # IN UINTN Port, 20 # IN UINTN Count, 21 # IN VOID *Buffer 22 # ); 23 #------------------------------------------------------------------------------ 24 ASM_GLOBAL ASM_PFX(IoReadFifo8) 25 ASM_PFX(IoReadFifo8): 26 push %edi 27 cld 28 movw 8(%esp), %dx 29 mov 12(%esp), %ecx 30 mov 16(%esp), %edi 31 rep insb 32 pop %edi 33 ret 34 35 #------------------------------------------------------------------------------ 36 # VOID 37 # EFIAPI 38 # IoReadFifo16 ( 39 # IN UINTN Port, 40 # IN UINTN Count, 41 # IN VOID *Buffer 42 # ); 43 #------------------------------------------------------------------------------ 44 ASM_GLOBAL ASM_PFX(IoReadFifo16) 45 ASM_PFX(IoReadFifo16): 46 push %edi 47 cld 48 movw 8(%esp), %dx 49 mov 12(%esp), %ecx 50 mov 16(%esp), %edi 51 rep insw 52 pop %edi 53 ret 54 55 #------------------------------------------------------------------------------ 56 # VOID 57 # EFIAPI 58 # IoReadFifo32 ( 59 # IN UINTN Port, 60 # IN UINTN Count, 61 # IN VOID *Buffer 62 # ); 63 #------------------------------------------------------------------------------ 64 ASM_GLOBAL ASM_PFX(IoReadFifo32) 65 ASM_PFX(IoReadFifo32): 66 push %edi 67 cld 68 movw 8(%esp), %dx 69 mov 12(%esp), %ecx 70 mov 16(%esp), %edi 71 rep insl 72 pop %edi 73 ret 74 75 #------------------------------------------------------------------------------ 76 # VOID 77 # EFIAPI 78 # IoWriteFifo8 ( 79 # IN UINTN Port, 80 # IN UINTN Count, 81 # IN VOID *Buffer 82 # ); 83 #------------------------------------------------------------------------------ 84 ASM_GLOBAL ASM_PFX(IoWriteFifo8) 85 ASM_PFX(IoWriteFifo8): 86 push %esi 87 cld 88 movw 8(%esp), %dx 89 mov 12(%esp), %ecx 90 mov 16(%esp), %esi 91 rep outsb 92 pop %esi 93 ret 94 95 #------------------------------------------------------------------------------ 96 # VOID 97 # EFIAPI 98 # IoWriteFifo16 ( 99 # IN UINTN Port, 100 # IN UINTN Count, 101 # IN VOID *Buffer 102 # ); 103 #------------------------------------------------------------------------------ 104 ASM_GLOBAL ASM_PFX(IoWriteFifo16) 105 ASM_PFX(IoWriteFifo16): 106 push %esi 107 cld 108 movw 8(%esp), %dx 109 mov 12(%esp), %ecx 110 mov 16(%esp), %esi 111 rep outsw 112 pop %esi 113 ret 114 115 #------------------------------------------------------------------------------ 116 # VOID 117 # EFIAPI 118 # IoWriteFifo32 ( 119 # IN UINTN Port, 120 # IN UINTN Count, 121 # IN VOID *Buffer 122 # ); 123 #------------------------------------------------------------------------------ 124 ASM_GLOBAL ASM_PFX(IoWriteFifo32) 125 ASM_PFX(IoWriteFifo32): 126 push %esi 127 cld 128 movw 8(%esp), %dx 129 mov 12(%esp), %ecx 130 mov 16(%esp), %esi 131 rep outsl 132 pop %esi 133 ret 134 135