ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/SheepShaver/src/Unix/sysdeps.h
(Generate patch)

Comparing SheepShaver/src/Unix/sysdeps.h (file contents):
Revision 1.48 by gbeauche, 2005-07-03T22:02:01Z vs.
Revision 1.59 by asvitkine, 2009-08-17T20:44:30Z

# Line 1 | Line 1
1   /*
2   *  sysdeps.h - System dependent definitions for Linux
3   *
4 < *  SheepShaver (C) 1997-2005 Christian Bauer and Marc Hellwig
4 > *  SheepShaver (C) 1997-2008 Christian Bauer and Marc Hellwig
5   *
6   *  This program is free software; you can redistribute it and/or modify
7   *  it under the terms of the GNU General Public License as published by
# Line 64 | Line 64
64   # endif
65   #endif
66  
67 + #ifdef __MACH__
68 + #include <mach/mach_types.h>
69 + #endif
70 +
71   // Fix offsetof() on FreeBSD and GCC >= 3.4
72   #if defined(__FreeBSD__) && defined(__cplusplus)
73   #undef offsetof
# Line 90 | Line 94
94   #endif
95  
96   // Always use the complete non-stubs Ethernet driver
93 #if DIRECT_ADDRESSING
97   #define USE_ETHER_FULL_DRIVER 1
95 #endif
98  
99   #define POWERPC_ROM 1
100  
# Line 111 | Line 113
113   #define PPC_FLIGHT_RECORDER 1
114   #define PPC_PROFILE_COMPILE_TIME 0
115   #define PPC_PROFILE_GENERIC_CALLS 0
116 + #define PPC_PROFILE_REGS_USE 0
117   #define KPX_MAX_CPUS 1
118   #if ENABLE_DYNGEN
116 // Don't bother with predecode cache when using JIT
119   #define PPC_ENABLE_JIT 1
118 #undef  PPC_DECODE_CACHE
120   #endif
121 < #if defined(__i386__)
121 > #if defined(__i386__) || defined(__x86_64__)
122   #define DYNGEN_ASM_OPTS 1
123   #endif
124   #else
# Line 170 | Line 171 | typedef int64 intptr;
171   #error "Unsupported size of pointer"
172   #endif
173  
174 + // Define if the host processor supports fast unaligned load/stores
175 + #if defined __i386__ || defined __x86_64__
176 + #define UNALIGNED_PROFITABLE 1
177 + #endif
178 +
179 +
180   /**
181   *              Helper functions to byteswap data
182   **/
# Line 397 | Line 404 | static inline int spin_trylock(spinlock_
404   // Time data type for Time Manager emulation
405   #ifdef HAVE_CLOCK_GETTIME
406   typedef struct timespec tm_time_t;
407 + #elif defined(__MACH__)
408 + typedef mach_timespec_t tm_time_t;
409   #else
410   typedef struct timeval tm_time_t;
411   #endif
# Line 413 | Line 422 | typedef struct timeval tm_time_t;
422   #if defined(HAVE_PTHREADS) && defined(HAVE_CLOCK_NANOSLEEP)
423   #define PRECISE_TIMING 1
424   #define PRECISE_TIMING_POSIX 1
425 + #elif defined(HAVE_PTHREADS) && defined(__MACH__)
426 + #define PRECISE_TIMING 1
427 + #define PRECISE_TIMING_MACH 1
428   #endif
429  
430   // Timing functions

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines