Changeset df49c60 in rtems for c/src/exec/score


Ignore:
Timestamp:
Jun 12, 2000, 3:00:15 PM (22 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
edeed26
Parents:
0ab65474
Message:

Merged from 4.5.0-beta3a

Location:
c/src/exec/score
Files:
69 edited

Legend:

Unmodified
Added
Removed
  • c/src/exec/score/cpu/a29k/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
     
    4242TMPINSTALL_FILES += $(PROJECT_RELEASE)/lib/rtems$(LIB_VARIANT).o
    4343
    44 all-local: $(ARCH) $(PREINSTALL_FILES) $(rtems_cpu_rel_OBJECTS) $(REL) $(TMPINSTALL_FILES)
     44all-local: $(ARCH) $(PREINSTALL_FILES) $(rtems_cpu_rel_OBJECTS) $(REL) \
     45    $(TMPINSTALL_FILES)
    4546
    4647.PRECIOUS: $(REL)
  • c/src/exec/score/cpu/a29k/rtems/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
  • c/src/exec/score/cpu/a29k/rtems/score/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
     
    1212#
    1313
    14 PREINSTALL_FILES = \
    15 $(PROJECT_INCLUDE)/rtems/score \
    16 $(H_FILES:%.h=$(PROJECT_INCLUDE)/rtems/score/%.h)
     14PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score \
     15    $(H_FILES:%.h=$(PROJECT_INCLUDE)/rtems/score/%.h)
    1716
    1817$(PROJECT_INCLUDE)/rtems/score:
  • c/src/exec/score/cpu/a29k/rtems/score/a29k.h

    r0ab65474 rdf49c60  
    2929 */
    3030 
    31 #if defined(a29205)
     31#if defined(rtems_multilib)
     32/*
     33 *  Figure out all CPU Model Feature Flags based upon compiler
     34 *  predefines.
     35 */
     36
     37#define CPU_MODEL_NAME  "rtems_multilib"
     38#define A29K_HAS_FPU 0
     39
     40#elif defined(a29205)
    3241 
    3342#define CPU_MODEL_NAME  "a29205"
  • c/src/exec/score/cpu/hppa1.1/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
     
    3737TMPINSTALL_FILES += $(PROJECT_RELEASE)/lib/rtems$(LIB_VARIANT).o
    3838
    39 all-local: $(ARCH) $(PREINSTALL_FILES) $(rtems_cpu_rel_OBJECTS) $(REL) $(TMPINSTALL_FILES)
     39all-local: $(ARCH) $(PREINSTALL_FILES) $(rtems_cpu_rel_OBJECTS) $(REL) \
     40    $(TMPINSTALL_FILES)
    4041
    4142.PRECIOUS: $(REL)
  • c/src/exec/score/cpu/hppa1.1/rtems/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
  • c/src/exec/score/cpu/hppa1.1/rtems/score/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
     
    1212#
    1313
    14 PREINSTALL_FILES = \
    15 $(PROJECT_INCLUDE)/rtems/score \
    16 $(H_FILES:%.h=$(PROJECT_INCLUDE)/rtems/score/%.h)
     14PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score \
     15    $(H_FILES:%.h=$(PROJECT_INCLUDE)/rtems/score/%.h)
    1716
    1817$(PROJECT_INCLUDE)/rtems/score:
  • c/src/exec/score/cpu/hppa1.1/rtems/score/hppa.h

    r0ab65474 rdf49c60  
    3636 */
    3737
    38 #if defined(hppa7100)
     38#if defined(rtems_multilib)
     39/*
     40 *  Figure out all CPU Model Feature Flags based upon compiler
     41 *  predefines.
     42 */
     43
     44#define CPU_MODEL_NAME  "rtems_multilib"
     45
     46#elif defined(hppa7100)
    3947
    4048#define CPU_MODEL_NAME  "hppa 7100"
  • c/src/exec/score/cpu/i386/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
     
    3939TMPINSTALL_FILES += $(PROJECT_RELEASE)/lib/rtems$(LIB_VARIANT).o
    4040
    41 all-local: $(ARCH) $(PREINSTALL_FILES) $(rtems_cpu_rel_OBJECTS) $(REL) $(TMPINSTALL_FILES)
     41all-local: $(ARCH) $(PREINSTALL_FILES) $(rtems_cpu_rel_OBJECTS) $(REL) \
     42    $(TMPINSTALL_FILES)
    4243
    4344.PRECIOUS: $(REL)
  • c/src/exec/score/cpu/i386/rtems/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
  • c/src/exec/score/cpu/i386/rtems/score/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
     
    1212#
    1313
    14 PREINSTALL_FILES = \
    15 $(PROJECT_INCLUDE)/rtems/score \
    16 $(H_FILES:%.h=$(PROJECT_INCLUDE)/rtems/score/%.h)
     14PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score \
     15    $(H_FILES:%.h=$(PROJECT_INCLUDE)/rtems/score/%.h)
    1716
    1817$(PROJECT_INCLUDE)/rtems/score:
  • c/src/exec/score/cpu/i386/rtems/score/i386.h

    r0ab65474 rdf49c60  
    4747 */
    4848
    49 #if defined(i386_fp)
     49#if defined(rtems_multilib)
     50/*
     51 *  Figure out all CPU Model Feature Flags based upon compiler
     52 *  predefines.
     53 */
     54
     55#define CPU_MODEL_NAME  "rtems_multilib"
     56#define I386_HAS_FPU   0
     57#define I386_HAS_BSWAP 0
     58
     59#elif defined(i386_fp)
    5060
    5161#define CPU_MODEL_NAME  "i386 with i387"
  • c/src/exec/score/cpu/i960/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
     
    3939TMPINSTALL_FILES += $(PROJECT_RELEASE)/lib/rtems$(LIB_VARIANT).o
    4040
    41 all-local: $(ARCH) $(PREINSTALL_FILES) $(rtems_cpu_rel_OBJECTS) $(REL) $(TMPINSTALL_FILES)
     41all-local: $(ARCH) $(PREINSTALL_FILES) $(rtems_cpu_rel_OBJECTS) $(REL) \
     42    $(TMPINSTALL_FILES)
    4243
    4344.PRECIOUS: $(REL)
  • c/src/exec/score/cpu/i960/rtems/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
  • c/src/exec/score/cpu/i960/rtems/score/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
     
    1212#
    1313
    14 PREINSTALL_FILES = \
    15 $(PROJECT_INCLUDE)/rtems/score \
    16 $(H_FILES:%.h=$(PROJECT_INCLUDE)/rtems/score/%.h)
     14PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score \
     15    $(H_FILES:%.h=$(PROJECT_INCLUDE)/rtems/score/%.h)
    1716
    1817$(PROJECT_INCLUDE)/rtems/score:
  • c/src/exec/score/cpu/i960/rtems/score/i960.h

    r0ab65474 rdf49c60  
    3434 */
    3535
    36 #if defined(__i960CA__) || defined(__i960_CA__) || defined(__i960CA)
     36#if defined(rtems_multilib)
     37/*
     38 *  Figure out all CPU Model Feature Flags based upon compiler
     39 *  predefines.
     40 */
     41
     42#define CPU_MODEL_NAME  "rtems_multilib"
     43#define I960_HAS_FPU 0
     44#define I960_CPU_ALIGNMENT 4
     45#define I960_SOFT_RESET_COMMAND 0x30000
     46
     47#elif defined(__i960CA__) || defined(__i960_CA__) || defined(__i960CA)
    3748
    3849#define CPU_MODEL_NAME  "i960ca"
  • c/src/exec/score/cpu/m68k/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
     
    3939TMPINSTALL_FILES += $(PROJECT_RELEASE)/lib/rtems$(LIB_VARIANT).o
    4040
    41 all-local: $(ARCH) $(PREINSTALL_FILES) $(rtems_cpu_rel_OBJECTS) $(REL) $(TMPINSTALL_FILES)
     41all-local: $(ARCH) $(PREINSTALL_FILES) $(rtems_cpu_rel_OBJECTS) $(REL) \
     42    $(TMPINSTALL_FILES)
    4243
    4344.PRECIOUS: $(REL)
  • c/src/exec/score/cpu/m68k/qsm.h

    r0ab65474 rdf49c60  
    4141#ifndef _QSM_H_
    4242#define _QSM_H_
    43 
    44 
    45 #include <efi332.h>
    46 
    4743
    4844/* SAM-- shift and mask */
  • c/src/exec/score/cpu/m68k/rtems/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
  • c/src/exec/score/cpu/m68k/rtems/score/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
     
    1212#
    1313
    14 PREINSTALL_FILES = \
    15 $(PROJECT_INCLUDE)/rtems/score \
    16 $(H_FILES:%.h=$(PROJECT_INCLUDE)/rtems/score/%.h)
     14PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score \
     15    $(H_FILES:%.h=$(PROJECT_INCLUDE)/rtems/score/%.h)
    1716
    1817$(PROJECT_INCLUDE)/rtems/score:
  • c/src/exec/score/cpu/m68k/rtems/score/m68k.h

    r0ab65474 rdf49c60  
    7878 *    Eventually it would be nice to evaluate doing a lot of this section
    7979 *    by having each model specify which core it uses and then go from there.
     80 */
     81
     82/*
     83 *  Figure out all CPU Model Feature Flags based upon compiler
     84 *  predefines.   Notice the only exception to this is that
     85 *  gcc does not distinguish between CPU32 and CPU32+.  This
     86 *  feature selection logic is setup such that if RTEMS__mcpu32p__
     87 *  is defined, then CPU32+ rules are used.  Otherwise, the safe
     88 *  but less efficient CPU32 rules are used for the CPU32+.
    8089 */
    8190
  • c/src/exec/score/cpu/m68k/sim.h

    r0ab65474 rdf49c60  
    4949#ifndef _SIM_H_
    5050#define _SIM_H_
    51 
    52 
    53 /*
    54  *  XXX Why is a generic file like this including a bsp specific file?
    55 
    56 #include <efi332.h>
    57  */
    5851
    5952
  • c/src/exec/score/cpu/mips/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
     
    3939TMPINSTALL_FILES += $(PROJECT_RELEASE)/lib/rtems$(LIB_VARIANT).o
    4040
    41 all-local: $(ARCH) $(PREINSTALL_FILES) $(rtems_cpu_rel_OBJECTS) $(REL) $(TMPINSTALL_FILES)
     41all-local: $(ARCH) $(PREINSTALL_FILES) $(rtems_cpu_rel_OBJECTS) $(REL) \
     42    $(TMPINSTALL_FILES)
    4243
    4344.PRECIOUS: $(REL)
  • c/src/exec/score/cpu/mips/rtems/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
  • c/src/exec/score/cpu/mips/rtems/score/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
     
    1212#
    1313
    14 PREINSTALL_FILES = \
    15 $(PROJECT_INCLUDE)/rtems/score \
    16 $(H_FILES:%.h=$(PROJECT_INCLUDE)/rtems/score/%.h)
     14PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score \
     15    $(H_FILES:%.h=$(PROJECT_INCLUDE)/rtems/score/%.h)
    1716
    1817$(PROJECT_INCLUDE)/rtems/score:
  • c/src/exec/score/cpu/mips/rtems/score/mips.h

    r0ab65474 rdf49c60  
    4545 */
    4646 
    47 #if defined(R4650)
     47#if defined(rtems_multilib)
     48/*
     49 *  Figure out all CPU Model Feature Flags based upon compiler
     50 *  predefines.
     51 */
     52
     53#define CPU_MODEL_NAME  "rtems_multilib"
     54#define MIPS64ORION_HAS_FPU     1
     55
     56#elif defined(R4650)
    4857 
    4958#define CPU_MODEL_NAME  "R4650"
  • c/src/exec/score/cpu/mips/rtems/score/mips64orion.h

    r0ab65474 rdf49c60  
    4545 */
    4646 
    47 #if defined(R4650)
     47#if defined(rtems_multilib)
     48/*
     49 *  Figure out all CPU Model Feature Flags based upon compiler
     50 *  predefines.
     51 */
     52
     53#define CPU_MODEL_NAME  "rtems_multilib"
     54#define MIPS64ORION_HAS_FPU     1
     55
     56#elif defined(R4650)
    4857 
    4958#define CPU_MODEL_NAME  "R4650"
  • c/src/exec/score/cpu/mips64orion/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
     
    3939TMPINSTALL_FILES += $(PROJECT_RELEASE)/lib/rtems$(LIB_VARIANT).o
    4040
    41 all-local: $(ARCH) $(PREINSTALL_FILES) $(rtems_cpu_rel_OBJECTS) $(REL) $(TMPINSTALL_FILES)
     41all-local: $(ARCH) $(PREINSTALL_FILES) $(rtems_cpu_rel_OBJECTS) $(REL) \
     42    $(TMPINSTALL_FILES)
    4243
    4344.PRECIOUS: $(REL)
  • c/src/exec/score/cpu/mips64orion/rtems/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
  • c/src/exec/score/cpu/mips64orion/rtems/score/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
     
    1212#
    1313
    14 PREINSTALL_FILES = \
    15 $(PROJECT_INCLUDE)/rtems/score \
    16 $(H_FILES:%.h=$(PROJECT_INCLUDE)/rtems/score/%.h)
     14PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score \
     15    $(H_FILES:%.h=$(PROJECT_INCLUDE)/rtems/score/%.h)
    1716
    1817$(PROJECT_INCLUDE)/rtems/score:
  • c/src/exec/score/cpu/mips64orion/rtems/score/mips64orion.h

    r0ab65474 rdf49c60  
    4545 */
    4646 
    47 #if defined(R4650)
     47#if defined(rtems_multilib)
     48/*
     49 *  Figure out all CPU Model Feature Flags based upon compiler
     50 *  predefines.
     51 */
     52
     53#define CPU_MODEL_NAME  "rtems_multilib"
     54#define MIPS64ORION_HAS_FPU     1
     55
     56#elif defined(R4650)
    4857 
    4958#define CPU_MODEL_NAME  "R4650"
  • c/src/exec/score/cpu/no_cpu/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
     
    3636TMPINSTALL_FILES += $(PROJECT_RELEASE)/lib/rtems$(LIB_VARIANT).o
    3737
    38 all-local: $(ARCH) $(PREINSTALL_FILES) $(rtems_cpu_rel_OBJECTS) $(REL) $(TMPINSTALL_FILES)
     38all-local: $(ARCH) $(PREINSTALL_FILES) $(rtems_cpu_rel_OBJECTS) $(REL) \
     39    $(TMPINSTALL_FILES)
    3940
    4041.PRECIOUS: $(REL)
  • c/src/exec/score/cpu/no_cpu/cpu.c

    r0ab65474 rdf49c60  
    2424 *    cpu_table       - CPU table to initialize
    2525 *    thread_dispatch - address of disptaching routine
     26 *
     27 *  NO_CPU Specific Information:
     28 *
     29 *  XXX document implementation including references if appropriate
    2630 */
    2731
     
    6064 *
    6165 *  _CPU_ISR_Get_level
     66 *
     67 *  NO_CPU Specific Information:
     68 *
     69 *  XXX document implementation including references if appropriate
    6270 */
    6371 
     
    7482 *
    7583 *  _CPU_ISR_install_raw_handler
     84 *
     85 *  NO_CPU Specific Information:
     86 *
     87 *  XXX document implementation including references if appropriate
    7688 */
    7789 
     
    102114 *  Output parameters:  NONE
    103115 *
     116 *
     117 *  NO_CPU Specific Information:
     118 *
     119 *  XXX document implementation including references if appropriate
    104120 */
    105121
     
    131147 *
    132148 *  _CPU_Install_interrupt_stack
     149 *
     150 *  NO_CPU Specific Information:
     151 *
     152 *  XXX document implementation including references if appropriate
    133153 */
    134154
     
    152172 *     also be a problem with other on-chip peripherals.  So use this
    153173 *     hook with caution.
     174 *
     175 *  NO_CPU Specific Information:
     176 *
     177 *  XXX document implementation including references if appropriate
    154178 */
    155179
  • c/src/exec/score/cpu/no_cpu/cpu_asm.c

    r0ab65474 rdf49c60  
    3838 *  like a (Context_Control_fp *).  The general rule on making this decision
    3939 *  is to avoid writing assembly language.
     40 *
     41 *  NO_CPU Specific Information:
     42 *
     43 *  XXX document implementation including references if appropriate
    4044 */
    4145
     
    5761 *  like a (Context_Control_fp *).  The general rule on making this decision
    5862 *  is to avoid writing assembly language.
     63 *
     64 *  NO_CPU Specific Information:
     65 *
     66 *  XXX document implementation including references if appropriate
    5967 */
    6068
     
    6876 *
    6977 *  This routine performs a normal non-FP context switch.
     78 *
     79 *  NO_CPU Specific Information:
     80 *
     81 *  XXX document implementation including references if appropriate
    7082 */
    7183
     
    8496 *
    8597 *  NOTE: May be unnecessary to reload some registers.
     98 *
     99 *  NO_CPU Specific Information:
     100 *
     101 *  XXX document implementation including references if appropriate
    86102 */
    87103
     
    96112 *  This routine provides the RTEMS interrupt management.
    97113 *
     114 *  NO_CPU Specific Information:
     115 *
     116 *  XXX document implementation including references if appropriate
    98117 */
    99118
  • c/src/exec/score/cpu/no_cpu/rtems.c

    r0ab65474 rdf49c60  
    3737 *  it has been "wrapped" in this way.  The table "_Entry_points"
    3838 *  is used to look up the directive.
     39 *
     40 *  NO_CPU Specific Information:
     41 *
     42 *  XXX document implementation including references if appropriate
    3943 */
    4044
  • c/src/exec/score/cpu/no_cpu/rtems/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
  • c/src/exec/score/cpu/no_cpu/rtems/score/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
     
    1212#
    1313
    14 PREINSTALL_FILES = \
    15 $(PROJECT_INCLUDE)/rtems/score \
    16 $(H_FILES:%.h=$(PROJECT_INCLUDE)/rtems/score/%.h)
     14PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score \
     15    $(H_FILES:%.h=$(PROJECT_INCLUDE)/rtems/score/%.h)
    1716
    1817$(PROJECT_INCLUDE)/rtems/score:
  • c/src/exec/score/cpu/no_cpu/rtems/score/cpu.h

    r0ab65474 rdf49c60  
    4343 *  _Thread_Dispatch.  If the enable dispatch is inlined, then
    4444 *  one subroutine call is avoided entirely.]
     45 *
     46 *  NO_CPU Specific Information:
     47 *
     48 *  XXX document implementation including references if appropriate
    4549 */
    4650
     
    6367 *  code is the longest interrupt disable period in RTEMS.  So it is
    6468 *  necessary to strike a balance when setting this parameter.
     69 *
     70 *  NO_CPU Specific Information:
     71 *
     72 *  XXX document implementation including references if appropriate
    6573 */
    6674
     
    8997 *  is unclear what that would imply about the interrupt processing
    9098 *  procedure on that CPU.
     99 *
     100 *  NO_CPU Specific Information:
     101 *
     102 *  XXX document implementation including references if appropriate
    91103 */
    92104
     
    106118 *  is unclear what that would imply about the interrupt processing
    107119 *  procedure on that CPU.
     120 *
     121 *  NO_CPU Specific Information:
     122 *
     123 *  XXX document implementation including references if appropriate
    108124 */
    109125
     
    118134 *  This should be TRUE is CPU_HAS_SOFTWARE_INTERRUPT_STACK is TRUE
    119135 *  or CPU_INSTALL_HARDWARE_INTERRUPT_STACK is TRUE.
     136 *
     137 *  NO_CPU Specific Information:
     138 *
     139 *  XXX document implementation including references if appropriate
    120140 */
    121141
     
    126146 *  a pointer to the saved interrupt frame (1) or just the vector
    127147 *  number (0)?
     148 *
     149 *  NO_CPU Specific Information:
     150 *
     151 *  XXX document implementation including references if appropriate
    128152 */
    129153
     
    144168 *  which set this to false to indicate that you have an i386 without
    145169 *  an i387 and wish to leave floating point support out of RTEMS.
     170 *
     171 *  The CPU_SOFTWARE_FP is used to indicate whether or not there
     172 *  is software implemented floating point that must be context
     173 *  switched.  The determination of whether or not this applies
     174 *  is very tool specific and the state saved/restored is also
     175 *  compiler specific.
     176 *
     177 *  NO_CPU Specific Information:
     178 *
     179 *  XXX document implementation including references if appropriate
    146180 */
    147181
     
    151185#define CPU_HARDWARE_FP     FALSE
    152186#endif
     187#define CPU_SOFTWARE_FP     FALSE
    153188
    154189/*
     
    166201 *
    167202 *  If CPU_HARDWARE_FP is FALSE, then this should be FALSE as well.
     203 *
     204 *  NO_CPU Specific Information:
     205 *
     206 *  XXX document implementation including references if appropriate
    168207 */
    169208
     
    180219 *  the IDLE task from an interrupt because the floating point context
    181220 *  must be saved as part of the preemption.
     221 *
     222 *  NO_CPU Specific Information:
     223 *
     224 *  XXX document implementation including references if appropriate
    182225 */
    183226
     
    208251 *  Thus in a system with only one FP task, the FP context will never
    209252 *  be saved or restored.
     253 *
     254 *  NO_CPU Specific Information:
     255 *
     256 *  XXX document implementation including references if appropriate
    210257 */
    211258
     
    231278 *    2.  CPU dependent (if provided)
    232279 *    3.  generic (if no BSP and no CPU dependent)
     280 *
     281 *  NO_CPU Specific Information:
     282 *
     283 *  XXX document implementation including references if appropriate
    233284 */
    234285
     
    241292 *  If TRUE, then the grows upward.
    242293 *  If FALSE, then the grows toward smaller addresses.
     294 *
     295 *  NO_CPU Specific Information:
     296 *
     297 *  XXX document implementation including references if appropriate
    243298 */
    244299
     
    263318 *         used so it will stay in the cache and used frequently enough
    264319 *         in the executive to justify turning this on.
     320 *
     321 *  NO_CPU Specific Information:
     322 *
     323 *  XXX document implementation including references if appropriate
    265324 */
    266325
     
    270329 *  Define what is required to specify how the network to host conversion
    271330 *  routines are handled.
     331 *
     332 *  NO_CPU Specific Information:
     333 *
     334 *  XXX document implementation including references if appropriate
    272335 */
    273336
     
    280343 *  interrupt field of the task mode.  How those bits map to the
    281344 *  CPU interrupt levels is defined by the routine _CPU_ISR_Set_level().
     345 *
     346 *  NO_CPU Specific Information:
     347 *
     348 *  XXX document implementation including references if appropriate
    282349 */
    283350
     
    289356 *  Examples structures include the descriptor tables from the i386
    290357 *  and the processor control structure on the i960ca.
     358 *
     359 *  NO_CPU Specific Information:
     360 *
     361 *  XXX document implementation including references if appropriate
    291362 */
    292363
     
    326397 *  this is enough information for RTEMS, it is probably not enough for
    327398 *  a debugger such as gdb.  But that is another problem.
     399 *
     400 *  NO_CPU Specific Information:
     401 *
     402 *  XXX document implementation including references if appropriate
    328403 */
    329404
     
    345420 *  The following table contains the information required to configure
    346421 *  the XXX processor specific parameters.
     422 *
     423 *  NO_CPU Specific Information:
     424 *
     425 *  XXX document implementation including references if appropriate
    347426 */
    348427
     
    365444 *  Macros to access required entires in the CPU Table are in
    366445 *  the file rtems/system.h.
     446 *
     447 *  NO_CPU Specific Information:
     448 *
     449 *  XXX document implementation including references if appropriate
    367450 */
    368451
    369452/*
    370453 *  Macros to access NO_CPU specific additions to the CPU Table
     454 *
     455 *  NO_CPU Specific Information:
     456 *
     457 *  XXX document implementation including references if appropriate
    371458 */
    372459
     
    378465 *  _CPU_Initialize and copied into the task's FP context area during
    379466 *  _CPU_Context_Initialize.
     467 *
     468 *  NO_CPU Specific Information:
     469 *
     470 *  XXX document implementation including references if appropriate
    380471 */
    381472
     
    393484 *  NOTE: These two variables are required if the macro
    394485 *        CPU_HAS_SOFTWARE_INTERRUPT_STACK is defined as TRUE.
     486 *
     487 *  NO_CPU Specific Information:
     488 *
     489 *  XXX document implementation including references if appropriate
    395490 */
    396491
     
    406501 *  can make it easier to invoke that routine at the end of the interrupt
    407502 *  sequence (if a dispatch is necessary).
     503 *
     504 *  NO_CPU Specific Information:
     505 *
     506 *  XXX document implementation including references if appropriate
    408507 */
    409508
     
    412511/*
    413512 *  Nothing prevents the porter from declaring more CPU specific variables.
     513 *
     514 *  NO_CPU Specific Information:
     515 *
     516 *  XXX document implementation including references if appropriate
    414517 */
    415518
     
    421524 *  area is not defined -- only the size is.  This is usually on
    422525 *  CPUs with a "floating point save context" instruction.
     526 *
     527 *  NO_CPU Specific Information:
     528 *
     529 *  XXX document implementation including references if appropriate
    423530 */
    424531
     
    429536 *  MPCI receive server thread.  Remember that in a multiprocessor
    430537 *  system this thread must exist and be able to process all directives.
     538 *
     539 *  NO_CPU Specific Information:
     540 *
     541 *  XXX document implementation including references if appropriate
    431542 */
    432543
     
    436547 *  This defines the number of entries in the ISR_Vector_table managed
    437548 *  by RTEMS.
     549 *
     550 *  NO_CPU Specific Information:
     551 *
     552 *  XXX document implementation including references if appropriate
    438553 */
    439554
     
    444559 *  Should be large enough to run all RTEMS tests.  This insures
    445560 *  that a "reasonable" small application should not have any problems.
     561 *
     562 *  NO_CPU Specific Information:
     563 *
     564 *  XXX document implementation including references if appropriate
    446565 */
    447566
     
    451570 *  CPU's worst alignment requirement for data types on a byte boundary.  This
    452571 *  alignment does not take into account the requirements for the stack.
     572 *
     573 *  NO_CPU Specific Information:
     574 *
     575 *  XXX document implementation including references if appropriate
    453576 */
    454577
     
    463586 *  then this should be set to CPU_ALIGNMENT.
    464587 *
    465  *  NOTE:  This does not have to be a power of 2.  It does have to
    466  *         be greater or equal to than CPU_ALIGNMENT.
     588 *  NOTE:  This does not have to be a power of 2 although it should be
     589 *         a multiple of 2 greater than or equal to 2.  The requirement
     590 *         to be a multiple of 2 is because the heap uses the least
     591 *         significant field of the front and back flags to indicate
     592 *         that a block is in use or free.  So you do not want any odd
     593 *         length blocks really putting length data in that bit.
     594 *
     595 *         On byte oriented architectures, CPU_HEAP_ALIGNMENT normally will
     596 *         have to be greater or equal to than CPU_ALIGNMENT to ensure that
     597 *         elements allocated from the heap meet all restrictions.
     598 *
     599 *  NO_CPU Specific Information:
     600 *
     601 *  XXX document implementation including references if appropriate
    467602 */
    468603
     
    479614 *  NOTE:  This does not have to be a power of 2.  It does have to
    480615 *         be greater or equal to than CPU_ALIGNMENT.
     616 *
     617 *  NO_CPU Specific Information:
     618 *
     619 *  XXX document implementation including references if appropriate
    481620 */
    482621
     
    490629 *
    491630 *  NOTE:  This must be a power of 2 either 0 or greater than CPU_ALIGNMENT.
     631 *
     632 *  NO_CPU Specific Information:
     633 *
     634 *  XXX document implementation including references if appropriate
    492635 */
    493636
     
    499642 *  Disable all interrupts for an RTEMS critical section.  The previous
    500643 *  level is returned in _level.
     644 *
     645 *  NO_CPU Specific Information:
     646 *
     647 *  XXX document implementation including references if appropriate
    501648 */
    502649
     
    510657 *  This indicates the end of an RTEMS critical section.  The parameter
    511658 *  _level is not modified.
     659 *
     660 *  NO_CPU Specific Information:
     661 *
     662 *  XXX document implementation including references if appropriate
    512663 */
    513664
     
    521672 *  sections into two or more parts.  The parameter _level is not
    522673 * modified.
     674 *
     675 *  NO_CPU Specific Information:
     676 *
     677 *  XXX document implementation including references if appropriate
    523678 */
    524679
     
    538693 *
    539694 *  The get routine usually must be implemented as a subroutine.
     695 *
     696 *  NO_CPU Specific Information:
     697 *
     698 *  XXX document implementation including references if appropriate
    540699 */
    541700
     
    569728 *        FPU may be easily disabled by software such as on the SPARC
    570729 *        where the PSR contains an enable FPU bit.
     730 *
     731 *  NO_CPU Specific Information:
     732 *
     733 *  XXX document implementation including references if appropriate
    571734 */
    572735
     
    584747 *  not work if restarting self conflicts with the stack frame
    585748 *  assumptions of restoring a context.
     749 *
     750 *  NO_CPU Specific Information:
     751 *
     752 *  XXX document implementation including references if appropriate
    586753 */
    587754
     
    601768 *  a "dump context" instruction which could fill in from high to low
    602769 *  or low to high based on the whim of the CPU designers.
     770 *
     771 *  NO_CPU Specific Information:
     772 *
     773 *  XXX document implementation including references if appropriate
    603774 */
    604775
     
    616787 *  Other models include (1) not doing anything, and (2) putting
    617788 *  a "null FP status word" in the correct place in the FP context.
     789 *
     790 *  NO_CPU Specific Information:
     791 *
     792 *  XXX document implementation including references if appropriate
    618793 */
    619794
     
    631806 *  location or a register, optionally disables interrupts, and
    632807 *  halts/stops the CPU.
     808 *
     809 *  NO_CPU Specific Information:
     810 *
     811 *  XXX document implementation including references if appropriate
    633812 */
    634813
     
    694873 *    where bit_set_table[ 16 ] has values which indicate the first
    695874 *      bit set
     875 *
     876 *  NO_CPU Specific Information:
     877 *
     878 *  XXX document implementation including references if appropriate
    696879 */
    697880
     
    714897 *  as searched by _CPU_Bitfield_Find_first_bit().  See the discussion
    715898 *  for that routine.
     899 *
     900 *  NO_CPU Specific Information:
     901 *
     902 *  XXX document implementation including references if appropriate
    716903 */
    717904
     
    728915 *  a major or minor component of a priority.  See the discussion
    729916 *  for that routine.
     917 *
     918 *  NO_CPU Specific Information:
     919 *
     920 *  XXX document implementation including references if appropriate
    730921 */
    731922
     
    745936 *
    746937 *  This routine performs CPU dependent initialization.
     938 *
     939 *  NO_CPU Specific Information:
     940 *
     941 *  XXX document implementation including references if appropriate
    747942 */
    748943
     
    757952 *  This routine installs a "raw" interrupt handler directly into the
    758953 *  processor's vector table.
     954 *
     955 *  NO_CPU Specific Information:
     956 *
     957 *  XXX document implementation including references if appropriate
    759958 */
    760959 
     
    769968 *
    770969 *  This routine installs an interrupt vector.
     970 *
     971 *  NO_CPU Specific Information:
     972 *
     973 *  XXX document implementation including references if appropriate
    771974 */
    772975
     
    784987 *  NOTE:  It need only be provided if CPU_HAS_HARDWARE_INTERRUPT_STACK
    785988 *         is TRUE.
     989 *
     990 *  NO_CPU Specific Information:
     991 *
     992 *  XXX document implementation including references if appropriate
    786993 */
    787994
     
    7951002 *  NOTE:  It need only be provided if CPU_PROVIDES_IDLE_THREAD_BODY
    7961003 *         is TRUE.
     1004 *
     1005 *  NO_CPU Specific Information:
     1006 *
     1007 *  XXX document implementation including references if appropriate
    7971008 */
    7981009
     
    8031014 *
    8041015 *  This routine switches from the run context to the heir context.
     1016 *
     1017 *  NO_CPU Specific Information:
     1018 *
     1019 *  XXX document implementation including references if appropriate
    8051020 */
    8061021
     
    8171032 *
    8181033 *  NOTE: May be unnecessary to reload some registers.
     1034 *
     1035 *  NO_CPU Specific Information:
     1036 *
     1037 *  XXX document implementation including references if appropriate
    8191038 */
    8201039
     
    8271046 *
    8281047 *  This routine saves the floating point context passed to it.
     1048 *
     1049 *  NO_CPU Specific Information:
     1050 *
     1051 *  XXX document implementation including references if appropriate
    8291052 */
    8301053
     
    8371060 *
    8381061 *  This routine restores the floating point context passed to it.
     1062 *
     1063 *  NO_CPU Specific Information:
     1064 *
     1065 *  XXX document implementation including references if appropriate
    8391066 */
    8401067
     
    8611088 *  endianness for ALL fetches -- both code and data -- so the code
    8621089 *  will be fetched incorrectly.
     1090 *
     1091 *  NO_CPU Specific Information:
     1092 *
     1093 *  XXX document implementation including references if appropriate
    8631094 */
    8641095 
  • c/src/exec/score/cpu/no_cpu/rtems/score/no_cpu.h

    r0ab65474 rdf49c60  
    11/*  no_cpu.h
    22 *
    3  *  This file is an example (i.e. "no CPU") of the file which is
     3 *  This file is an example (i.e. no CPU) of the file which is
    44 *  created for each CPU family port of RTEMS.
    55 *
     
    2525/*
    2626 *  This file contains the information required to build
    27  *  RTEMS for a particular member of the "no cpu"
    28  *  family when executing in protected mode.  It does
    29  *  this by setting variables to indicate which implementation
    30  *  dependent features are present in a particular member
    31  *  of the family.
     27 *  RTEMS for a particular member of the no CPU family.
     28 *  It does this by setting variables to indicate which
     29 *  implementation dependent features are present in a particular
     30 *  member of the family.
     31 *
     32 *  This is a good place to list all the known CPU models
     33 *  that this port supports and which RTEMS CPU model they correspond
     34 *  to.
    3235 */
    3336 
    34 #if defined(no_cpu)
     37#if defined(rtems_multilib)
     38/*
     39 *  Figure out all CPU Model Feature Flags based upon compiler
     40 *  predefines.
     41 */
     42
     43#define CPU_MODEL_NAME  "rtems_multilib"
     44#define NOCPU_HAS_FPU     1
     45
     46#elif defined(no_cpu)
    3547 
    36 #define CPU_MODEL_NAME  "no_cpu"
     48#define CPU_MODEL_NAME  "no_cpu_model"
    3749#define NOCPU_HAS_FPU     1
    3850 
  • c/src/exec/score/cpu/powerpc/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
  • c/src/exec/score/cpu/powerpc/new_exception_processing/Makefile.am

    r0ab65474 rdf49c60  
    1010ROOT_H_FILES =
    1111RTEMS_SCORE_H_FILES = cpu.h c_isr.inl
    12 noinst_HEADERS =  $(ROOT_H_FILES) $(RTEMS_SCORE_H_FILES)
     12noinst_HEADERS = $(ROOT_H_FILES) $(RTEMS_SCORE_H_FILES)
    1313
    1414S_FILES = cpu_asm.S
     
    2222#
    2323
    24 PREINSTALL_FILES = \
    25 $(PROJECT_INCLUDE) \
    26 $(PROJECT_INCLUDE)/rtems/score \
    27 $(ROOT_H_FILES:%=$(PROJECT_INCLUDE)/%) \
    28 $(RTEMS_SCORE_H_FILES:%=$(PROJECT_INCLUDE)/rtems/score/%)
     24PREINSTALL_FILES += $(PROJECT_INCLUDE) $(PROJECT_INCLUDE)/rtems/score \
     25    $(ROOT_H_FILES:%=$(PROJECT_INCLUDE)/%) \
     26    $(RTEMS_SCORE_H_FILES:%=$(PROJECT_INCLUDE)/rtems/score/%)
    2927
    3028##TMPINSTALL_FILES += \
     
    5654all-local: $(TMPINSTALL_FILES)
    5755
    58 clean-local:
    59         $(RM) -r ../o-optimize ../o-debug ../o-profile
     56CLEANDIRS = ../o-optimize ../o-debug ../o-profile
    6057
    61 EXTRA_DIST = \
    62 $(C_FILES) $(S_FILES)
     58EXTRA_DIST = $(C_FILES) $(S_FILES)
    6359
    6460include $(top_srcdir)/../../../../../../automake/local.am
  • c/src/exec/score/cpu/powerpc/old_exception_processing/Makefile.am

    r0ab65474 rdf49c60  
    2020include $(top_srcdir)/../../../../../../automake/lib.am
    2121
    22 PREINSTALL_FILES = \
    23 $(PROJECT_INCLUDE) \
    24 $(PROJECT_INCLUDE)/rtems/score \
    25 $(ROOT_H_FILES:%=$(PROJECT_INCLUDE)/%) \
    26 $(RTEMS_SCORE_H_FILES:%=$(PROJECT_INCLUDE)/rtems/score/%)
     22PREINSTALL_FILES += $(PROJECT_INCLUDE) $(PROJECT_INCLUDE)/rtems/score \
     23    $(ROOT_H_FILES:%=$(PROJECT_INCLUDE)/%) \
     24    $(RTEMS_SCORE_H_FILES:%=$(PROJECT_INCLUDE)/rtems/score/%)
    2725
    28 TMPINSTALL_FILES += \
    29 $(PROJECT_RELEASE)/lib/rtems$(LIB_VARIANT).o
     26TMPINSTALL_FILES += $(PROJECT_RELEASE)/lib/rtems$(LIB_VARIANT).o
    3027
    3128$(PROJECT_RELEASE)/lib/rtems$(LIB_VARIANT).o: $(ARCH)/rtems.o
     
    5047        $(make-rel)
    5148
    52 all-local: $(ARCH) $(PREINSTALL_FILES) $(REL)
    53 all-local: $(ARCH)/rtems.o
    54 all-local: $(TMPINSTALL_FILES)
     49all-local: $(ARCH) $(PREINSTALL_FILES) $(REL) $(ARCH)/rtems.o $(TMPINSTALL_FILES)
    5550
    56 clean-local:
    57         $(RM) -r ../o-optimize ../o-debug ../o-profile
     51CLEANDIRS = ../o-optimize ../o-debug ../o-profile
    5852
    5953UNUSED_FILES = irq_stub.S
    6054
    61 EXTRA_DIST = \
    62 TODO \
    63 rtems.S \
    64 $(C_FILES) $(S_FILES) $(UNUSED_FILES)
     55EXTRA_DIST = TODO rtems.S $(C_FILES) $(S_FILES) $(UNUSED_FILES)
    6556
    6657include $(top_srcdir)/../../../../../../automake/local.am
  • c/src/exec/score/cpu/powerpc/old_exception_processing/irq_stub.S

    r0ab65474 rdf49c60  
    5656        addi    r11,r11,_CPU_IRQ_info@l
    5757#endif
     58#if ( PPC_USE_DATA_CACHE )
    5859        dcbt    r0, r11
     60#endif
    5961        stw     r5, IP_CR(r1)
    6062        stw     r6, IP_CTR(r1)
  • c/src/exec/score/cpu/powerpc/rtems/score/ppc.h

    r0ab65474 rdf49c60  
    9595#define PPC_LOW_POWER_MODE_STANDARD  1
    9696
    97 #if defined(ppc403)
     97#if defined(rtems_multilib)
     98/*
     99 *  Figure out all CPU Model Feature Flags based upon compiler
     100 *  predefines.
     101 */
     102
     103#define CPU_MODEL_NAME           "rtems_multilib"
     104#define PPC_ALIGNMENT            4 
     105#define PPC_CACHE_ALIGNMENT      16
     106#define PPC_HAS_RFCI             1
     107#define PPC_HAS_FPU              0
     108#define PPC_USE_MULTIPLE         1
     109#define PPC_I_CACHE              2048
     110#define PPC_D_CACHE              1024
     111#define PPC_DEBUG_MODEL          PPC_DEBUG_MODEL_STANDARD
     112#define PPC_HAS_EXCEPTION_PREFIX 0
     113#define PPC_HAS_EVPR             0
     114#define PPC_INTERRUPT_MAX        16
     115#define PPC_LOW_POWER_MODE       PPC_LOW_POWER_MODE_STANDARD
     116#define PPC_HAS_DOUBLE           0
     117
     118#elif defined(ppc403)
    98119/*
    99120 *  IBM 403
     
    130151#define PPC_CACHE_ALIGNMENT     16
    131152#define PPC_I_CACHE             4096
    132 #define PPC_I_CACHE             0
     153#define PPC_D_CACHE             0
    133154
    134155
     
    282303#define PPC_ABI_EABI            3
    283304
     305/*
     306 *  Default to the EABI used by current GNU tools
     307 */
     308
     309#ifndef PPC_ABI
     310#define PPC_ABI PPC_ABI_EABI
     311#endif
     312
    284313#if (PPC_ABI == PPC_ABI_POWEROPEN)
    285314#define PPC_STACK_ALIGNMENT     8
     
    309338#define PPC_ASM_ELF   0
    310339#define PPC_ASM_XCOFF 1
     340
     341/*
     342 *  Default to the assembler format used by the current GNU tools.
     343 */
     344
     345#ifndef PPC_ASM
     346#define PPC_ASM PPC_ASM_ELF
     347#endif
    311348
    312349/*
     
    450487#define PPC_IRQ_WATCHDOG (PPC_STD_IRQ_LAST+3) /*0x01020- Watchdog timer    */
    451488#define PPC_IRQ_DEBUG    (PPC_STD_IRQ_LAST+4) /*0x02000- Debug exceptions  */
    452 #define PPC_IRQ_LAST     PPC_IRQ_DEBUG   
     489#define PPC_IRQ_LAST     PPC_IRQ_DEBUG
     490
     491#elif defined(mpc505) || defined(mpc509)
     492#define PPC_IRQ_SOFTEMU   (PPC_STD_IRQ_LAST+1)    /* Software emulation. */
     493#define PPC_IRQ_DATA_BP   (PPC_STD_IRQ_LAST+ 2)
     494#define PPC_IRQ_INST_BP   (PPC_STD_IRQ_LAST+ 3)
     495#define PPC_IRQ_MEXT_BP   (PPC_STD_IRQ_LAST+ 4)
     496#define PPC_IRQ_NMEXT_BP  (PPC_STD_IRQ_LAST+ 5)
    453497
    454498#elif defined(ppc601)
  • c/src/exec/score/cpu/powerpc/shared/Makefile.am

    r0ab65474 rdf49c60  
    1313#
    1414
    15 PREINSTALL_FILES = \
    16 $(PROJECT_INCLUDE) \
    17 $(PROJECT_INCLUDE)/rtems/score \
    18 $(ROOT_H_FILES:%.h=$(PROJECT_INCLUDE)/%.h) \
    19 $(RTEMS_SCORE_H_FILES:%.h=$(PROJECT_INCLUDE)/rtems/score/%.h)
     15PREINSTALL_FILES += $(PROJECT_INCLUDE) $(PROJECT_INCLUDE)/rtems/score \
     16    $(ROOT_H_FILES:%.h=$(PROJECT_INCLUDE)/%.h) \
     17    $(RTEMS_SCORE_H_FILES:%.h=$(PROJECT_INCLUDE)/rtems/score/%.h)
    2018
    2119$(PROJECT_INCLUDE):
  • c/src/exec/score/cpu/powerpc/shared/ppc.h

    r0ab65474 rdf49c60  
    9595#define PPC_LOW_POWER_MODE_STANDARD  1
    9696
    97 #if defined(ppc403)
     97#if defined(rtems_multilib)
     98/*
     99 *  Figure out all CPU Model Feature Flags based upon compiler
     100 *  predefines.
     101 */
     102
     103#define CPU_MODEL_NAME           "rtems_multilib"
     104#define PPC_ALIGNMENT            4 
     105#define PPC_CACHE_ALIGNMENT      16
     106#define PPC_HAS_RFCI             1
     107#define PPC_HAS_FPU              0
     108#define PPC_USE_MULTIPLE         1
     109#define PPC_I_CACHE              2048
     110#define PPC_D_CACHE              1024
     111#define PPC_DEBUG_MODEL          PPC_DEBUG_MODEL_STANDARD
     112#define PPC_HAS_EXCEPTION_PREFIX 0
     113#define PPC_HAS_EVPR             0
     114#define PPC_INTERRUPT_MAX        16
     115#define PPC_LOW_POWER_MODE       PPC_LOW_POWER_MODE_STANDARD
     116#define PPC_HAS_DOUBLE           0
     117
     118#elif defined(ppc403)
    98119/*
    99120 *  IBM 403
     
    130151#define PPC_CACHE_ALIGNMENT     16
    131152#define PPC_I_CACHE             4096
    132 #define PPC_I_CACHE             0
     153#define PPC_D_CACHE             0
    133154
    134155
     
    282303#define PPC_ABI_EABI            3
    283304
     305/*
     306 *  Default to the EABI used by current GNU tools
     307 */
     308
     309#ifndef PPC_ABI
     310#define PPC_ABI PPC_ABI_EABI
     311#endif
     312
    284313#if (PPC_ABI == PPC_ABI_POWEROPEN)
    285314#define PPC_STACK_ALIGNMENT     8
     
    309338#define PPC_ASM_ELF   0
    310339#define PPC_ASM_XCOFF 1
     340
     341/*
     342 *  Default to the assembler format used by the current GNU tools.
     343 */
     344
     345#ifndef PPC_ASM
     346#define PPC_ASM PPC_ASM_ELF
     347#endif
    311348
    312349/*
     
    450487#define PPC_IRQ_WATCHDOG (PPC_STD_IRQ_LAST+3) /*0x01020- Watchdog timer    */
    451488#define PPC_IRQ_DEBUG    (PPC_STD_IRQ_LAST+4) /*0x02000- Debug exceptions  */
    452 #define PPC_IRQ_LAST     PPC_IRQ_DEBUG   
     489#define PPC_IRQ_LAST     PPC_IRQ_DEBUG
     490
     491#elif defined(mpc505) || defined(mpc509)
     492#define PPC_IRQ_SOFTEMU   (PPC_STD_IRQ_LAST+1)    /* Software emulation. */
     493#define PPC_IRQ_DATA_BP   (PPC_STD_IRQ_LAST+ 2)
     494#define PPC_IRQ_INST_BP   (PPC_STD_IRQ_LAST+ 3)
     495#define PPC_IRQ_MEXT_BP   (PPC_STD_IRQ_LAST+ 4)
     496#define PPC_IRQ_NMEXT_BP  (PPC_STD_IRQ_LAST+ 5)
    453497
    454498#elif defined(ppc601)
  • c/src/exec/score/cpu/sh/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
     
    3636TMPINSTALL_FILES += $(PROJECT_RELEASE)/lib/rtems$(LIB_VARIANT).o
    3737
    38 all-local: $(ARCH) $(PREINSTALL_FILES) $(rtems_cpu_rel_OBJECTS) $(REL) $(TMPINSTALL_FILES)
     38all-local: $(ARCH) $(PREINSTALL_FILES) $(rtems_cpu_rel_OBJECTS) $(REL) \
     39    $(TMPINSTALL_FILES)
    3940
    4041.PRECIOUS: $(REL)
  • c/src/exec/score/cpu/sh/rtems/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
  • c/src/exec/score/cpu/sh/rtems/score/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
     
    77H_FILES = cpu.h shtypes.h sh.h sh_io.h isp$(RTEMS_CPU_MODEL).h \
    88    io$(RTEMS_CPU_MODEL).h
    9 noinst_HEADERS = \
    10     cpu.h shtypes.h sh.h sh_io.h \
    11     iosh7032.h ispsh7032.h \
     9noinst_HEADERS = cpu.h shtypes.h sh.h sh_io.h iosh7032.h ispsh7032.h \
    1210    iosh7045.h ispsh7045.h
    1311
     
    1614#
    1715
    18 PREINSTALL_FILES = \
    19 $(PROJECT_INCLUDE)/rtems/score \
    20 $(H_FILES:%.h=$(PROJECT_INCLUDE)/rtems/score/%.h)
     16PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score \
     17    $(H_FILES:%.h=$(PROJECT_INCLUDE)/rtems/score/%.h)
    2118
    2219$(PROJECT_INCLUDE)/rtems/score:
  • c/src/exec/score/cpu/sh/rtems/score/sh.h

    r0ab65474 rdf49c60  
    4040 */
    4141 
    42 #if defined(sh7032)
     42#if defined(rtems_multilib)
     43/*
     44 *  Figure out all CPU Model Feature Flags based upon compiler
     45 *  predefines.
     46 */
     47
     48#define CPU_MODEL_NAME  "rtems_multilib"
     49#define SH_HAS_FPU      0
     50#define SH_HAS_SEPARATE_STACKS 1
     51
     52#elif defined(sh7032)
    4353#define CPU_MODEL_NAME  "SH7032"
    4454#define SH_HAS_FPU      0
  • c/src/exec/score/cpu/sparc/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
     
    3939TMPINSTALL_FILES += $(PROJECT_RELEASE)/lib/rtems$(LIB_VARIANT).o
    4040
    41 all-local: $(ARCH) $(PREINSTALL_FILES) $(rtems_cpu_rel_OBJECTS) $(REL) $(TMPINSTALL_FILES)
     41all-local: $(ARCH) $(PREINSTALL_FILES) $(rtems_cpu_rel_OBJECTS) $(REL) \
     42    $(TMPINSTALL_FILES)
    4243
    4344.PRECIOUS: $(REL)
  • c/src/exec/score/cpu/sparc/rtems/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
  • c/src/exec/score/cpu/sparc/rtems/score/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
     
    1212#
    1313
    14 PREINSTALL_FILES = \
    15 $(PROJECT_INCLUDE)/rtems/score \
    16 $(H_FILES:%.h=$(PROJECT_INCLUDE)/rtems/score/%.h)
     14PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score \
     15    $(H_FILES:%.h=$(PROJECT_INCLUDE)/rtems/score/%.h)
    1716
    1817$(PROJECT_INCLUDE)/rtems/score:
  • c/src/exec/score/cpu/sparc/rtems/score/sparc.h

    r0ab65474 rdf49c60  
    5555 */
    5656 
    57 #if defined(erc32)
     57#if defined(rtems_multilib)
     58/*
     59 *  Figure out all CPU Model Feature Flags based upon compiler
     60 *  predefines.
     61 */
     62
     63#define CPU_MODEL_NAME                   "rtems_multilib"
     64#define SPARC_HAS_FPU                    1
     65#define SPARC_HAS_BITSCAN                0
     66#define SPARC_NUMBER_OF_REGISTER_WINDOWS 8
     67#define SPARC_HAS_LOW_POWER_MODE         1
     68
     69#elif defined(erc32)
    5870 
    5971#define CPU_MODEL_NAME                   "erc32"
  • c/src/exec/score/cpu/unix/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
  • c/src/exec/score/cpu/unix/cpu.c

    r0ab65474 rdf49c60  
    4343typedef struct {
    4444  jmp_buf   regs;
    45   int  isr_level;
     45  int       isr_level;
    4646} Context_Control_overlay;
    4747
     
    100100  (void) sigdelset(&_CPU_Signal_mask, SIGTRAP);
    101101  (void) sigdelset(&_CPU_Signal_mask, SIGABRT);
     102#if !defined(__CYGWIN__)
    102103  (void) sigdelset(&_CPU_Signal_mask, SIGIOT);
     104#endif
    103105  (void) sigdelset(&_CPU_Signal_mask, SIGCONT);
    104106  (void) sigdelset(&_CPU_Signal_mask, SIGSEGV);
     
    199201   */
    200202
    201 
     203  if ( sizeof(Context_Control_overlay) < sizeof(Context_Control) )
     204    _CPU_Fatal_halt( 0xdeadfood );
     205 
    202206  (void) memset(
    203207    &_CPU_Context_Default_with_ISRs_enabled,
     
    276280{
    277281  /*
     282   *  If something happened where the public Context_Control is not
     283   *  at least as large as the private Context_Control_overlay, then
     284   *  we are in trouble.
     285   */
     286
     287  if ( sizeof(Context_Control_overlay) > sizeof(Context_Control) )
     288    _CPU_Fatal_error(0x100 + 1);
     289
     290  /*
    278291   *  The thread_dispatch argument is the address of the entry point
    279292   *  for the routine called at the end of an ISR once it has been
     
    483496
    484497  if ( _new_level == 0 )
    485       *_the_context = *(Context_Control *)
    486                          &_CPU_Context_Default_with_ISRs_enabled;
     498      *(Context_Control_overlay *)_the_context =
     499                         _CPU_Context_Default_with_ISRs_enabled;
    487500  else
    488       *_the_context = *(Context_Control *)
    489                          &_CPU_Context_Default_with_ISRs_disabled;
     501      *(Context_Control_overlay *)_the_context =
     502                         _CPU_Context_Default_with_ISRs_disabled;
    490503
    491504  addr = (unsigned32 *)_the_context;
     
    807820      case SIGSEGV:
    808821      case SIGTERM:
     822#if !defined(__CYGWIN__)
    809823      case SIGIOT:
     824#endif
    810825        _CPU_Fatal_error(0x100 + sig_num);
    811826  }
  • c/src/exec/score/cpu/unix/rtems/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
  • c/src/exec/score/cpu/unix/rtems/score/Makefile.am

    r0ab65474 rdf49c60  
    1 ## 
     1##
    22## $Id$
    3 ## 
     3##
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
     
    2121CLEANFILES = unixsize.h
    2222
    23 PREINSTALL_FILES = \
    24 $(PROJECT_INCLUDE)/rtems/score \
    25 $(STATIC_H_FILES:%.h=$(PROJECT_INCLUDE)/rtems/score/%.h) \
    26 $(GENERIC_H_FILES:%.h=$(PROJECT_INCLUDE)/rtems/score/%.h)
     23PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score \
     24    $(STATIC_H_FILES:%.h=$(PROJECT_INCLUDE)/rtems/score/%.h) \
     25    $(GENERIC_H_FILES:%.h=$(PROJECT_INCLUDE)/rtems/score/%.h)
    2726
    2827$(PROJECT_INCLUDE)/rtems/score:
  • c/src/exec/score/cpu/unix/rtems/score/cpu.h

    r0ab65474 rdf49c60  
    379379 
    380380/*
    381  *  For Linux 1.1
     381 *  For i386 targets
    382382 */
    383383 
     
    390390#define ESI_OFF    4
    391391#define EDI_OFF    5
     392#elif defined(__CYGWIN__)
     393#define EAX_OFF    0
     394#define EBX_OFF    1
     395#define ECX_OFF    2
     396#define EDX_OFF    3
     397#define ESI_OFF    4
     398#define EDI_OFF    5
     399#define EBP_OFF    6
     400#define ESP_OFF    7
     401#define RET_OFF    8
    392402#else
     403/* Linux */
    393404#define EBX_OFF    0
    394405#define ESI_OFF    1
  • c/src/exec/score/cpu/unix/rtems/score/unix.h

    r0ab65474 rdf49c60  
    3030 */
    3131 
    32 #if defined(hpux)
     32#if defined(rtems_multilib)
     33/*
     34 *  Figure out all CPU Model Feature Flags based upon compiler
     35 *  predefines.
     36 */
     37
     38#define CPU_MODEL_NAME  "rtems_multilib"
     39 
     40#elif defined(hpux)
    3341 
    3442#define CPU_MODEL_NAME  "HP-UX"
     
    3846#define CPU_MODEL_NAME  "Solaris"
    3947 
    40 #elif defined(__linux__)
     48#elif defined(__linux__) || defined(linux)
    4149 
    4250#define CPU_MODEL_NAME  "Linux"
    4351 
    44 #elif defined(linux)
     52#elif defined(__CYGWIN__)
    4553 
    46 #define CPU_MODEL_NAME  "Linux"
     54#define CPU_MODEL_NAME  "Cygwin"
    4755 
    4856#elif defined(__FreeBSD__)
  • c/src/exec/score/include/rtems/Makefile.am

    r0ab65474 rdf49c60  
    99noinst_HEADERS = $(H_FILES)
    1010
    11 PREINSTALL_FILES = \
    12 $(PROJECT_INCLUDE)/rtems \
    13 $(noinst_HEADERS:%=$(PROJECT_INCLUDE)/rtems/%)
     11PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems \
     12    $(noinst_HEADERS:%=$(PROJECT_INCLUDE)/rtems/%)
    1413
    1514$(PROJECT_INCLUDE)/rtems:
     
    1817        $(INSTALL_DATA) $< $@
    1918
    20 all-am: $(PREINSTALL_FILES)
    21 debug-am: $(PREINSTALL_FILES)
    22 profile-am: $(PREINSTALL_FILES)
     19all-local: $(PREINSTALL_FILES)
    2320
    2421SUBDIRS = score
  • c/src/exec/score/include/rtems/score/Makefile.am

    r0ab65474 rdf49c60  
    1212
    1313# H_FILES that get installed in the rtems/score subdirectoy
    14 STD_H_FILES = address.h apiext.h bitfield.h chain.h context.h copyrt.h coremsg.h \
    15     coremutex.h coresem.h heap.h interr.h isr.h object.h priority.h stack.h \
    16     states.h sysstate.h thread.h threadq.h tod.h tqdata.h userext.h \
    17     watchdog.h wkspace.h
     14STD_H_FILES = address.h apiext.h bitfield.h chain.h context.h copyrt.h \
     15    coremsg.h coremutex.h coresem.h heap.h interr.h isr.h object.h \
     16    priority.h stack.h states.h sysstate.h thread.h threadq.h tod.h tqdata.h \
     17    userext.h watchdog.h wkspace.h
    1818TARGOPTS = targopts.h
    1919
     
    2424endif
    2525
    26 PREINSTALL_FILES = \
    27 $(PROJECT_INCLUDE)/rtems/score \
    28 $(H_FILES:%=$(PROJECT_INCLUDE)/rtems/score/%)
     26PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score \
     27    $(H_FILES:%=$(PROJECT_INCLUDE)/rtems/score/%)
    2928
    3029$(PROJECT_INCLUDE)/rtems/score:
     
    4645
    4746# make the target dependent options file
    48 $(TARGOPTS): 
     47$(TARGOPTS):
    4948        @echo "/* target board dependent options file */"       >$@
    5049        @echo "/* automatically generated -- DO NOT EDIT!! */" >>$@
     
    9089        @echo "#endif"                                         >>$@
    9190
    92 all: $(PREINSTALL_FILES)
     91all-local: $(PREINSTALL_FILES)
    9392
    9493EXTRA_DIST = $(STD_H_FILES) $(MP_H_FILES)
  • c/src/exec/score/include/rtems/score/thread.h

    r0ab65474 rdf49c60  
    9595  struct rtems_task_variable_tt  *next;
    9696  void                          **ptr;
    97   void                           *var;
     97  void                           *gval;
     98  void                           *tval;
    9899  void                          (*dtor)(void *);
    99100};
  • c/src/exec/score/include/rtems/system.h

    r0ab65474 rdf49c60  
    188188
    189189/*
    190  *  XXX weird RTEMS stuff
    191  */
    192 
    193 #define RTEMS_MAXIMUM_NAME_LENGTH 4
     190 *  XXX weird RTEMS stuff that probably should be somewhere else.
     191 */
     192
     193#define RTEMS_MAXIMUM_NAME_LENGTH sizeof(rtems_name)
    194194
    195195#ifdef __cplusplus
  • c/src/exec/score/inline/rtems/score/Makefile.am

    r0ab65474 rdf49c60  
    2222
    2323if INLINE
    24 PREINSTALL_FILES = \
    25 $(PROJECT_INCLUDE)/rtems/score \
    26 $(I_FILES:%=$(PROJECT_INCLUDE)/rtems/score/%)
     24PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score \
     25    $(I_FILES:%=$(PROJECT_INCLUDE)/rtems/score/%)
    2726
    2827$(PROJECT_INCLUDE)/rtems/score:
     
    3231endif
    3332
    34 all-am: $(PREINSTALL_FILES)
    35 debug-am: $(PREINSTALL_FILES)
    36 profile-am: $(PREINSTALL_FILES)
     33all-local: $(PREINSTALL_FILES)
    3734
    3835include $(top_srcdir)/../../../automake/local.am
  • c/src/exec/score/macros/rtems/score/Makefile.am

    r0ab65474 rdf49c60  
    88MP_I_FILES = mppkt.inl objectmp.inl threadmp.inl
    99
    10 STD_I_FILES = address.inl chain.inl coremsg.inl coremutex.inl coresem.inl heap.inl \
    11     isr.inl object.inl priority.inl stack.inl states.inl sysstate.inl \
    12     thread.inl tod.inl tqdata.inl userext.inl watchdog.inl wkspace.inl
     10STD_I_FILES = address.inl chain.inl coremsg.inl coremutex.inl coresem.inl \
     11    heap.inl isr.inl object.inl priority.inl stack.inl states.inl \
     12    sysstate.inl thread.inl tod.inl tqdata.inl userext.inl watchdog.inl \
     13    wkspace.inl
    1314
    1415noinst_HEADERS = $(STD_I_FILES) $(MP_I_FILES)
     
    2122endif
    2223
    23 PREINSTALL_FILES = \
    24 $(PROJECT_INCLUDE)/rtems/score \
    25 $(I_FILES:%=$(PROJECT_INCLUDE)/rtems/score%)
     24PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score \
     25    $(I_FILES:%=$(PROJECT_INCLUDE)/rtems/score%)
    2626
    2727$(PROJECT_INCLUDE)/rtems/score:
     
    3131endif
    3232
    33 all-am: $(PREINSTALL_FILES)
    34 debug-am: $(PREINSTALL_FILES)
    35 profile-am: $(PREINSTALL_FILES)
     33all-local: $(PREINSTALL_FILES)
    3634
    3735include $(top_srcdir)/../../../automake/local.am
  • c/src/exec/score/macros/rtems/score/address.inl

    r0ab65474 rdf49c60  
    5353
    5454#define _Addresses_Is_aligned( _address ) \
    55     ( ( (unsigned32)(_address) % 4 ) == 0 )
     55    ( ( (unsigned32)(_address) % CPU_ALIGNMENT ) == 0 )
    5656
    5757/*PAGE
  • c/src/exec/score/src/Makefile.am

    r0ab65474 rdf49c60  
    7272
    7373AM_CPPFLAGS += -D__RTEMS_INSIDE__
    74 AM_CFLAGS += $(CFLAGS_OS_V)
    7574
    76 all: ${ARCH} ${OBJS}
     75all-local: ${ARCH} ${OBJS}
    7776
    7877EXTRA_DIST = $(STD_C_FILES) $(MP_C_FILES) Unlimited.txt
  • c/src/exec/score/src/objectcopynamestring.c

    r0ab65474 rdf49c60  
    4040  unsigned8 *destination_p = (unsigned8 *) destination;
    4141 
    42   do {
    43     *destination_p++ = *source_p;
    44   } while ( *source_p++ );
     42  *destination_p = '\0';
     43  if ( source_p ) {
     44    do {
     45      *destination_p++ = *source_p;
     46    } while ( *source_p++ );
     47  }
    4548}
Note: See TracChangeset for help on using the changeset viewer.