]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Library/BaseLib/Ipf/AsmCpuMisc.s
Update the copyright notice format
[mirror_edk2.git] / MdePkg / Library / BaseLib / Ipf / AsmCpuMisc.s
1 /// @file
2 /// Contains an implementation of CallPalProcStacked 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 CpuBreakpoint
21 .type CpuBreakpoint, @function
22
23 CpuBreakpoint::
24 break.i 0;;
25 br.ret.dpnt b0;;
26
27 .endp CpuBreakpoint
28
29 .proc MemoryFence
30 .type MemoryFence, @function
31
32 MemoryFence::
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 MemoryFence
45
46 .proc DisableInterrupts
47 .type DisableInterrupts, @function
48
49 DisableInterrupts::
50 rsm 0x4000
51 srlz.d;;
52 br.ret.dpnt b0;;
53
54 .endp DisableInterrupts
55
56 .proc EnableInterrupts
57 .type EnableInterrupts, @function
58
59 EnableInterrupts::
60 ssm 0x4000
61 srlz.d;;
62 br.ret.dpnt b0;;
63
64 .endp EnableInterrupts
65
66 .proc EnableDisableInterrupts
67 .type EnableDisableInterrupts, @function
68
69 EnableDisableInterrupts::
70 ssm 0x4000
71 srlz.d;;
72 srlz.i;;
73 rsm 0x4000
74 srlz.d;;
75
76 br.ret.dpnt b0;;
77
78 .endp EnableDisableInterrupts
79