Diff for /gforth/Attic/hppa.h between versions 1.4 and 1.9

version 1.4, 1994/11/29 16:22:39 version 1.9, 1995/10/07 17:38:16
Line 4 Line 4
   
   This is the machine-specific part for a HPPA running HP-UX    This is the machine-specific part for a HPPA running HP-UX
 */  */
 /* cache flush stuff */  
   
 #ifdef DIRECT_THREADED  #if !defined(USE_TOS) && !defined(USE_NO_TOS)
   #define USE_TOS
   #endif
   
   #ifndef INDIRECT_THREADED
   #ifndef DIRECT_THREADED
   #define DIRECT_THREADED
   #endif
   #endif
   
   /* cache flush stuff */
 extern void * cacheflush(void *, int, int);  extern void * cacheflush(void *, int, int);
 #ifdef DEBUG  #ifdef DEBUG
 #  define CACHE_FLUSH(addr,size) \  #  define FLUSH_ICACHE(addr,size) \
         ({      fprintf(stderr,"Flushing Cache at %08x:%08x\n",(int) addr, size); \          ({      fprintf(stderr,"Flushing Cache at %08x:%08x\n",(int) addr, size); \
                 fflush(stderr); \                  fflush(stderr); \
                 fprintf(stderr,"Cache flushed, final address: %08x\n", \                  fprintf(stderr,"Cache flushed, final address: %08x\n", \
                         (int)cacheflush((void *)(addr), (int)(size), 32)); })                          (int)cacheflush((void *)(addr), (int)(size), 32)); })
 #else  #else
 #  define CACHE_FLUSH(addr,size) \  #  define FLUSH_ICACHE(addr,size) \
                 ({ (void)cacheflush((void *)(addr), (int)(size), 32); })                  ({ (void)cacheflush((void *)(addr), (int)(size), 32); })
 #  endif  
 #endif  #endif
   
   #include "32bit.h"
 /* Cell and UCell must be the same size as a pointer */  
 typedef long Cell;  
 typedef unsigned long UCell;  
   
 /* DCell and UDCell must be twice as large as Cell */  
 typedef long long DCell;  
 typedef unsigned long long UDCell;  
   
 /* define this if IEEE singles and doubles are available as C data types */  
 #define IEEE_FP  
   
 /* the IEEE types are used only for loading and storing */  
 /* the IEEE double precision type */  
 typedef double DFloat;  
 /* the IEEE single precision type */  
 typedef float SFloat;  
   
 /* define this if the least-significant byte is at the largets address */  
 #define BIG_ENDIAN  
   
 #ifdef DIRECT_THREADED  #ifdef DIRECT_THREADED
         /* PFA gives the parameter field address corresponding to a cfa */          /* PFA gives the parameter field address corresponding to a cfa */
Line 236  typedef float SFloat; Line 224  typedef float SFloat;
         /* this stores a call dodoes at addr */          /* this stores a call dodoes at addr */
 #endif  #endif
   
 /* OS dependences */  #undef HAVE_LOG1P
   #undef HAVE_RINT
 #define SEEK_SET 0  
 #define rint(x) floor((x)+0.5)  
   
   
   #ifdef FORCE_REG
   #define IPREG asm("%r10")
   #define SPREG asm("%r9")
   #define RPREG asm("%r8")
   #define LPREG asm("%r7")
   #define CFAREG asm("%r6")
   #define TOSREG asm("%r11")
   #endif /* FORCE_REG */

Removed from v.1.4  
changed lines
  Added in v.1.9


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>