Home | History | Annotate | Download | only in ArmCortexA8Lib
      1 /** @file
      2 
      3   Copyright (c) 2011, ARM Limited. All rights reserved.
      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 #include <Base.h>
     16 #include <Library/ArmLib.h>
     17 #include <Library/ArmCpuLib.h>
     18 #include <Library/DebugLib.h>
     19 
     20 #include <Chipset/ArmV7.h>
     21 
     22 VOID
     23 ArmCpuSetup (
     24   IN  UINTN         MpId
     25   )
     26 {
     27   // Enable SWP instructions
     28   ArmEnableSWPInstruction ();
     29 
     30   // Enable program flow prediction, if supported.
     31   ArmEnableBranchPrediction ();
     32 }
     33 
     34 VOID
     35 ArmCpuSetupSmpNonSecure (
     36   IN  UINTN         MpId
     37   )
     38 {
     39   // The CortexA8 is a Unicore CPU. We must not initialize SMP for Non Secure Accesses
     40   ASSERT(0);
     41 }
     42