Home | History | Annotate | Download | only in Ipf
      1 /** @file
      2   Definition of EBC Support function.
      3 
      4 Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
      5 This program and the accompanying materials
      6 are licensed and made available under the terms and conditions of the BSD License
      7 which accompanies this distribution.  The full text of the license may be found at
      8 http://opensource.org/licenses/bsd-license.php
      9 
     10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     12 
     13 **/
     14 
     15 #ifndef _IPF_EBC_SUPPORT_H_
     16 #define _IPF_EBC_SUPPORT_H_
     17 
     18 #define VM_STACK_SIZE   (1024 * 32)
     19 
     20 #define EBC_THUNK_SIZE  128
     21 #define STACK_REMAIN_SIZE (1024 * 4)
     22 
     23 //
     24 // For code execution, thunks must be aligned on 16-byte boundary
     25 //
     26 #define EBC_THUNK_ALIGNMENT 16
     27 
     28 //
     29 // Opcodes for IPF instructions. We'll need to hand-create thunk code (stuffing
     30 // bits) to insert a jump to the interpreter.
     31 //
     32 #define OPCODE_NOP              (UINT64) 0x00008000000
     33 #define OPCODE_BR_COND_SPTK_FEW (UINT64) 0x00100000000
     34 #define OPCODE_MOV_BX_RX        (UINT64) 0x00E00100000
     35 
     36 //
     37 // Opcode for MOVL instruction
     38 //
     39 #define MOVL_OPCODE 0x06
     40 
     41 #endif
     42