1 /*++
2 
3 Copyright (c) 2004 - 2006, Intel Corporation. All rights reserved.<BR>
4 This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution.  The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8 
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11 
12 
13 Module Name:
14 
15   EdkIIGlueProcessorBind.h
16 
17 Abstract:
18 
19   Processor specific definitions
20 
21 --*/
22 
23 #ifndef __EDKII_GLUE_PROCESSOR_BIND_H__
24 #define __EDKII_GLUE_PROCESSOR_BIND_H__
25 
26 //
27 // The Microsoft* C compiler can removed references to unreferenced data items
28 //  if the /OPT:REF linker option is used. We defined a macro as this is a
29 //  a non standard extension
30 //
31 #if defined(_MSC_EXTENSIONS)
32   #define GLOBAL_REMOVE_IF_UNREFERENCED __declspec(selectany)
33 #else
34   #define GLOBAL_REMOVE_IF_UNREFERENCED
35 #endif
36 
37 #if !defined(MDE_CPU_IPF)
38   #define MDE_CPU_IPF
39 #endif
40 
41 //
42 // IPF Specific Functions
43 //
44 typedef struct {
45   UINT64                    Status;
46   UINT64                    r9;
47   UINT64                    r10;
48   UINT64                    r11;
49 } PAL_CALL_RETURN;
50 
51 
52 #define EFI_EXTENDED_SAL_VIRTUAL_SERVICES_PROTOCOL_GUID_LO 0x4871260ec1a74056
53 #define EFI_EXTENDED_SAL_VIRTUAL_SERVICES_PROTOCOL_GUID_HI 0x116e5ba645e631a0
54 
55 #define EFI_EXTENDED_SAL_RTC_SERVICES_PROTOCOL_GUID_LO 0x4d02efdb7e97a470
56 #define EFI_EXTENDED_SAL_RTC_SERVICES_PROTOCOL_GUID_HI 0x96a27bd29061ce8f
57 
58 #define EFI_EXTENDED_SAL_VARIABLE_SERVICES_PROTOCOL_GUID_LO 0x4370c6414ecb6c53
59 #define EFI_EXTENDED_SAL_VARIABLE_SERVICES_PROTOCOL_GUID_HI 0x78836e490e3bb28c
60 
61 #define EFI_EXTENDED_SAL_MTC_SERVICES_PROTOCOL_GUID_LO 0x408b75e8899afd18
62 #define EFI_EXTENDED_SAL_MTC_SERVICES_PROTOCOL_GUID_HI 0x54f4cd7e2e6e1aa4
63 
64 #define EFI_EXTENDED_SAL_RESET_SERVICES_PROTOCOL_GUID_LO  0x46f58ce17d019990
65 #define EFI_EXTENDED_SAL_RESET_SERVICES_PROTOCOL_GUID_HI  0xa06a6798513c76a7
66 
67 //
68 // Per the Itanium Software Conventions and Runtime Architecture Guide,
69 // section 3.3.4, IPF stack must always be 16-byte aligned.
70 //
71 #define CPU_STACK_ALIGNMENT   16
72 
73 #endif
74