Home | History | Annotate | Download | only in Ipf
      1 /// @file
      2 ///   Contains an implementation of EcpEfiBreakPoint and EcpMemoryFence on Itanium-based
      3 ///   architecture.
      4 ///
      5 /// Copyright (c) 2008, Intel Corporation. All rights reserved.<BR>
      6 /// This program and the accompanying materials
      7 /// are licensed and made available under the terms and conditions of the BSD License
      8 /// which accompanies this distribution.  The full text of the license may be found at
      9 /// http://opensource.org/licenses/bsd-license.php
     10 ///
     11 /// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     12 /// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     13 ///
     14 /// Module Name:  AsmCpuMisc.s
     15 ///
     16 ///
     17 
     18 
     19 .text
     20 .proc EcpEfiBreakPoint
     21 .type EcpEfiBreakPoint, @function
     22 
     23 EcpEfiBreakPoint::
     24         break.i 0;;
     25         br.ret.dpnt    b0;;
     26 
     27 .endp EcpEfiBreakPoint
     28 
     29 .proc EcpMemoryFence
     30 .type EcpMemoryFence, @function
     31 
     32 EcpMemoryFence::
     33         mf;;    // memory access ordering
     34 
     35         // do we need the mf.a also here?
     36         mf.a    // wait for any IO to complete?
     37 
     38         // not sure if we need serialization here, just put it, in case...
     39 
     40         srlz.d;;
     41         srlz.i;;
     42 
     43         br.ret.dpnt    b0;;
     44 .endp EcpMemoryFence