/[dynamips]/trunk/ppc32_exec.h
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /trunk/ppc32_exec.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 12 - (show annotations)
Sat Oct 6 16:45:40 2007 UTC (11 years, 11 months ago) by dpavlin
File MIME type: text/plain
File size: 965 byte(s)
make working copy

1 /*
2 * Cisco router simulation platform.
3 * Copyright (c) 2005,2006 Christophe Fillot (cf@utc.fr)
4 */
5
6 #ifndef __PPC32_EXEC_H__
7 #define __PPC32_EXEC_H__
8
9 #include "utils.h"
10
11 /* PowerPC instruction recognition */
12 struct ppc32_insn_exec_tag {
13 char *name;
14 fastcall int (*exec)(cpu_ppc_t *,ppc_insn_t);
15 m_uint32_t mask,value;
16 int instr_type;
17 m_uint64_t count;
18 };
19
20 /* Get a rotation mask */
21 static forced_inline m_uint32_t ppc32_rotate_mask(m_uint32_t mb,m_uint32_t me)
22 {
23 m_uint32_t mask;
24
25 mask = (0xFFFFFFFFU >> mb) ^ ((0xFFFFFFFFU >> me) >> 1);
26
27 if (me < mb)
28 mask = ~mask;
29
30 return(mask);
31 }
32
33 /* Initialize instruction lookup table */
34 void ppc32_exec_create_ilt(void);
35
36 /* Dump statistics */
37 void ppc32_dump_stats(cpu_ppc_t *cpu);
38
39 /* Execute a page */
40 fastcall int ppc32_exec_page(cpu_ppc_t *cpu);
41
42 /* Execute a single instruction (external) */
43 fastcall int ppc32_exec_single_insn_ext(cpu_ppc_t *cpu,ppc_insn_t insn);
44
45 #endif

  ViewVC Help
Powered by ViewVC 1.1.26