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