/[gxemul]/trunk/src/include/misc.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

Diff of /trunk/src/include/misc.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 10 by dpavlin, Mon Oct 8 16:18:27 2007 UTC revision 34 by dpavlin, Mon Oct 8 16:21:17 2007 UTC
# Line 2  Line 2 
2  #define MISC_H  #define MISC_H
3    
4  /*  /*
5   *  Copyright (C) 2003-2005  Anders Gavare.  All rights reserved.   *  Copyright (C) 2003-2007  Anders Gavare.  All rights reserved.
6   *   *
7   *  Redistribution and use in source and binary forms, with or without   *  Redistribution and use in source and binary forms, with or without
8   *  modification, are permitted provided that the following conditions are met:   *  modification, are permitted provided that the following conditions are met:
# Line 28  Line 28 
28   *  SUCH DAMAGE.   *  SUCH DAMAGE.
29   *   *
30   *   *
31   *  $Id: misc.h,v 1.233 2005/06/20 05:52:49 debug Exp $   *  $Id: misc.h,v 1.249 2006/12/30 13:31:01 debug Exp $
32   *   *
33   *  Misc. definitions for gxemul.   *  Misc. definitions for gxemul.
34   */   */
# Line 45  Line 45 
45    
46  #include "../../config.h"  #include "../../config.h"
47    
48  /*    
49   *  ENABLE_INSTRUCTION_DELAYS should be defined on the cc commandline using  #ifdef NO_C99_PRINTF_DEFINES
50   *  -D if you want it. (This is done by ./configure --delays)  /*
51   *   *  This is a SUPER-UGLY HACK which happens to work on some machines.
52   *  ALWAYS_SIGNEXTEND_32 is enabled by ./configure --always32   *  The correct solution is to upgrade your compiler to C99.
53   */   */
54  #define USE_TINY_CACHE  #ifdef NO_C99_64BIT_LONGLONG
55  /*  #define HALT_IF_PC_ZERO  */  #define PRIi8           "i"
56    #define PRIi16          "i"
57    #define PRIi32          "i"
58    #define PRIi64          "lli"
59    #define PRIx8           "x"
60    #define PRIx16          "x"
61    #define PRIx32          "x"
62    #define PRIx64          "llx"
63    #else
64    #define PRIi8           "i"
65    #define PRIi16          "i"
66    #define PRIi32          "i"
67    #define PRIi64          "li"
68    #define PRIx8           "x"
69    #define PRIx16          "x"
70    #define PRIx32          "x"
71    #define PRIx64          "lx"
72    #endif
73    #endif
74    
75    
76  #ifdef NO_MAP_ANON  #ifdef NO_MAP_ANON
# Line 93  struct machine; Line 111  struct machine;
111  struct memory;  struct memory;
112    
113    
114  #define NO_BYTE_ORDER_OVERRIDE          -1  #define NO_BYTE_ORDER_OVERRIDE          -1
115  #define EMUL_LITTLE_ENDIAN              0  #define EMUL_UNDEFINED_ENDIAN           0
116  #define EMUL_BIG_ENDIAN                 1  #define EMUL_LITTLE_ENDIAN              1
117    #define EMUL_BIG_ENDIAN                 2
118    
119    #ifdef HOST_LITTLE_ENDIAN
120    #define LE16_TO_HOST(x)     (x)
121    #define BE16_TO_HOST(x)     ((((x) & 0xff00) >> 8) | (((x)&0xff) << 8))
122    #else
123    #define LE16_TO_HOST(x)     ((((x) & 0xff00) >> 8) | (((x)&0xff) << 8))
124    #define BE16_TO_HOST(x)     (x)
125    #endif
126    
127    #ifdef HOST_LITTLE_ENDIAN
128    #define LE32_TO_HOST(x)     (x)
129    #define BE32_TO_HOST(x)     ((((x) & 0xff000000) >> 24) | (((x)&0xff) << 24) | \
130                                 (((x) & 0xff0000) >> 8) | (((x) & 0xff00) << 8))
131    #else
132    #define LE32_TO_HOST(x)     ((((x) & 0xff000000) >> 24) | (((x)&0xff) << 24) | \
133                                 (((x) & 0xff0000) >> 8) | (((x) & 0xff00) << 8))
134    #define BE32_TO_HOST(x)     (x)
135    #endif
136    
137    #ifdef HOST_LITTLE_ENDIAN
138    #define LE64_TO_HOST(x)     (x)
139    #define BE64_TO_HOST(x)     (   (((x) >> 56) & 0xff) +                  \
140                                    ((((x) >> 48) & 0xff) << 8) +           \
141                                    ((((x) >> 40) & 0xff) << 16) +          \
142                                    ((((x) >> 32) & 0xff) << 24) +          \
143                                    ((((x) >> 24) & 0xff) << 32) +          \
144                                    ((((x) >> 16) & 0xff) << 40) +          \
145                                    ((((x) >> 8) & 0xff) << 48) +           \
146                                    (((x) & 0xff) << 56)  )
147    #else
148    #define BE64_TO_HOST(x)     (x)
149    #define LE64_TO_HOST(x)     (   (((x) >> 56) & 0xff) +                  \
150                                    ((((x) >> 48) & 0xff) << 8) +           \
151                                    ((((x) >> 40) & 0xff) << 16) +          \
152                                    ((((x) >> 32) & 0xff) << 24) +          \
153                                    ((((x) >> 24) & 0xff) << 32) +          \
154                                    ((((x) >> 16) & 0xff) << 40) +          \
155                                    ((((x) >> 8) & 0xff) << 48) +           \
156                                    (((x) & 0xff) << 56)  )
157    #endif
158    
159    
160  /*  Debug stuff:  */  /*  Debug stuff:  */
161  #define DEBUG_BUFSIZE           1024  #define DEBUG_BUFSIZE           1024
162    #define DEBUG_INDENTATION       4
 #ifndef DEFAULT_BINTRANS_SIZE_IN_MB  
 #define DEFAULT_BINTRANS_SIZE_IN_MB     16  
 #endif  
