Home | History | Annotate | Download | only in Ipf
      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