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