Changeset 0e5b446 in rtems


Ignore:
Timestamp:
Oct 28, 2008, 8:03:19 PM (12 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 5, master
Children:
55448eb
Parents:
d6223f8
Message:

2008-10-28 Joel Sherrill <joel.sherrill@…>

  • Makefile.am, preinstall.am, rtems/score/cpu.h: Now performs context switches and many tests run.
  • context_init.c, context_switch.S, cpu.c, cpu_asm.c: New files.
Location:
cpukit/score/cpu/m32r
Files:
4 added
4 edited

Legend:

Unmodified
Added
Removed
  • cpukit/score/cpu/m32r/ChangeLog

    rd6223f8 r0e5b446  
     12008-10-28      Joel Sherrill <joel.sherrill@oarcorp.com>
     2
     3        * Makefile.am, preinstall.am, rtems/score/cpu.h: Now performs context
     4        switches and many tests run.
     5        * context_init.c, context_switch.S, cpu.c, cpu_asm.c: New files.
     6
    172008-10-02      Joel Sherrill <joel.sherrill@oarcorp.com>
    28
  • cpukit/score/cpu/m32r/Makefile.am

    rd6223f8 r0e5b446  
    44
    55include $(top_srcdir)/automake/compile.am
     6
     7include_HEADERS =
    68
    79include_rtemsdir = $(includedir)/rtems
     
    1315
    1416noinst_LIBRARIES = libscorecpu.a
    15 # for now just use the stubs
    16 libscorecpu_a_SOURCES = ../no_cpu/cpu.c ../no_cpu/cpu_asm.c
     17libscorecpu_a_SOURCES = cpu.c cpu_asm.c context_switch.S context_init.c
    1718libscorecpu_a_CPPFLAGS = $(AM_CPPFLAGS)
    1819
  • cpukit/score/cpu/m32r/preinstall.am

    rd6223f8 r0e5b446  
    1313PREINSTALL_FILES =
    1414CLEANFILES = $(PREINSTALL_FILES)
     15
     16$(PROJECT_INCLUDE)/$(dirstamp):
     17        @$(MKDIR_P) $(PROJECT_INCLUDE)
     18        @: > $(PROJECT_INCLUDE)/$(dirstamp)
     19PREINSTALL_DIRS += $(PROJECT_INCLUDE)/$(dirstamp)
    1520
    1621$(PROJECT_INCLUDE)/rtems/$(dirstamp):
  • cpukit/score/cpu/m32r/rtems/score/cpu.h

    rd6223f8 r0e5b446  
    189189 *  the answer is TRUE.
    190190 *
    191  *  The macro name "NO_CPU_HAS_FPU" should be made CPU specific.
     191 *  The macro name "M32R_HAS_FPU" should be made CPU specific.
    192192 *  It indicates whether or not this CPU model has FP support.  For
    193193 *  example, it would be possible to have an i386_nofp CPU model
     
    213213 *  XXX document implementation including references if appropriate
    214214 */
    215 #if ( NO_CPU_HAS_FPU == 1 )
     215#if ( M32R_HAS_FPU == 1 )
    216216#define CPU_HARDWARE_FP     TRUE
    217217#else
     
    318318 *  XXX document implementation including references if appropriate
    319319 */
    320 #define CPU_PROVIDES_IDLE_THREAD_BODY    TRUE
     320#define CPU_PROVIDES_IDLE_THREAD_BODY    FALSE
    321321
    322322/**
     
    467467 */
    468468typedef struct {
    469     /** This field is a hint that a port will have a number of integer
    470      *  registers that need to be saved at a context switch.
    471      */
    472     uint32_t   some_integer_register;
    473     /** This field is a hint that a port will have a number of system
    474      *  registers that need to be saved at a context switch.
    475      */
    476     uint32_t   some_system_register;
    477 
    478     /** This field is a hint that a port will have a register that
    479      *  is the stack pointer.
    480      */
    481     uint32_t   stack_pointer;
     469  /** r8 -- temporary register */
     470  uint32_t r8;
     471  /** r9 -- temporary register */
     472  uint32_t r9;
     473  /** r10 -- temporary register */
     474  uint32_t r10;
     475  /** r11 -- temporary register */
     476  uint32_t r11;
     477  /** r12 -- may be global pointer */
     478  uint32_t r12;
     479  /** r13 -- frame pointer */
     480  uint32_t r13_fp;
     481  /** r14 -- link register (aka return pointer */
     482  uint32_t r14_lr;
     483  /** r15 -- stack pointer */
     484  uint32_t r15_sp;
     485  /** dsp accumulator low order 32-bits */
     486  uint32_t acc_low;
     487  /** dsp accumulator high order 32-bits */
     488  uint32_t acc_high;
    482489} Context_Control;
    483490
     
    492499 */
    493500#define _CPU_Context_Get_SP( _context ) \
    494   (_context)->stack_pointer
     501  (_context)->r15_sp
    495502
    496503/**
     
    646653 *  XXX document implementation including references if appropriate
    647654 */
    648 #define CPU_STACK_MINIMUM_SIZE          (1024*4)
     655#define CPU_STACK_MINIMUM_SIZE          (1024)
    649656
    650657/**
     
    849856 *  XXX document implementation including references if appropriate
    850857 */
    851 #define _CPU_Context_Initialize( _the_context, _stack_base, _size, \
    852                                  _isr, _entry_point, _is_fp ) \
    853   { \
    854   }
     858void _CPU_Context_Initialize(
     859  Context_Control  *the_context,
     860  uint32_t         *stack_base,
     861  size_t            size,
     862  uint32_t          new_level,
     863  void             *entry_point,
     864  bool              is_fp
     865);
    855866
    856867/**
     
    869880 *  XXX document implementation including references if appropriate
    870881 */
    871 #define _CPU_Context_Restart_self( _the_context ) \
    872    _CPU_Context_restore( (_the_context) );
     882void _CPU_Context_Restart_self(
     883  Context_Control  *the_context
     884);
    873885
    874886/**
     
    11441156
    11451157/**
    1146  *  This routine is the CPU dependent IDLE thread body.
    1147  *
    1148  *  @note  It need only be provided if @ref CPU_PROVIDES_IDLE_THREAD_BODY
    1149  *         is TRUE.
    1150  *
    1151  *  Port Specific Information:
    1152  *
    1153  *  XXX document implementation including references if appropriate
    1154  */
    1155 void *_CPU_Thread_Idle_body( uint32_t );
    1156 
    1157 /**
    11581158 *  @ingroup CPUContext
    11591159 *  This routine switches from the run context to the heir context.
Note: See TracChangeset for help on using the changeset viewer.