⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jit_op.h

📁 思科路由器仿真器,用来仿7200系列得,可以在电脑上模拟路由器
💻 H
字号:
/* * Cisco router simulation platform. * Copyright (c) 2007 Christophe Fillot (cf@utc.fr) */#ifndef __JIT_OP_H__#define __JIT_OP_H__#include "utils.h"/* Number of JIT pools */#define JIT_OP_POOL_NR  8/* Invalid register in op */#define JIT_OP_INV_REG  -1/* All flags */#define JIT_OP_PPC_ALL_FLAGS  -1/* All registers */#define JIT_OP_ALL_REGS  -1/* JIT opcodes */enum {   JIT_OP_INVALID = 0,   JIT_OP_INSN_OUTPUT,   JIT_OP_BRANCH_TARGET,   JIT_OP_BRANCH_JUMP,   JIT_OP_EOB,   JIT_OP_LOAD_GPR,   JIT_OP_STORE_GPR,   JIT_OP_UPDATE_FLAGS,   JIT_OP_REQUIRE_FLAGS,   JIT_OP_TRASH_FLAGS,   JIT_OP_ALTER_HOST_REG,   JIT_OP_MOVE_HOST_REG,   JIT_OP_SET_HOST_REG_IMM32,};/* JIT operation */struct jit_op {   u_int opcode;   int param[3];   void *arg_ptr;   char *insn_name;   struct jit_op *next;      /* JIT output buffer */   u_int ob_size_index;   u_char *ob_final;   u_char *ob_ptr;   u_char ob_data[0];};extern u_int jit_op_blk_sizes[];/* Find a specific opcode in a JIT op list */static inline jit_op_t *jit_op_find_opcode(jit_op_t *op_list,u_int opcode){   jit_op_t *op;   for(op=op_list;op;op=op->next)      if (op->opcode == opcode)         return op;   return NULL;}/* Get a JIT op (allocate one if necessary) */jit_op_t *jit_op_get(cpu_gen_t *cpu,int size_index,u_int opcode);/* Release a JIT op */void jit_op_free(cpu_gen_t *cpu,jit_op_t *op);/* Free a list of JIT ops */void jit_op_free_list(cpu_gen_t *cpu,jit_op_t *op_list);/* Initialize JIT op pools for the specified CPU */int jit_op_init_cpu(cpu_gen_t *cpu);/* Free memory used by pools */void jit_op_free_pools(cpu_gen_t *cpu);#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -