home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / gdb-4.16-base.tgz / gdb-4.16-base.tar / fsf / gdb / utils / amd-udi / include / macros.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-12-23  |  3.2 KB  |  91 lines

  1. /* @(#)macros.h    5.19 93/07/30 16:39:54, Srini, AMD */
  2. /******************************************************************************
  3.  * Copyright 1991 Advanced Micro Devices, Inc.
  4.  *
  5.  * This software is the property of Advanced Micro Devices, Inc  (AMD)  which
  6.  * specifically  grants the user the right to modify, use and distribute this
  7.  * software provided this notice is not removed or altered.  All other rights
  8.  * are reserved by AMD.
  9.  *
  10.  * AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
  11.  * SOFTWARE.  IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
  12.  * DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
  13.  * USE OF THIS SOFTWARE.
  14.  *
  15.  * So that all may benefit from your experience, please report  any  problems
  16.  * or  suggestions about this software to the 29K Technical Support Center at
  17.  * 800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131  in  the  UK,  or
  18.  * 0031-11-1129 in Japan, toll free.  The direct dial number is 512-462-4118.
  19.  *
  20.  * Advanced Micro Devices, Inc.
  21.  * 29K Support Products
  22.  * Mail Stop 573
  23.  * 5900 E. Ben White Blvd.
  24.  * Austin, TX 78741
  25.  * 800-292-9263
  26.  *****************************************************************************
  27.  *      Engineer: Srini Subramanian.
  28.  *****************************************************************************
  29.  * This header file defines various macros used by the host module of 
  30.  * MiniMON29K.
  31.  *****************************************************************************
  32.  */
  33.  
  34. #ifndef    _MACROS_H_INCLUDED_
  35. #define    _MACROS_H_INCLUDED_
  36.  
  37. /*
  38. ** Macros
  39. */
  40.  
  41. #define MIN(x,y)            ((x)<(y) ? (x) : (y))
  42. #define MAX(x,y)            ((x)<(y) ? (y) : (x))
  43.  
  44. /* Does the memory space contain registers? */
  45. #define ISREG(x)      (((x) == LOCAL_REG) ||\
  46.                        ((x) == ABSOLUTE_REG) ||\
  47.                        ((x) == GLOBAL_REG) ||\
  48.                        ((x) == SPECIAL_REG) ||\
  49.                        ((x) == A_SPCL_REG) ||\
  50.                        ((x) == TLB_REG) ||\
  51.                        ((x) == PC_SPACE) ||\
  52.                        ((x) == COPROC_REG))
  53.  
  54. #define ISMEM(x)      (((x) == I_MEM) ||\
  55.                        ((x) == D_MEM) ||\
  56.                        ((x) == I_ROM) ||\
  57.                        ((x) == D_ROM) ||\
  58.                        ((x) == PC_RELATIVE) ||\
  59.                        ((x) == GENERIC_SPACE) ||\
  60.                        ((x) == I_O))
  61.  
  62. #define ISGENERAL(x)   (((x) == LOCAL_REG) ||\
  63.                        ((x) == ABSOLUTE_REG) ||\
  64.                        ((x) == GLOBAL_REG))
  65.  
  66. #define ISSPECIAL(x)   (((x) == SPECIAL_REG) ||\
  67.             ((x) == A_SPCL_REG))
  68.  
  69. #define ISTLB(x)       (((x) == TLB_REG))
  70.  
  71. /*
  72. ** These macros are used to align addresses to 64, 32
  73. ** 16 and 8 bit boundaries (rounding upward).  The
  74. ** ALIGN8() macro is usually not necessary, but included
  75. ** for completeness.
  76. */
  77.  
  78. #define ALIGN64(x)     (((x) + 0x07) & 0xfffffff8);
  79. #define ALIGN32(x)     (((x) + 0x03) & 0xfffffffc);
  80. #define ALIGN16(x)     (((x) + 0x01) & 0xfffffffe);
  81. #define ALIGN8(x)      (((x) + 0x00) & 0xffffffff);
  82.  
  83. /*
  84. ** This macro is used to get the processor from the PRL.
  85. ** It is assumed that the PRL is an eight bit quantity.
  86. */
  87.  
  88. #define PROCESSOR(prl)  (prl & 0xf1)
  89.  
  90. #endif /* _MACROS_H_INCLUDED_ */
  91.