Home | History | Annotate | Download | only in Arm
      1 //------------------------------------------------------------------------------
      2 //
      3 // Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
      4 //
      5 // This program and the accompanying materials
      6 // are licensed and made available under the terms and conditions of the BSD License
      7 // which accompanies this 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 
     17 
     18     INCLUDE AsmMacroExport.inc
     19 
     20 ;
     21 ;UINT32
     22 ;EFIAPI
     23 ;__aeabi_uread4 (
     24 ;  IN VOID   *Pointer
     25 ;  );
     26 ;
     27  RVCT_ASM_EXPORT __aeabi_uread4
     28     ldrb    r1, [r0]
     29     ldrb    r2, [r0, #1]
     30     ldrb    r3, [r0, #2]
     31     ldrb    r0, [r0, #3]
     32     orr     r1, r1, r2, lsl #8
     33     orr     r1, r1, r3, lsl #16
     34     orr     r0, r1, r0, lsl #24
     35     bx      lr
     36 
     37 ;
     38 ;UINT64
     39 ;EFIAPI
     40 ;__aeabi_uread8 (
     41 ;  IN VOID   *Pointer
     42 ;  );
     43 ;
     44  RVCT_ASM_EXPORT __aeabi_uread8
     45     mov     r3, r0
     46 
     47     ldrb    r1, [r3]
     48     ldrb    r2, [r3, #1]
     49     orr     r1, r1, r2, lsl #8
     50     ldrb    r2, [r3, #2]
     51     orr     r1, r1, r2, lsl #16
     52     ldrb    r0, [r3, #3]
     53     orr     r0, r1, r0, lsl #24
     54 
     55     ldrb    r1, [r3, #4]
     56     ldrb    r2, [r3, #5]
     57     orr     r1, r1, r2, lsl #8
     58     ldrb    r2, [r3, #6]
     59     orr     r1, r1, r2, lsl #16
     60     ldrb    r2, [r3, #7]
     61     orr     r1, r1, r2, lsl #24
     62 
     63     bx      lr
     64     END
     65