]> git.proxmox.com Git - mirror_edk2.git/blob - EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Include/Ipf/EdkIIGlueProcessorBind.h
1, Use #if defined() to judge the switching macro such as compiler macro.
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Library / EdkIIGlueLib / Include / Ipf / EdkIIGlueProcessorBind.h
1 /*++
2
3 Copyright (c) 2004 - 2006, Intel Corporation
4 All rights reserved. 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