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