Home | History | Annotate | Download | only in Ia32
      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     SECTION .text
     16 
     17 ;------------------------------------------------------------------------------
     18 ;  VOID
     19 ;  EFIAPI
     20 ;  IoReadFifo8 (
     21 ;    IN UINTN                  Port,
     22 ;    IN UINTN                  Size,
     23 ;    IN VOID                   *Buffer
     24 ;    );
     25 ;------------------------------------------------------------------------------
     26 global ASM_PFX(IoReadFifo8)
     27 ASM_PFX(IoReadFifo8):
     28     push    edi
     29     cld
     30     mov     dx, [esp + 8]
     31     mov     ecx, [esp + 12]
     32     mov     edi, [esp + 16]
     33 rep insb
     34     pop     edi
     35     ret
     36 
     37 ;------------------------------------------------------------------------------
     38 ;  VOID
     39 ;  EFIAPI
     40 ;  IoReadFifo16 (
     41 ;    IN UINTN                  Port,
     42 ;    IN UINTN                  Size,
     43 ;    IN VOID                   *Buffer
     44 ;    );
     45 ;------------------------------------------------------------------------------
     46 global ASM_PFX(IoReadFifo16)
     47 ASM_PFX(IoReadFifo16):
     48     push    edi
     49     cld
     50     mov     dx, [esp + 8]
     51     mov     ecx, [esp + 12]
     52     mov     edi, [esp + 16]
     53 rep insw
     54     pop     edi
     55     ret
     56 
     57 ;------------------------------------------------------------------------------
     58 ;  VOID
     59 ;  EFIAPI
     60 ;  IoReadFifo32 (
     61 ;    IN UINTN                  Port,
     62 ;    IN UINTN                  Size,
     63 ;    IN VOID                   *Buffer
     64 ;    );
     65 ;------------------------------------------------------------------------------
     66 global ASM_PFX(IoReadFifo32)
     67 ASM_PFX(IoReadFifo32):
     68     push    edi
     69     cld
     70     mov     dx, [esp + 8]
     71     mov     ecx, [esp + 12]
     72     mov     edi, [esp + 16]
     73 rep insd
     74     pop     edi
     75     ret
     76 
     77 ;------------------------------------------------------------------------------
     78 ;  VOID
     79 ;  EFIAPI
     80 ;  IoWriteFifo8 (
     81 ;    IN UINTN                  Port,
     82 ;    IN UINTN                  Size,
     83 ;    IN VOID                   *Buffer
     84 ;    );
     85 ;------------------------------------------------------------------------------
     86 global ASM_PFX(IoWriteFifo8)
     87 ASM_PFX(IoWriteFifo8):
     88     push    esi
     89     cld
     90     mov     dx, [esp + 8]
     91     mov     ecx, [esp + 12]
     92     mov     esi, [esp + 16]
     93 rep outsb
     94     pop     esi
     95     ret
     96 
     97 ;------------------------------------------------------------------------------
     98 ;  VOID
     99 ;  EFIAPI
    100 ;  IoWriteFifo16 (
    101 ;    IN UINTN                  Port,
    102 ;    IN UINTN                  Size,
    103 ;    IN VOID                   *Buffer
    104 ;    );
    105 ;------------------------------------------------------------------------------
    106 global ASM_PFX(IoWriteFifo16)
    107 ASM_PFX(IoWriteFifo16):
    108     push    esi
    109     cld
    110     mov     dx, [esp + 8]
    111     mov     ecx, [esp + 12]
    112     mov     esi, [esp + 16]
    113 rep outsw
    114     pop     esi
    115     ret
    116 
    117 ;------------------------------------------------------------------------------
    118 ;  VOID
    119 ;  EFIAPI
    120 ;  IoWriteFifo32 (
    121 ;    IN UINTN                  Port,
    122 ;    IN UINTN                  Size,
    123 ;    IN VOID                   *Buffer
    124 ;    );
    125 ;------------------------------------------------------------------------------
    126 global ASM_PFX(IoWriteFifo32)
    127 ASM_PFX(IoWriteFifo32):
    128     push    esi
    129     cld
    130     mov     dx, [esp + 8]
    131     mov     ecx, [esp + 12]
    132     mov     esi, [esp + 16]
    133 rep outsd
    134     pop     esi
    135     ret
    136 
    137