+++ /dev/null
-/// @file\r
-/// Contains an implementation of CallPalProcStatic on Itanium-based\r
-/// architecture.\r
-///\r
-/// Copyright (c) 2006, Intel Corporation\r
-/// All rights reserved. This program and the accompanying materials\r
-/// are licensed and made available under the terms and conditions of the BSD License\r
-/// which accompanies this distribution. The full text of the license may be found at\r
-/// http://opensource.org/licenses/bsd-license.php\r
-///\r
-/// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-/// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-///\r
-/// Module Name: PalCallStatic.s\r
-///\r
-///\r
-\r
-.auto\r
-.text\r
-\r
-.proc PalCallStatic\r
-.type PalCallStatic, @function\r
-.regstk 5, 0, 0, 0\r
-PalCallStatic::\r
- cmp.eq p15 = in0, r0\r
- mov r31 = in4\r
- mov r8 = ip\r
-\r
-(p15) mov in0 = ar.k5\r
- add r8 = (_PalProcReturn - PalCallStatic), r8\r
- mov r30 = in3\r
-\r
- mov in4 = psr\r
- mov in3 = b0\r
- mov b7 = in0\r
-\r
- rsm 1 << 14 // Disable interrupts\r
- mov r29 = in2\r
- mov r28 = in1\r
-\r
- mov b0 = r8\r
- br.cond.sptk.many b7\r
-\r
-_PalProcReturn:\r
- mov psr.l = in4\r
- mov b0 = in3\r
- br.ret.sptk.many b0\r
-.endp PalCallStatic\r