]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Core/Pei/Ipf/IpfCpuCore.s
ede5a61eedf77760d2562a45e1808e19a7707ab3
[mirror_edk2.git] / MdeModulePkg / Core / Pei / Ipf / IpfCpuCore.s
1 //++
2 // Copyright (c) 2006, Intel Corporation
3 // All rights reserved. This program and the accompanying materials
4 // are licensed and made available under the terms and conditions of the BSD License
5 // which accompanies this distribution. The full text of the license may be found at
6 // http://opensource.org/licenses/bsd-license.php
7 //
8 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
9 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
10 //
11 // Module Name:
12 //
13 // IpfCpuCore.s
14 //
15 // Abstract:
16 // IPF Specific assembly routines
17 //
18 //--
19
20 .file "IpfCpuCore.s"
21
22 #include "IpfMacro.i"
23 #include "Ipf/IpfCpuCore.i"
24
25 //---------------------------------------------------------------------------------
26 //++
27 // GetHandOffStatus
28 //
29 // This routine is called by all processors simultaneously, to get some hand-off
30 // status that has been captured by IPF dispatcher and recorded in kernel registers.
31 //
32 // Arguments :
33 //
34 // On Entry : None.
35 //
36 // Return Value: Lid, R20Status.
37 //
38 //--
39 //----------------------------------------------------------------------------------
40 PROCEDURE_ENTRY (GetHandOffStatus)
41
42 NESTED_SETUP (0,2+0,0,0)
43
44 mov r8 = ar.k6 // Health Status (Self test params)
45 mov r9 = ar.k4 // LID bits
46 mov r10 = ar.k3;; // SAL_E entry state
47 mov r11 = ar.k1 // Return address to PAL
48
49 NESTED_RETURN
50 PROCEDURE_EXIT (GetHandOffStatus)
51 //----------------------------------------------------------------------------------
52
53