Changeset 06aab39 in rtems


Ignore:
Timestamp:
Jul 10, 2008, 9:48:24 PM (11 years ago)
Author:
Till Straumann <strauman@…>
Branches:
4.10, 4.11, 4.9, master
Children:
e1df032
Parents:
d71e95a
Message:

2008-07-10 Till Straumann <strauman@…>

  • cpukit/score/cpu/powerpc/rtems/new-exceptions/cpu.h, cpukit/score/cpu/powerpc/rtems/score/cpu.h, cpukit/score/cpu/powerpc/rtems/score/powerpc.h: Removed all macro definitions which depended on the compiler defining a PPC CPU-model dependent symbol. Macros which were not used by cpukit have been moved to libcpu/powerpc/rtems/powerpc/powerpc.h.
Location:
cpukit
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • cpukit/ChangeLog

    rd71e95a r06aab39  
     12008-07-10      Till Straumann <strauman@slac.stanford.edu>
     2
     3        * cpukit/score/cpu/powerpc/rtems/new-exceptions/cpu.h,
     4        cpukit/score/cpu/powerpc/rtems/score/cpu.h,
     5        cpukit/score/cpu/powerpc/rtems/score/powerpc.h:
     6        Removed all macro definitions which depended on
     7        the compiler defining a PPC CPU-model dependent
     8        symbol.
     9        Macros which were not used by cpukit have been
     10        moved to libcpu/powerpc/rtems/powerpc/powerpc.h.
     11       
    1122008-07-10      Joel Sherrill <joel.sherrill@OARcorp.com>
    213
  • cpukit/score/cpu/powerpc/rtems/new-exceptions/cpu.h

    rd71e95a r06aab39  
    248248 */
    249249
    250 #define CPU_INTERRUPT_NUMBER_OF_VECTORS     (PPC_INTERRUPT_MAX)
    251 #define CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER (PPC_INTERRUPT_MAX - 1)
     250#define CPU_INTERRUPT_NUMBER_OF_VECTORS     (0)
     251#define CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER (-1)
    252252
    253253/*
  • cpukit/score/cpu/powerpc/rtems/score/cpu.h

    rd71e95a r06aab39  
    117117
    118118#define CPU_STRUCTURE_ALIGNMENT \
    119   __attribute__ ((aligned (PPC_CACHE_ALIGNMENT)))
     119  __attribute__ ((aligned (PPC_STRUCTURE_ALIGNMENT)))
    120120
    121121/*
  • cpukit/score/cpu/powerpc/rtems/score/powerpc.h

    rd71e95a r06aab39  
    6060/*
    6161 *  This file contains the information required to build
    62  *  RTEMS for a particular member of the PowerPC family.  It does
    63  *  this by setting variables to indicate which implementation
    64  *  dependent features are present in a particular member
    65  *  of the family.
    66  *
    67  *  The following architectural feature definitions are defaulted
    68  *  unless specifically set by the model definition:
    69  *
    70  *    + PPC_INTERRUPT_MAX        - 16
    71  *    + PPC_CACHE_ALIGNMENT      - 32
    72  *    + PPC_HAS_FPU              - 1
    73  *    + PPC_HAS_DOUBLE           - 1 if PPC_HAS_FPU,
    74  *                               - 0 otherwise
     62 *  RTEMS for the PowerPC family.
    7563 */
    7664 
    77 /*
    78  *  Figure out all CPU Model Feature Flags based upon compiler
    79  *  predefines.
    80  */
    81 
    82 #if defined(ppc403) || defined(ppc405)
    83 /*
    84  *  IBM 403
    85  *
    86  *  Developed for 403GA.  Book checked for 403GB.
    87  *
    88  *  Does not have user mode.
    89  */
    90  
    91 #if defined(ppc403)
    92 #define CPU_MODEL_NAME "PowerPC 403"
    93 #elif defined (ppc405)
    94 #define CPU_MODEL_NAME "PowerPC 405"
    95 #endif
    96 #define PPC_ALIGNMENT           4 
    97 #define PPC_CACHE_ALIGNMENT     16
    98 
    99 #elif defined(mpc555)
    100 
    101 #define CPU_MODEL_NAME  "PowerPC 555"
    102 
    103 /* Copied from mpc505 */
    104 #define PPC_ALIGNMENT           4
    105 #define PPC_CACHE_ALIGNMENT     16
    106 
    107 #elif defined(mpc505) || defined(mpc509)
    108 /*
    109  *  Submitted by Sergei Organov <osv@Javad.RU> as a patch against
    110  *  3.6.0 long after 4.0 was released.   This is just an attempt
    111  *  to get the setting correct.
    112  */
    113 
    114 #define CPU_MODEL_NAME  "PowerPC 505/509"
    115 
    116 #define PPC_ALIGNMENT           4
    117 #define PPC_CACHE_ALIGNMENT     16
    118 
    119 #elif defined(ppc601)
    120 
    121 /*
    122  *  Submitted with original port -- book checked only.
    123  */
    124  
    125 #define CPU_MODEL_NAME  "PowerPC 601"
    126 
    127 #define PPC_ALIGNMENT           8
    128 
    129 #elif defined(ppc602)
    130 /*
    131  *  Submitted with original port -- book checked only.
    132  */
    133  
    134 #define CPU_MODEL_NAME  "PowerPC 602"
    135 
    136 #define PPC_ALIGNMENT           4
    137 #define PPC_HAS_DOUBLE          0
    138 
    139 #elif defined(ppc603)
    140 /*
    141  *  Submitted with original port -- book checked only.
    142  */
    143  
    144 #define CPU_MODEL_NAME  "PowerPC 603"
    145 
    146 #define PPC_ALIGNMENT           8
    147 #define PPC_CACHE_ALIGNMENT     16
    148 
    149 #elif defined(ppc603e)
    150  
    151 #define CPU_MODEL_NAME  "PowerPC 603e"
    152 /*
    153  *  Submitted with original port.
    154  *
    155  *  Known to work on real hardware.
    156  */
    157 
    158 #define PPC_ALIGNMENT           8
    159 #define PPC_CACHE_ALIGNMENT     16
    160 
    161 #elif defined(mpc604)
    162 /*
    163  *  Submitted with original port -- book checked only.
    164  */
    165  
    166 #define CPU_MODEL_NAME  "PowerPC 604"
    167 
    168 #define PPC_ALIGNMENT           8
    169  
    170 #elif defined(mpc860)
    171 /*
    172  *  Added by Jay Monkman (jmonkman@frasca.com) 6/28/98
    173  *  with some changes by Darlene Stewart (Darlene.Stewart@iit.nrc.ca)
    174  */
    175 #define CPU_MODEL_NAME  "PowerPC MPC860"
    176 
    177 #define PPC_ALIGNMENT           4
    178 #define PPC_CACHE_ALIGNMENT     16
    179 #define PPC_INTERRUPT_MAX       71
    180 
    181 #elif defined(mpc821)
    182 /*
    183  *  Added by Andrew Bray <andy@chaos.org.uk> 6/April/1999
    184  */
    185 #define CPU_MODEL_NAME  "PowerPC MPC821"
    186 
    187 #define PPC_ALIGNMENT           4
    188 #define PPC_CACHE_ALIGNMENT     16
    189 #define PPC_INTERRUPT_MAX       71
    190 
    191 #elif defined(mpc750)
    192 #define CPU_MODEL_NAME  "PowerPC 750"
    193 #define PPC_ALIGNMENT           8
    194 
    195 #elif defined(__ALTIVEC__) \
    196   || defined(mpc7400) || defined(mpc7450) || defined(mpc7455)
    197 
    198 /* ppc altivec family */
    199 #if defined(mpc7400)
    200 #define CPU_MODEL_NAME  "PowerPC 7400"
    201 #elif defined(mpc7450)
    202 #define CPU_MODEL_NAME  "PowerPC 7400"
    203 #elif defined(mpc7455)
    204 #define CPU_MODEL_NAME  "PowerPC 7455"
    205 #else
    206 #define CPU_MODEL_NAME  "PowerPC Altivec"
    207 #endif
    208 
    209 #define PPC_ALIGNMENT           8
    210 #define PPC_CACHE_ALIGNMENT     32
    211 
    212 #elif defined(mpc8260)
    213 /*
    214  *  Added by Andy Dachs <a.dachs@sstl.co.uk> 23/11/2000
    215  */
    216 #define CPU_MODEL_NAME  "PowerPC MPC8260"
    217 
    218 #define PPC_ALIGNMENT           8
    219 #define PPC_CACHE_ALIGNMENT     32
    220 #define PPC_INTERRUPT_MAX       125
    221 #elif defined(__ppc_generic)
    222 
    22365/* Generic ppc */
    22466
    22567#ifdef _SOFT_FLOAT
    226 #define CPU_MODEL_NAME "PowerPC Generic (no FPU)"
    227 #elif defined(__NO_FPRS__)
    228 #define CPU_MODEL_NAME "PowerPC Generic (E500/float-gprs)"
     68#define CPU_MODEL_NAME "Generic (no FPU)"
     69#elif defined(__NO_FPRS__) || defined(__SPE__)
     70#define CPU_MODEL_NAME "Generic (E500/float-gprs/SPE)"
    22971#else
    230 #define CPU_MODEL_NAME "PowerPC Generic"
     72#define CPU_MODEL_NAME "Generic (classic FPU)"
    23173#endif
    23274
    233 #define PPC_ALIGNMENT           8
    234 
    235 #else
    236 
    237 #error "Unsupported CPU Model"
    238 
    239 #endif
     75#define PPC_ALIGNMENT                   8 
     76#define PPC_STRUCTURE_ALIGNMENT 32
    24077
    24178/*
     
    24582 *  Only big endian is currently supported.
    24683 */
     84
    24785/*
    24886 *  SVR4 ABI
     
    262100#endif
    263101
    264 #if (PPC_ABI == PPC_ABI_SVR4)
     102#if (PPC_ABI == PPC_ABI_SVR4) || defined(__ALTIVEC__)
    265103#define PPC_STACK_ALIGNMENT     16
    266104#elif (PPC_ABI == PPC_ABI_EABI)
     105#if 1
     106/* Till.S: 2008/07/10; AFAIK, the CPU_STACK_ALIGNMENT is only
     107 * used to align the top of the stack. We don't lose much
     108 * if we always align TOS to 16-bytes but we then are always
     109 * OK, even if the user tells the compiler to generate 16-byte
     110 * alignment.
     111 */
     112#define PPC_STACK_ALIGNMENT     16
     113#else
    267114#define PPC_STACK_ALIGNMENT     8
     115#endif
    268116#else
    269117#error  "PPC_ABI is not properly defined"
     
    271119
    272120/*
    273  *  Assemblers.
    274  *  PPC_ASM MUST be defined as one of these.
    275  *
    276  *  PPC_ASM_ELF:   ELF assembler. Currently used for all ABIs.
    277  *
    278  *  NOTE: Only PPC_ABI_ELF is currently fully supported.
     121 *  Assume PPC_HAS_FPU to be a synonym for _SOFT_FLOAT.
    279122 */
    280123
    281 #define PPC_ASM_ELF   0
    282 
    283 /*
    284  *  Default to the assembler format used by the current GNU tools.
    285  */
    286 
    287 #ifndef PPC_ASM
    288 #define PPC_ASM PPC_ASM_ELF
    289 #endif
    290 
    291 /*
    292  *  If the maximum number of exception sources has not been defined,
    293  *  then default it to 16.
    294  */
    295 
    296 #ifndef PPC_INTERRUPT_MAX
    297 #define PPC_INTERRUPT_MAX       16
    298 #endif
    299 
    300 /*
    301  *  Unless specified otherwise, the cache line size is defaulted to 32.
    302  *
    303  *  The derive the power of 2 the cache line is.
    304  */
    305 
    306 #ifndef PPC_CACHE_ALIGNMENT
    307 #define PPC_CACHE_ALIGNMENT 32
    308 #endif
    309 
    310 /*
    311  *  Unless specified above, assume PPC_HAS_FPU to be a synonym for _SOFT_FLOAT.
    312  *  FIXME: Should we tie PPC_HAS_FPU to _SOFT_FLOAT, directly
    313  *     and disallow explicitly setting PPC_HAS_FPU?
    314  */
    315 
    316 #ifndef PPC_HAS_FPU
    317124#if defined(_SOFT_FLOAT) || defined(__NO_FPRS__) /* e500 has unified integer/FP registers */
    318125#define PPC_HAS_FPU 0
    319126#else
    320127#define PPC_HAS_FPU 1
    321 #endif
    322128#endif
    323129
     
    330136 */
    331137
    332 #ifndef PPC_HAS_DOUBLE
    333138#if (PPC_HAS_FPU)
    334139#define PPC_HAS_DOUBLE 1
    335140#else
    336141#define PPC_HAS_DOUBLE 0
    337 #endif
    338 #endif
    339 
    340 /*
    341  *  The following exceptions are not maskable, and are not
    342  *  necessarily predictable, so cannot be offered to RTEMS:
    343  *    Alignment exception - handled by the CPU module
    344  *    Data exceptions.
    345  *    Instruction exceptions.
    346  */
    347 
    348 /*
    349  *  Base Interrupt vectors supported on all models.
    350  */
    351 #define PPC_IRQ_SYSTEM_RESET     0 /* 0x00100 - System reset.              */
    352 #define PPC_IRQ_MCHECK           1 /* 0x00200 - Machine check              */
    353 #define PPC_IRQ_PROTECT          2 /* 0x00300 - Protection violation       */
    354 #define PPC_IRQ_ISI              3 /* 0x00400 - Instruction Fetch error    */
    355 #define PPC_IRQ_EXTERNAL         4 /* 0x00500 - External interrupt         */
    356 #define PPC_IRQ_ALIGNMENT        5 /* 0X00600 - Alignment exception        */
    357 #define PPC_IRQ_PROGRAM          6 /* 0x00700 - Program exception          */
    358 #define PPC_IRQ_NOFP             7 /* 0x00800 - Floating point unavailable */
    359 #define PPC_IRQ_DECREMENTER      8 /* 0x00900 - Decrementer interrupt      */
    360 #define PPC_IRQ_RESERVED_A       9 /* 0x00a00 - Implementation Reserved    */
    361 #define PPC_IRQ_RESERVED_B      10 /* 0x00b00 - Implementation Reserved    */
    362 #define PPC_IRQ_SCALL           11 /* 0x00c00 - System call                */
    363 #define PPC_IRQ_TRACE           12 /* 0x00d00 - Trace Exception            */
    364 #define PPC_IRQ_FP_ASST         13 /* ox00e00 - Floating point assist      */
    365 #define PPC_STD_IRQ_LAST        PPC_IRQ_FP_ASST
    366 
    367 #define PPC_IRQ_FIRST           PPC_IRQ_SYSTEM_RESET
    368 
    369 #if defined(ppc403) || defined(ppc405)
    370                                  
    371 #define PPC_IRQ_CRIT     PPC_IRQ_SYSTEM_RESET /*0x00100- Critical int. pin */
    372 #define PPC_IRQ_PIT      (PPC_STD_IRQ_LAST+1) /*0x01000- Pgm interval timer*/
    373 #define PPC_IRQ_FIT      (PPC_STD_IRQ_LAST+2) /*0x01010- Fixed int. timer  */
    374 #define PPC_IRQ_WATCHDOG (PPC_STD_IRQ_LAST+3) /*0x01020- Watchdog timer    */
    375 #define PPC_IRQ_DEBUG    (PPC_STD_IRQ_LAST+4) /*0x02000- Debug exceptions  */
    376 #define PPC_IRQ_LAST     PPC_IRQ_DEBUG
    377 
    378 #elif defined(mpc505) || defined(mpc509)
    379 #define PPC_IRQ_SOFTEMU   (PPC_STD_IRQ_LAST+1)    /* Software emulation. */
    380 #define PPC_IRQ_DATA_BP   (PPC_STD_IRQ_LAST+ 2)
    381 #define PPC_IRQ_INST_BP   (PPC_STD_IRQ_LAST+ 3)
    382 #define PPC_IRQ_MEXT_BP   (PPC_STD_IRQ_LAST+ 4)
    383 #define PPC_IRQ_NMEXT_BP  (PPC_STD_IRQ_LAST+ 5)
    384 
    385 #elif defined(mpc555)
    386 #define PPC_IRQ_SOFTEMU   (PPC_STD_IRQ_LAST+1)  /* Software emulation. */
    387 #define PPC_IRQ_INST_PE   (PPC_STD_IRQ_LAST+2)  /* Insn protection error */
    388 #define PPC_IRQ_DATA_PE   (PPC_STD_IRQ_LAST+3)  /* Data protection error */
    389 #define PPC_IRQ_DATA_BP   (PPC_STD_IRQ_LAST+4)  /* Data breakpoint */
    390 #define PPC_IRQ_INST_BP   (PPC_STD_IRQ_LAST+5)  /* Insn breakpoint */
    391 #define PPC_IRQ_MEXT_BP   (PPC_STD_IRQ_LAST+6)  /* Maskable ext bkpt */
    392 #define PPC_IRQ_NMEXT_BP  (PPC_STD_IRQ_LAST+7)  /* Non-maskable ext bkpt */
    393 #define PPC_IRQ_LAST      PPC_IRQ_NMEXT_BP
    394 
    395 #elif defined(ppc601)
    396 #undef  PPC_IRQ_TRACE
    397 #define PPC_IRQ_TRACE    (PPC_STD_IRQ_LAST+1) /*0x02000-Run/Trace Exception*/
    398 #define PPC_IRQ_LAST     PPC_IRQ_TRACE       
    399 
    400 #elif defined(ppc602)
    401 #define PPC_IRQ_LAST     (PPC_STD_IRQ_LAST)
    402 
    403 #elif defined(ppc603) || defined(ppc603e)
    404 #define PPC_IRQ_TRANS_MISS (PPC_STD_IRQ_LAST+1) /*0x1000-Ins Translation Miss*/
    405 #define PPC_IRQ_DATA_LOAD  (PPC_STD_IRQ_LAST+2) /*0x1100-Data Load Trans Miss*/
    406 #define PPC_IRQ_DATA_STORE (PPC_STD_IRQ_LAST+3) /*0x1200-Data Store Miss     */
    407 #define PPC_IRQ_ADDR_BRK   (PPC_STD_IRQ_LAST+4) /*0x1300-Instruction Bkpoint */
    408 #define PPC_IRQ_SYS_MGT    (PPC_STD_IRQ_LAST+5) /*0x1400-System Management   */
    409 #define PPC_IRQ_LAST       PPC_IRQ_SYS_MGT   
    410 
    411 #elif defined(mpc604)
    412 #define PPC_IRQ_ADDR_BRK (PPC_STD_IRQ_LAST+1) /*0x1300- Inst. addr break  */
    413 #define PPC_IRQ_SYS_MGT  (PPC_STD_IRQ_LAST+2) /*0x1400- System Management */
    414 #define PPC_IRQ_LAST     PPC_IRQ_SYS_MGT 
    415 
    416 #elif defined(mpc860) || defined(mpc821)
    417 #define PPC_IRQ_EMULATE         (PPC_STD_IRQ_LAST+1) /*0x1000-Software emulation  */
    418 #define PPC_IRQ_INST_MISS       (PPC_STD_IRQ_LAST+2) /*0x1100-Instruction TLB miss*/
    419 #define PPC_IRQ_DATA_MISS       (PPC_STD_IRQ_LAST+3) /*0x1200-Data TLB miss */
    420 #define PPC_IRQ_INST_ERR        (PPC_STD_IRQ_LAST+4) /*0x1300-Instruction TLB err */
    421 #define PPC_IRQ_DATA_ERR        (PPC_STD_IRQ_LAST+5) /*0x1400-Data TLB error */
    422 #define PPC_IRQ_DATA_BPNT       (PPC_STD_IRQ_LAST+6) /*0x1C00-Data breakpoint */
    423 #define PPC_IRQ_INST_BPNT       (PPC_STD_IRQ_LAST+7) /*0x1D00-Inst breakpoint */
    424 #define PPC_IRQ_IO_BPNT         (PPC_STD_IRQ_LAST+8) /*0x1E00-Peripheral breakpnt */
    425 #define PPC_IRQ_DEV_PORT        (PPC_STD_IRQ_LAST+9) /*0x1F00-Development port */
    426 #define PPC_IRQ_IRQ0            (PPC_STD_IRQ_LAST + 10)
    427 #define PPC_IRQ_LVL0            (PPC_STD_IRQ_LAST + 11)
    428 #define PPC_IRQ_IRQ1            (PPC_STD_IRQ_LAST + 12)
    429 #define PPC_IRQ_LVL1            (PPC_STD_IRQ_LAST + 13)
    430 #define PPC_IRQ_IRQ2            (PPC_STD_IRQ_LAST + 14)
    431 #define PPC_IRQ_LVL2            (PPC_STD_IRQ_LAST + 15)
    432 #define PPC_IRQ_IRQ3            (PPC_STD_IRQ_LAST + 16)
    433 #define PPC_IRQ_LVL3            (PPC_STD_IRQ_LAST + 17)
    434 #define PPC_IRQ_IRQ4            (PPC_STD_IRQ_LAST + 18)
    435 #define PPC_IRQ_LVL4            (PPC_STD_IRQ_LAST + 19)
    436 #define PPC_IRQ_IRQ5            (PPC_STD_IRQ_LAST + 20)
    437 #define PPC_IRQ_LVL5            (PPC_STD_IRQ_LAST + 21)
    438 #define PPC_IRQ_IRQ6            (PPC_STD_IRQ_LAST + 22)
    439 #define PPC_IRQ_LVL6            (PPC_STD_IRQ_LAST + 23)
    440 #define PPC_IRQ_IRQ7            (PPC_STD_IRQ_LAST + 24)
    441 #define PPC_IRQ_LVL7            (PPC_STD_IRQ_LAST + 25)
    442 #define PPC_IRQ_CPM_ERROR       (PPC_STD_IRQ_LAST + 26)
    443 #define PPC_IRQ_CPM_PC4         (PPC_STD_IRQ_LAST + 27)
    444 #define PPC_IRQ_CPM_PC5         (PPC_STD_IRQ_LAST + 28)
    445 #define PPC_IRQ_CPM_SMC2        (PPC_STD_IRQ_LAST + 29)
    446 #define PPC_IRQ_CPM_SMC1        (PPC_STD_IRQ_LAST + 30)
    447 #define PPC_IRQ_CPM_SPI         (PPC_STD_IRQ_LAST + 31)
    448 #define PPC_IRQ_CPM_PC6         (PPC_STD_IRQ_LAST + 32)
    449 #define PPC_IRQ_CPM_TIMER4      (PPC_STD_IRQ_LAST + 33)
    450 #define PPC_IRQ_CPM_RESERVED_8  (PPC_STD_IRQ_LAST + 34)
    451 #define PPC_IRQ_CPM_PC7         (PPC_STD_IRQ_LAST + 35)
    452 #define PPC_IRQ_CPM_PC8         (PPC_STD_IRQ_LAST + 36)
    453 #define PPC_IRQ_CPM_PC9         (PPC_STD_IRQ_LAST + 37)
    454 #define PPC_IRQ_CPM_TIMER3      (PPC_STD_IRQ_LAST + 38)
    455 #define PPC_IRQ_CPM_RESERVED_D  (PPC_STD_IRQ_LAST + 39)
    456 #define PPC_IRQ_CPM_PC10        (PPC_STD_IRQ_LAST + 40)
    457 #define PPC_IRQ_CPM_PC11        (PPC_STD_IRQ_LAST + 41)
    458 #define PPC_IRQ_CPM_I2C         (PPC_STD_IRQ_LAST + 42)
    459 #define PPC_IRQ_CPM_RISC_TIMER  (PPC_STD_IRQ_LAST + 43)
    460 #define PPC_IRQ_CPM_TIMER2      (PPC_STD_IRQ_LAST + 44)
    461 #define PPC_IRQ_CPM_RESERVED_13 (PPC_STD_IRQ_LAST + 45)
    462 #define PPC_IRQ_CPM_IDMA2       (PPC_STD_IRQ_LAST + 46)
    463 #define PPC_IRQ_CPM_IDMA1       (PPC_STD_IRQ_LAST + 47)
    464 #define PPC_IRQ_CPM_SDMA_ERROR  (PPC_STD_IRQ_LAST + 48)
    465 #define PPC_IRQ_CPM_PC12        (PPC_STD_IRQ_LAST + 49)
    466 #define PPC_IRQ_CPM_PC13        (PPC_STD_IRQ_LAST + 50)
    467 #define PPC_IRQ_CPM_TIMER1      (PPC_STD_IRQ_LAST + 51)
    468 #define PPC_IRQ_CPM_PC14        (PPC_STD_IRQ_LAST + 52)
    469 #define PPC_IRQ_CPM_SCC4        (PPC_STD_IRQ_LAST + 53)
    470 #define PPC_IRQ_CPM_SCC3        (PPC_STD_IRQ_LAST + 54)
    471 #define PPC_IRQ_CPM_SCC2        (PPC_STD_IRQ_LAST + 55)
    472 #define PPC_IRQ_CPM_SCC1        (PPC_STD_IRQ_LAST + 56)
    473 #define PPC_IRQ_CPM_PC15        (PPC_STD_IRQ_LAST + 57)
    474 
    475 #define PPC_IRQ_LAST             PPC_IRQ_CPM_PC15
    476 
    477 #elif defined(mpc8260)
    478 
    479 #define PPC_IRQ_INST_MISS       (PPC_STD_IRQ_LAST+1) /*0x1000-Instruction TLB miss*/
    480 #define PPC_IRQ_DATA_MISS       (PPC_STD_IRQ_LAST+2) /*0x1100-Data TLB miss */
    481 #define PPC_IRQ_DATA_L_MISS     (PPC_STD_IRQ_LAST+3) /*0x1200-Data TLB load miss */
    482 #define PPC_IRQ_DATA_S_MISS     (PPC_STD_IRQ_LAST+4) /*0x1300-Data TLB store miss */
    483 #define PPC_IRQ_INST_BPNT       (PPC_STD_IRQ_LAST+5) /*0x1400-Inst address breakpoint */
    484 #define PPC_IRQ_SYS_MGT         (PPC_STD_IRQ_LAST+6) /*0x1500-System Management */
    485 /* 0x1600 - 0x2F00 reserved */
    486 #define PPC_IRQ_CPM_NONE        (PPC_STD_IRQ_LAST + 50)
    487 #define PPC_IRQ_CPM_I2C         (PPC_STD_IRQ_LAST + 51)
    488 #define PPC_IRQ_CPM_SPI         (PPC_STD_IRQ_LAST + 52)
    489 #define PPC_IRQ_CPM_RISC_TIMER  (PPC_STD_IRQ_LAST + 53)
    490 #define PPC_IRQ_CPM_SMC1        (PPC_STD_IRQ_LAST + 54)
    491 #define PPC_IRQ_CPM_SMC2        (PPC_STD_IRQ_LAST + 55)
    492 #define PPC_IRQ_CPM_IDMA1       (PPC_STD_IRQ_LAST + 56)
    493 #define PPC_IRQ_CPM_IDMA2       (PPC_STD_IRQ_LAST + 57)
    494 #define PPC_IRQ_CPM_IDMA3       (PPC_STD_IRQ_LAST + 58)
    495 #define PPC_IRQ_CPM_IDMA4       (PPC_STD_IRQ_LAST + 59)
    496 #define PPC_IRQ_CPM_SDMA        (PPC_STD_IRQ_LAST + 60)
    497 #define PPC_IRQ_CPM_RES_A       (PPC_STD_IRQ_LAST + 61)
    498 #define PPC_IRQ_CPM_TIMER1      (PPC_STD_IRQ_LAST + 62)
    499 #define PPC_IRQ_CPM_TIMER2      (PPC_STD_IRQ_LAST + 63)
    500 #define PPC_IRQ_CPM_TIMER3      (PPC_STD_IRQ_LAST + 64)
    501 #define PPC_IRQ_CPM_TIMER4      (PPC_STD_IRQ_LAST + 65)
    502 #define PPC_IRQ_CPM_TMCNT       (PPC_STD_IRQ_LAST + 66)
    503 #define PPC_IRQ_CPM_PIT         (PPC_STD_IRQ_LAST + 67)
    504 #define PPC_IRQ_CPM_RES_B       (PPC_STD_IRQ_LAST + 68)
    505 #define PPC_IRQ_CPM_IRQ1        (PPC_STD_IRQ_LAST + 69)
    506 #define PPC_IRQ_CPM_IRQ2        (PPC_STD_IRQ_LAST + 70)
    507 #define PPC_IRQ_CPM_IRQ3        (PPC_STD_IRQ_LAST + 71)
    508 #define PPC_IRQ_CPM_IRQ4        (PPC_STD_IRQ_LAST + 72)
    509 #define PPC_IRQ_CPM_IRQ5        (PPC_STD_IRQ_LAST + 73)
    510 #define PPC_IRQ_CPM_IRQ6        (PPC_STD_IRQ_LAST + 74)
    511 #define PPC_IRQ_CPM_IRQ7        (PPC_STD_IRQ_LAST + 75)
    512 #define PPC_IRQ_CPM_RES_C       (PPC_STD_IRQ_LAST + 76)
    513 #define PPC_IRQ_CPM_RES_D       (PPC_STD_IRQ_LAST + 77)
    514 #define PPC_IRQ_CPM_RES_E       (PPC_STD_IRQ_LAST + 78)
    515 #define PPC_IRQ_CPM_RES_F       (PPC_STD_IRQ_LAST + 79)
    516 #define PPC_IRQ_CPM_RES_G       (PPC_STD_IRQ_LAST + 80)
    517 #define PPC_IRQ_CPM_RES_H       (PPC_STD_IRQ_LAST + 81)
    518 #define PPC_IRQ_CPM_FCC1        (PPC_STD_IRQ_LAST + 82)
    519 #define PPC_IRQ_CPM_FCC2        (PPC_STD_IRQ_LAST + 83)
    520 #define PPC_IRQ_CPM_FCC3        (PPC_STD_IRQ_LAST + 84)
    521 #define PPC_IRQ_CPM_RES_I       (PPC_STD_IRQ_LAST + 85)
    522 #define PPC_IRQ_CPM_MCC1        (PPC_STD_IRQ_LAST + 86)
    523 #define PPC_IRQ_CPM_MCC2        (PPC_STD_IRQ_LAST + 87)
    524 #define PPC_IRQ_CPM_RES_J       (PPC_STD_IRQ_LAST + 88)
    525 #define PPC_IRQ_CPM_RES_K       (PPC_STD_IRQ_LAST + 89)
    526 #define PPC_IRQ_CPM_SCC1        (PPC_STD_IRQ_LAST + 90)
    527 #define PPC_IRQ_CPM_SCC2        (PPC_STD_IRQ_LAST + 91)
    528 #define PPC_IRQ_CPM_SCC3        (PPC_STD_IRQ_LAST + 92)
    529 #define PPC_IRQ_CPM_SCC4        (PPC_STD_IRQ_LAST + 93)
    530 #define PPC_IRQ_CPM_RES_L       (PPC_STD_IRQ_LAST + 94)
    531 #define PPC_IRQ_CPM_RES_M       (PPC_STD_IRQ_LAST + 95)
    532 #define PPC_IRQ_CPM_RES_N       (PPC_STD_IRQ_LAST + 96)
    533 #define PPC_IRQ_CPM_RES_O       (PPC_STD_IRQ_LAST + 97)
    534 #define PPC_IRQ_CPM_PC15        (PPC_STD_IRQ_LAST + 98)
    535 #define PPC_IRQ_CPM_PC14        (PPC_STD_IRQ_LAST + 99)
    536 #define PPC_IRQ_CPM_PC13        (PPC_STD_IRQ_LAST + 100)
    537 #define PPC_IRQ_CPM_PC12        (PPC_STD_IRQ_LAST + 101)
    538 #define PPC_IRQ_CPM_PC11        (PPC_STD_IRQ_LAST + 102)
    539 #define PPC_IRQ_CPM_PC10        (PPC_STD_IRQ_LAST + 103)
    540 #define PPC_IRQ_CPM_PC9         (PPC_STD_IRQ_LAST + 104)
    541 #define PPC_IRQ_CPM_PC8         (PPC_STD_IRQ_LAST + 105)
    542 #define PPC_IRQ_CPM_PC7         (PPC_STD_IRQ_LAST + 106)
    543 #define PPC_IRQ_CPM_PC6         (PPC_STD_IRQ_LAST + 107)
    544 #define PPC_IRQ_CPM_PC5         (PPC_STD_IRQ_LAST + 108)
    545 #define PPC_IRQ_CPM_PC4         (PPC_STD_IRQ_LAST + 109)
    546 #define PPC_IRQ_CPM_PC3         (PPC_STD_IRQ_LAST + 110)
    547 #define PPC_IRQ_CPM_PC2         (PPC_STD_IRQ_LAST + 111)
    548 #define PPC_IRQ_CPM_PC1         (PPC_STD_IRQ_LAST + 112)
    549 #define PPC_IRQ_CPM_PC0         (PPC_STD_IRQ_LAST + 113)
    550 
    551 #define PPC_IRQ_LAST             PPC_IRQ_CPM_PC0
    552 
    553 #endif
    554 
    555 
    556 /*
    557  *  If the maximum number of exception sources is too low,
    558  *  then fix it
    559  */
    560 
    561 #if PPC_INTERRUPT_MAX <= PPC_IRQ_LAST
    562 #undef PPC_INTERRUPT_MAX
    563 #define PPC_INTERRUPT_MAX ((PPC_IRQ_LAST) + 1)
    564142#endif
    565143
     
    570148#define PPC_INIT_FPSCR          0x000000f8
    571149
     150/*
     151 *  Assemblers.
     152 *  PPC_ASM MUST be defined as one of these.
     153 *
     154 *  PPC_ASM_ELF:   ELF assembler. Currently used for all ABIs.
     155 *
     156 *  NOTE: Only PPC_ABI_ELF is currently fully supported.
     157 *
     158 *  Also NOTE: cpukit doesn't need this but asm.h which is defined
     159 *             in cpukit for consistency with other ports does.
     160 */
     161
     162#define PPC_ASM_ELF   0
     163
     164/*
     165 *  Default to the assembler format used by the current GNU tools.
     166 */
     167#define PPC_ASM PPC_ASM_ELF
     168
     169
    572170#ifdef __cplusplus
    573171}
Note: See TracChangeset for help on using the changeset viewer.