Home | History | Annotate | Download | only in BeagleBoardLib
      1 #
      2 #  Copyright (c) 2012-2013, ARM Limited. All rights reserved.
      3 #
      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 #include <AsmMacroIoLib.h>
     15 #include <AutoGen.h>
     16 
     17 .text
     18 .align 2
     19 
     20 GCC_ASM_EXPORT(ArmPlatformIsPrimaryCore)
     21 GCC_ASM_EXPORT(ArmPlatformGetPrimaryCoreMpId)
     22 GCC_ASM_EXPORT(ArmPlatformPeiBootAction)
     23 
     24 GCC_ASM_IMPORT(ArmReadMpidr)
     25 
     26 //UINTN
     27 //ArmPlatformIsPrimaryCore (
     28 //  IN UINTN MpId
     29 //  );
     30 ASM_PFX(ArmPlatformIsPrimaryCore):
     31   // BeagleBoard has a single core. We must always return 1.
     32   mov   r0, #1
     33   bx    lr
     34 
     35 ASM_PFX(ArmPlatformPeiBootAction):
     36   bx    lr
     37 
     38 //UINTN
     39 //ArmPlatformGetPrimaryCoreMpId (
     40 //  VOID
     41 //  );
     42 ASM_PFX(ArmPlatformGetPrimaryCoreMpId):
     43   // The BeagleBoard is a uniprocessor platform. The MPIDR of primary core is
     44   // always the MPIDR of the calling CPU.
     45   b   ASM_PFX(ArmReadMpidr)
     46 
     47 ASM_FUNCTION_REMOVE_IF_UNREFERENCED
     48