/[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

Annotation of /trunk/ppc32_exec.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 7 - (hide annotations)
Sat Oct 6 16:23:47 2007 UTC (16 years, 5 months ago) by dpavlin
Original Path: upstream/dynamips-0.2.7-RC1/ppc32_exec.h
File MIME type: text/plain
File size: 897 byte(s)
dynamips-0.2.7-RC1

1 dpavlin 7 /*
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 single instruction (external) */
40     fastcall int ppc32_exec_single_insn_ext(cpu_ppc_t *cpu,ppc_insn_t insn);
41    
42     #endif

  ViewVC Help
Powered by ViewVC 1.1.26