1 |
dpavlin |
7 |
/* |
2 |
|
|
* Cisco router simulation platform. |
3 |
|
|
* Copyright (c) 2006 Christophe Fillot (cf@utc.fr) |
4 |
|
|
* |
5 |
|
|
* Just an empty JIT template file for architectures not supported by the JIT |
6 |
|
|
* code. |
7 |
|
|
*/ |
8 |
|
|
|
9 |
|
|
#include <stdio.h> |
10 |
|
|
#include <stdlib.h> |
11 |
|
|
#include <unistd.h> |
12 |
|
|
#include <string.h> |
13 |
|
|
#include <sys/types.h> |
14 |
|
|
#include <sys/stat.h> |
15 |
|
|
#include <sys/mman.h> |
16 |
|
|
#include <fcntl.h> |
17 |
|
|
|
18 |
|
|
#include "cpu.h" |
19 |
|
|
#include "ppc32_jit.h" |
20 |
|
|
#include "ppc32_nojit_trans.h" |
21 |
|
|
|
22 |
|
|
#define EMPTY(func) func { \ |
23 |
|
|
fprintf(stderr,"This function should not be called: "#func"\n"); \ |
24 |
|
|
abort(); \ |
25 |
|
|
} |
26 |
|
|
|
27 |
dpavlin |
9 |
EMPTY(void ppc32_emit_breakpoint(cpu_ppc_t *cpu,ppc32_jit_tcb_t *block)); |
28 |
|
|
EMPTY(void ppc32_jit_tcb_push_epilog(u_char **ptr)); |
29 |
dpavlin |
7 |
EMPTY(void ppc32_jit_tcb_exec(cpu_ppc_t *cpu,ppc32_jit_tcb_t *block)); |
30 |
dpavlin |
9 |
EMPTY(void ppc32_set_ia(u_char **ptr,m_uint32_t new_ia)); |
31 |
dpavlin |
7 |
EMPTY(void ppc32_inc_perf_counter(ppc32_jit_tcb_t *b)); |
32 |
dpavlin |
9 |
EMPTY(void ppc32_jit_init_hreg_mapping(cpu_ppc_t *cpu)); |
33 |
|
|
EMPTY(void ppc32_op_insn_output(ppc32_jit_tcb_t *b,jit_op_t *op)); |
34 |
|
|
EMPTY(void ppc32_op_load_gpr(ppc32_jit_tcb_t *b,jit_op_t *op)); |
35 |
|
|
EMPTY(void ppc32_op_store_gpr(ppc32_jit_tcb_t *b,jit_op_t *op)); |
36 |
|
|
EMPTY(void ppc32_op_update_flags(ppc32_jit_tcb_t *b,jit_op_t *op)); |
37 |
|
|
EMPTY(void ppc32_op_move_host_reg(ppc32_jit_tcb_t *b,jit_op_t *op)); |
38 |
|
|
EMPTY(void ppc32_op_set_host_reg_imm32(ppc32_jit_tcb_t *b,jit_op_t *op)); |
39 |
|
|
EMPTY(void ppc32_set_page_jump(cpu_ppc_t *cpu,ppc32_jit_tcb_t *b)); |
40 |
dpavlin |
7 |
|
41 |
|
|
/* PowerPC instruction array */ |
42 |
|
|
struct ppc32_insn_tag ppc32_insn_tags[] = { |
43 |
|
|
{ NULL, 0, 0 }, |
44 |
|
|
}; |