ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/uae_cpu/newcpu.h
(Generate patch)

Comparing BasiliskII/src/uae_cpu/newcpu.h (file contents):
Revision 1.8 by gbeauche, 2002-09-01T15:17:13Z vs.
Revision 1.11 by gbeauche, 2002-10-01T09:39:55Z

# Line 9 | Line 9
9   #ifndef NEWCPU_H
10   #define NEWCPU_H
11  
12 + #ifndef FLIGHT_RECORDER
13 + #define FLIGHT_RECORDER 0
14 + #endif
15 +
16   #include "m68k.h"
17   #include "readcpu.h"
18   #include "spcflags.h"
# Line 20 | Line 24 | extern int movem_index1[256];
24   extern int movem_index2[256];
25   extern int movem_next[256];
26  
23 extern int fpp_movem_index1[256];
24 extern int fpp_movem_index2[256];
25 extern int fpp_movem_next[256];
26
27   extern int broken_in;
28  
29   /* Control flow information */
30   #define CFLOW_NORMAL            0
31   #define CFLOW_BRANCH            1
32   #define CFLOW_JUMP                      2
33 #define CFLOW_TRAP                      CFLOW_JUMP
33   #define CFLOW_RETURN            3
34 + #define CFLOW_TRAP                      4
35   #define CFLOW_SPCFLAGS          32      /* some spcflags are set */
36   #define CFLOW_EXEC_RETURN       64      /* must exit from the execution loop */
37  
# Line 59 | Line 59 | struct cputbl {
59      uae_u16 opcode;
60   };
61  
62 + extern cpuop_func *cpufunctbl[65536] ASM_SYM_FOR_FUNC ("cpufunctbl");
63 +
64 + #if USE_JIT
65 + typedef void compop_func (uae_u32) REGPARAM;
66 +
67 + struct comptbl {
68 +    compop_func *handler;
69 +        uae_u32         specific;
70 +        uae_u32         opcode;
71 + };
72 + #endif
73 +
74   extern cpuop_rettype REGPARAM2 op_illg (uae_u32) REGPARAM;
75  
76   typedef char flagtype;
# Line 83 | Line 95 | struct regstruct {
95      flagtype    x;
96      flagtype    stopped;
97  
86    double              fp[8];
87    uae_u32             fpcr,fpsr,fpiar;
88
98   #if USE_PREFETCH_BUFFER
99      /* Fellow sources say this is 4 longwords. That's impossible. It needs
100       * to be at least a longword. The HRM has some cryptic comment about two
# Line 264 | Line 273 | extern int m68k_do_specialties(void);
273  
274   extern void mmu_op (uae_u32, uae_u16);
275  
267 extern void fpp_opp (uae_u32, uae_u16);
268 extern void fdbcc_opp (uae_u32, uae_u16);
269 extern void fscc_opp (uae_u32, uae_u16);
270 extern void ftrapcc_opp (uae_u32,uaecptr);
271 extern void fbcc_opp (uae_u32, uaecptr, uae_u32);
272 extern void fsave_opp (uae_u32);
273 extern void frestore_opp (uae_u32);
274
275 extern void fpu_set_integral_fpu (bool is_integral);
276 extern void fpu_init (void);
277 extern void fpu_exit (void);
278 extern void fpu_reset (void);
279
276   /* Opcode of faulting instruction */
277   extern uae_u16 last_op_for_exception_3;
278   /* PC at fault time */
# Line 297 | Line 293 | extern struct cputbl op_smalltbl_3_ff[];
293   /* 68000 slow but compatible.  */
294   extern struct cputbl op_smalltbl_4_ff[];
295  
296 + #if FLIGHT_RECORDER
297 + extern void m68k_record_step(uaecptr);
298 + #endif
299   extern void m68k_do_execute(void);
300   extern void m68k_execute(void);
301 + #if USE_JIT
302 + #ifdef X86_ASSEMBLY
303 + /* This is generated code */
304 + extern void (*m68k_compile_execute)(void);
305 + #else
306 + extern void m68k_do_compile_execute(void);
307 + extern void m68k_compile_execute(void);
308 + #endif
309 + #endif
310  
311   #endif /* NEWCPU_H */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines