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 Module Name: 13 14 TianoBind.h 15 16 Abstract: 17 18 Tiano's Processor or Compiler specific defines and types for IA-32 19 besides EfiBind.h. 20 21 --*/ 22 23 #ifndef _TIANO_BIND_H_ 24 #define _TIANO_BIND_H_ 25 26 #include <EfiBind.h> 27 28 #ifdef EFI_DEBUG 29 30 #ifdef EFI_NT_EMULATOR 31 32 #define EFI_DXE_ENTRY_POINT(InitFunction) \ 33 VOID \ 34 EFIAPI \ 35 InitFunction ( \ 36 IN VOID *HobStart \ 37 ); \ 38 \ 39 UINTN \ 40 __stdcall \ 41 _DllMainCRTStartup ( \ 42 UINTN Inst, \ 43 UINTN reason_for_call, \ 44 VOID *rserved \ 45 ) \ 46 { \ 47 return 1; \ 48 } \ 49 \ 50 VOID \ 51 __declspec( dllexport ) \ 52 __cdecl \ 53 InitializeDriver ( \ 54 VOID *Hob \ 55 ) \ 56 { \ 57 InitFunction(Hob); \ 58 } 59 60 61 62 63 #define EFI_SMI_HANDLER_ENTRY_POINT(InitFunction) \ 64 UINTN \ 65 __stdcall \ 66 _DllMainCRTStartup ( \ 67 UINTN Inst, \ 68 UINTN reason_for_call, \ 69 VOID *rserved \ 70 ) \ 71 { \ 72 return 1; \ 73 } \ 74 \ 75 EFI_STATUS \ 76 __declspec( dllexport ) \ 77 __cdecl \ 78 InitializeDriver ( \ 79 VOID *ImageHandle, \ 80 VOID *Smst, \ 81 VOID *CommunicationBuffer, \ 82 UINTN *SourceSize \ 83 ) \ 84 { \ 85 return InitFunction(ImageHandle, Smst, CommunicationBuffer, SourceSize); \ 86 } 87 88 #else 89 90 #define EFI_DXE_ENTRY_POINT(InitFunction) 91 #define EFI_SMI_HANDLER_ENTRY_POINT(InitFunction) 92 93 #endif 94 95 #else 96 97 #define EFI_DXE_ENTRY_POINT(InitFunction) 98 #define EFI_SMI_HANDLER_ENTRY_POINT(InitFunction) 99 100 #endif 101 102 #endif 103