github.com/jlmucb/cloudproxy@v0.0.0-20170830161738-b5aa0b619bc4/cpvmm/common/include/image_access_env.h (about)

     1  /*
     2   * Copyright (c) 2013 Intel Corporation
     3   *
     4   * Licensed under the Apache License, Version 2.0 (the "License");
     5   * you may not use this file except in compliance with the License.
     6   * You may obtain a copy of the License at
     7   *     http://www.apache.org/licenses/LICENSE-2.0
     8   * Unless required by applicable law or agreed to in writing, software
     9   * distributed under the License is distributed on an "AS IS" BASIS,
    10   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    11   * See the License for the specific language governing permissions and
    12   * limitations under the License.
    13   */
    14  
    15  #ifndef _IMAGE_ACCESS_ENV_H_
    16  #define _IMAGE_ACCESS_ENV_H_
    17  
    18  #ifdef WIN32
    19  //  defintions for Win environment
    20  #   include <memory.h>
    21  #   include <malloc.h>
    22  #   define MALLOC(__x) malloc(__x)
    23  #   define FREE(__x)   free(__x)
    24  #elif defined(EFI_SPECIFICATION_VERSION)
    25  // definitions for EFI environment
    26  #   include <EfiShellLib.h>
    27  #   include "vmm_defs.h"
    28  #   include "alloc_utils.h"
    29  #   define MALLOC(__x) malloc_pool(__x)
    30  #   define FREE(__x)   free_pool(__x)
    31  #   define memcpy(__d, __s, __l) CopyMem(__d, __s, __l)
    32  #elif defined(UVMM_MBR_LOADER)
    33  // defintions for uVmm loader  environment
    34  #   include "vmm_defs.h"
    35  #   include "memory.h"
    36  #   define MALLOC(__x) vmm_page_alloc(((__x) + PAGE_4KB_SIZE - 1) / PAGE_4KB_SIZE)
    37  #   define FREE(__x)
    38  #else
    39  // defintions for uVmm environment
    40  #   include "vmm_defs.h"
    41  #   define MALLOC(__x) vmm_page_alloc(((__x) + PAGE_4KB_SIZE - 1) / PAGE_4KB_SIZE)
    42  #   define FREE(__x)
    43  #endif
    44  
    45  
    46  #endif // _IMAGE_ACCESS_ENV_H_
    47