163    
164    
165  /*  dec_prom.c:  */  /*  dec_prom.c:  */
166  int decstation_prom_emul(struct cpu *cpu);  int decstation_prom_emul(struct cpu *cpu);
167    
168    
169    /*  dreamcast.c:  */
170    void dreamcast_machine_setup(struct machine *);
171    int dreamcast_emul(struct cpu *cpu);
172    
173    
174    /*  dreamcast_scramble.c:  */
175    void dreamcast_descramble(char *from, char *to);
176    
177    
178  /*  file.c:  */  /*  file.c:  */
179  int file_n_executables_loaded(void);  int file_n_executables_loaded(void);
180  void file_load(struct machine *machine, struct memory *mem,  void file_load(struct machine *machine, struct memory *mem,
# Line 132  size_t mystrlcat(char *dst, const char * Line 197  size_t mystrlcat(char *dst, const char *
197  #endif  #endif
198    
199    
 /*  of.c:  */  
 int of_emul(struct cpu *cpu);  
   
   
200  /*  pc_bios.c:  */  /*  pc_bios.c:  */
201  void pc_bios_simple_pmode_setup(struct cpu *cpu);  void pc_bios_simple_pmode_setup(struct cpu *cpu);
202  void pc_bios_init(struct cpu *cpu);  void pc_bios_init(struct cpu *cpu);
# Line 156  void useremul_init(void); Line 217  void useremul_init(void);
217    
218    
219  /*  yamon.c:  */  /*  yamon.c:  */
220  int yamon_emul(struct cpu *cpu);  void yamon_machine_setup(struct machine *machine, uint64_t env);
221    int yamon_emul(struct cpu *);
222    
223    
224  #endif  /*  MISC_H  */  #endif  /*  MISC_H  */

Legend:
Removed from v.10  
changed lines
  Added in v.34

  ViewVC Help
Powered by ViewVC 1.1.26