summaryrefslogtreecommitdiffstats
path: root/cpukit/score (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 2005-06-07 Brett Swimley <brett.swimley@aedbozeman.com>Joel Sherrill2005-06-073-6/+11
| | | | | PR 803/patch * rtems/score/cpu.h, rtems/score/m68k.h: Correct definition of _VBR.
* 2005-05-20 Chris Johns <chrisj@rtems.org>Joel Sherrill2005-05-203-2/+6
| | | | * rtems/score/cpu.h, rtems/score/m68k.h: Change declaration of _VBR.
* 2005-05-14 Sergei Organov <osv@topconrd.ru>Joel Sherrill2005-05-209-52/+274
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR 746/rtems Optimize realloc(). The problem is that realloc() can neither grow nor shrink efficiently the current memory region without support from underlying heap/region modules. The patch introduces one new routine for each of heap and region modules, _Heap_Resize_block(), and rtems_region_resize_segment(), respectively, and uses the latter to optimize realloc(). The implementation of _Heap_Resize_block() lead to changing of the heap allocation strategy: now the heap manager, when splits larger free block into used and new free parts, makes the first part of the block used, not the last one as it was before. Due to this new strategy, _Heap_Resize_block() never needs to change the user pointer. Caveat: unlike previous heap implementation, first few bytes of the contents of the memory allocated from the heap are now almost never all zero. This can trigger bugs in client code that have not been visible before this patch. * libcsupport/src/malloc.c (realloc): try to resize segment in place using new rtems_region_resize_segment() routine before falling back to the malloc()/free() method. * score/src/heap.c: (_Heap_Initialize): change initial heap layout to reflect new allocation strategy of using of the lower part of a previously free block when splitting it for the purpose of allocation. (_Heap_Block_allocate): when split, make the lower part used, and leave the upper part free. Return type changed from Heap_Block* to uint32_t. * score/include/rtems/score/heap.h: (Heap_Statistics): added 'resizes' field. (Heap_Resize_status): new enum. (_Heap_Resize_block): new routine. (_Heap_Block_allocate): return type changed from Heap_Block* to uint32_t. * score/src/heapwalk.c: reflect new heap layout in checks. * score/src/heapsizeofuserarea.c: more assertions added. * score/src/heapresizeblock.c: new file. (_Heap_Resize_block): new routine. * score/src/heapfree.c: reverse the checks _Heap_Is_block_in() and _Heap_Is_prev_used() on entry to be in this order. * score/src/heapallocate.c, score/src/heapallocatealigned.c: ignore return value of _Heap_Block_allocate(). * score/Makefile.am (HEAP_C_FILES): added src/heapresizeblock.c. * rtems/include/rtems/rtems/region.h: (rtems_region_resize_segment): new interface routine. (_Region_Process_queue): new internal routine called from rtems_region_resize_segment() and rtems_region_return_segment(). * rtems/src/regionreturnsegment.c: move queue management code into the new internal routine _Region_Process_queue() and call it. * rtems/src/regionresizesegment.c: new file. (rtems_region_resize_segment): new interface routine. * rtems/src/regionprocessqueue.c: new file. (_Region_Process_queue): new internal routine containing queue management code factored out from 'regionreturnsegment.c'. * rtems/Makefile.am (REGION_C_FILES): Added src/regionresizesegment.c, and src/regionprocessqueue.c. * ada/rtems.adb, ada/rtems.ads: Added Region_Resize_Segment.
* 2005-05-06 Jennifer Averett <jennifer.averett@oarcorp.com>Jennifer Averett2005-05-062-0/+5
| | | | * rtems/score/powerpc.h: Removed warning
* 2005-05-04 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2005-05-042-1/+5
| | | | * rtems/score/m68k.h: Change _ColdFire_VBR to _VBR.
* 2005-05-03 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2005-05-033-3/+8
| | | | | * rtems/score/cpu.h: Change definition of _VBR to a simple pointer. * rtems/score/m68k.h: Remove use of _Coldfire_VBR.
* 2005-05-03 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2005-05-032-1/+5
| | | | * cpu.c: Remove warning.
* 2005-04-29 Jennifer Averett <jennifer.averett@oarcorp.com>Jennifer Averett2005-04-291-0/+1
| | | | * score/src/objectidtoname.c: Removed warnings
* 2005-04-28 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2005-04-281-2/+2
| | | | * score/src/objectidtoname.c: Fixed spacing.
* 2005-04-28 Jennifer Averett <jennifer.averett@oarcorp.com>Jennifer Averett2005-04-281-0/+1
| | | | * score/src/objectidtoname.c: Add enable dispatch
* 2005-04-26 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2005-04-262-1/+5
| | | | * rtems/asm.h: Eliminate warnings.
* 2005-04-23 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-04-231-1/+1
| | | | * score/cpu/Makefile.am: Remove or32 (target abandoned).
* Remove (Obsolete).Ralf Corsepius2005-04-2311-2525/+0
|
* 2005-04-23 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-04-231-0/+7
| | | | | | | * rtems/score/types.h, rtems/score/cpu.h, rtems/score/cpu_asm.h, rtems/score/or32.h, rtems/asm.h, Makefile.am, cpu.c, cpu_asm.c, preinstall.am: Remove.
* 2005-02-21 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-02-212-3/+7
| | | | | * rtems/score/powerpc.h: Add "defined(mpc7400) || defined(mpc7450) || defined(mpc7455)" to altivec (gcc-3.2.x compatibility).
* New header guards.Ralf Corsepius2005-02-2142-84/+84
|
* 2005-02-19 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2005-02-201-1/+1
| | | | | PR doc/763 * score/Doxyfile: Fixed path to no_cpu.
* Auto-generated update.Ralf Corsepius2005-02-1914-14/+14
|
* 2005-02-19 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-02-191-0/+4
| | | | * rtems/score/cpu.h: Remove traces from NO_CPU.
* Cosmetics.Ralf Corsepius2005-02-1912-13/+13
|
* 2005-02-19 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-02-197-61/+73
| | | | * rtems/score/cpu.h: Remove traces from NO_CPU.
* (CPU_HARDWARE_FP, CPU_ALL_TASKS_ARE_FP,Ralf Corsepius2005-02-181-0/+49
| | | | CPU_IDLE_TASK_IS_FP, CPU_SOFTWARE_FP): New.
* (CPU_HARDWARE_FP, CPU_ALL_TASKS_ARE_FP,Ralf Corsepius2005-02-182-94/+0
| | | | CPU_IDLE_TASK_IS_FP): Remove.
* 2005-02-18 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-02-181-0/+9
| | | | | | | | | * rtems/new-exceptions/cpu.h (CPU_HARDWARE_FP, CPU_ALL_TASKS_ARE_FP, CPU_IDLE_TASK_IS_FP): Remove. * rtems/old-exceptions/cpu.h (CPU_HARDWARE_FP, CPU_ALL_TASKS_ARE_FP, CPU_IDLE_TASK_IS_FP): Remove. * rtems/score/cpu.h (CPU_HARDWARE_FP, CPU_ALL_TASKS_ARE_FP, CPU_IDLE_TASK_IS_FP, CPU_SOFTWARE_FP): New.
* 2005-02-18 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-02-182-1/+11
| | | | | * rtems/score/cpu.h: Derive CPU_{BIG|LITTLE}_ENDIAN from __BIG_ENDIAN__.
* (CPU_PROVIDES_IDLE_THREAD_BODY, CPU_STACK_GROWS_UP, CPU_STRUCTURE_ALIGNMENT, ↵Ralf Corsepius2005-02-181-0/+66
| | | | CPU_HAS_OWN_HOST_TO_NETWORK_ROUTINES, CPU_BIG_ENDIAN, CPU_LITTLE_ENDIAN): Add.
* (CPU_PROVIDES_IDLE_THREAD_BODY, CPU_STACK_GROWS_UP, CPU_STRUCTURE_ALIGNMENT, ↵Ralf Corsepius2005-02-182-132/+0
| | | | CPU_HAS_OWN_HOST_TO_NETWORK_ROUTINES, CPU_BIG_ENDIAN, CPU_LITTLE_ENDIAN): Remove
* 2005-02-18 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-02-181-0/+15
| | | | | | | | | | | | | | | * rtems/score/cpu.h (CPU_PROVIDES_IDLE_THREAD_BODY, CPU_STACK_GROWS_UP, CPU_STRUCTURE_ALIGNMENT, CPU_HAS_OWN_HOST_TO_NETWORK_ROUTINES, CPU_BIG_ENDIAN, CPU_LITTLE_ENDIAN): Add. * rtems/old-exceptions/cpu.h (CPU_PROVIDES_IDLE_THREAD_BODY, CPU_STACK_GROWS_UP, CPU_STRUCTURE_ALIGNMENT, CPU_HAS_OWN_HOST_TO_NETWORK_ROUTINES, CPU_BIG_ENDIAN, CPU_LITTLE_ENDIAN): Remove. * rtems/new-exceptions/cpu.h (CPU_PROVIDES_IDLE_THREAD_BODY, CPU_STACK_GROWS_UP, CPU_STRUCTURE_ALIGNMENT, CPU_HAS_OWN_HOST_TO_NETWORK_ROUTINES, CPU_BIG_ENDIAN, CPU_LITTLE_ENDIAN): Remove.
* 2005-02-18 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-02-183-35/+59
| | | | | | | | | | | | | | | | | | | | | | | * rtems/score/cpu.h: (rtems_cpu_configuration_get_serial_per_sec, rtems_cpu_configuration_get_serial_external_clock, rtems_cpu_configuration_get_serial_xon_xoff, rtems_cpu_configuration_get_serial_cts_rts, rtems_cpu_configuration_get_serial_rate, rtems_cpu_configuration_get_timer_average_overhead, rtems_cpu_configuration_get_timer_least_valid, rtems_cpu_configuration_get_timer_internal_clock, rtems_cpu_configuration_get_clock_speed): New. * rtems/old-exceptions/cpu.h: (rtems_cpu_configuration_get_serial_per_sec, rtems_cpu_configuration_get_serial_external_clock, rtems_cpu_configuration_get_serial_xon_xoff, rtems_cpu_configuration_get_serial_cts_rts, rtems_cpu_configuration_get_serial_rate, rtems_cpu_configuration_get_timer_average_overhead, rtems_cpu_configuration_get_timer_least_valid, rtems_cpu_configuration_get_timer_internal_clock, rtems_cpu_configuration_get_clock_speed): Remove.
* 2005-02-18 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-02-183-4/+13
| | | | | * rtems/new-exceptions/cpu.h, rtems/old-exceptions/cpu.h (rtems_cpu_table): Sync defines between {old|new}-exceptions.
* (Context_Control, Context_Control_fp, CPU_Interrupt_frame): Add.Ralf Corsepius2005-02-181-1/+117
|
* (Context_Control, Context_Control_fp, CPU_Interrupt_frame): Remove.Ralf Corsepius2005-02-182-222/+0
|
* 2005-02-18 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-02-181-0/+9
| | | | | | | | | * rtems/new-exceptions/cpu.h (Context_Control, Context_Control_fp, CPU_Interrupt_frame): Remove. * rtems/old-exceptions/cpu.h (Context_Control, Context_Control_fp, CPU_Interrupt_frame): Remove. * rtems/score/cpu.h (Context_Control, Context_Control_fp, CPU_Interrupt_frame): Add.
* (CPU_STACK_MINIMUM_SIZE, CPU_ALIGNMENT, CPU_HEAP_ALIGNMENT, ↵Ralf Corsepius2005-02-161-0/+54
| | | | CPU_PARTITION_ALIGNMENT, CPU_STACK_ALIGNMENT): Add.
* (CPU_STACK_MINIMUM_SIZE, CPU_ALIGNMENT, CPU_HEAP_ALIGNMENT, ↵Ralf Corsepius2005-02-162-106/+0
| | | | CPU_PARTITION_ALIGNMENT, CPU_STACK_ALIGNMENT): Remove.
* 2005-02-16 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-02-161-0/+12
| | | | | | | | | | | | * rtems/new-exceptions/cpu.h (CPU_STACK_MINIMUM_SIZE, CPU_ALIGNMENT, CPU_HEAP_ALIGNMENT, CPU_PARTITION_ALIGNMENT, CPU_STACK_ALIGNMENT): Remove. * rtems/old-exceptions/cpu.h (CPU_STACK_MINIMUM_SIZE, CPU_ALIGNMENT, CPU_HEAP_ALIGNMENT, CPU_PARTITION_ALIGNMENT, CPU_STACK_ALIGNMENT): Remove. * rtems/score/cpu.h (CPU_STACK_MINIMUM_SIZE, CPU_ALIGNMENT, CPU_HEAP_ALIGNMENT, CPU_PARTITION_ALIGNMENT, CPU_STACK_ALIGNMENT): Add.
* 2005-02-15 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-02-162-6/+4
| | | | * rtems/new-exceptions/cpu.h: Remove CPU_MINIMUM_STACK_FRAME_SIZE.
* (_CPU_Bitfield_Find_first_bit, _CPU_Priority_Mask, ↵Ralf Corsepius2005-02-151-0/+88
| | | | _CPU_Priority_bits_index): New.
* (_CPU_Bitfield_Find_first_bit, _CPU_Priority_Mask, ↵Ralf Corsepius2005-02-152-171/+0
| | | | _CPU_Priority_bits_index): Remove.
* 2005-02-15 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-02-151-0/+9
| | | | | | | | | * rtems/new-exceptions/cpu.h (_CPU_Bitfield_Find_first_bit, _CPU_Priority_Mask, _CPU_Priority_bits_index): Remove. * rtems/old-exceptions/cpu.h (_CPU_Bitfield_Find_first_bit, _CPU_Priority_Mask, _CPU_Priority_bits_index): Remove. * rtems/score/cpu.h (_CPU_Bitfield_Find_first_bit, _CPU_Priority_Mask, _CPU_Priority_bits_index): New.
* 2005-02-15 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-02-153-10/+5
| | | | | * rtems/new-exceptions/cpu.h (_CPU_msrs): Remove (Unused). * rtems/old-exceptions/cpu.h (_CPU_msrs): Remove (Unused).
* (_CPU_ISR_install_vector, _CPU_Initialize, _CPU_Install_interrupt_stack, ↵Ralf Corsepius2005-02-151-0/+88
| | | | _CPU_Context_switch, _CPU_Context_restore, _CPU_Context_save_fp, _CPU_Context_restore_fp, _CPU_Fatal_error): New.
* (_CPU_ISR_install_vector, _CPU_Initialize, _CPU_Install_interrupt_stack, ↵Ralf Corsepius2005-02-152-161/+0
| | | | _CPU_Context_switch, _CPU_Context_restore, _CPU_Context_save_fp, _CPU_Context_restore_fp, _CPU_Fatal_error): Remove.
* 2005-02-15 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-02-151-0/+15
| | | | | | | | | | | | | | | * rtems/new-exceptions/cpu.h (_CPU_ISR_install_vector, _CPU_Initialize, _CPU_Install_interrupt_stack, _CPU_Context_switch, _CPU_Context_restore, _CPU_Context_save_fp, _CPU_Context_restore_fp, _CPU_Fatal_error): Remove. * rtems/old-exceptions/cpu.h (_CPU_ISR_install_vector, _CPU_Initialize, _CPU_Install_interrupt_stack, _CPU_Context_switch, _CPU_Context_restore, _CPU_Context_save_fp, _CPU_Context_restore_fp, _CPU_Fatal_error): Remove. * rtems/score/cpu.h (_CPU_ISR_install_vector, _CPU_Initialize, _CPU_Install_interrupt_stack, _CPU_Context_switch, _CPU_Context_restore, _CPU_Context_save_fp, _CPU_Context_restore_fp, _CPU_Fatal_error): New.
* (_CPU_Context_Initialize, _CPU_Context_Restart_self, _CPU_Context_Fp_start, ↵Ralf Corsepius2005-02-151-1/+78
| | | | _CPU_Context_Initialize_fp): New.
* (_CPU_Context_Initialize, _CPU_Context_Restart_self, _CPU_Context_Fp_start, ↵Ralf Corsepius2005-02-152-158/+0
| | | | _CPU_Context_Initialize_fp): Remove.
* 2005-02-15 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-02-151-0/+12
| | | | | | | | | | | | * rtems/old-exceptions/cpu.h (_CPU_Context_Initialize, _CPU_Context_Restart_self, _CPU_Context_Fp_start, _CPU_Context_Initialize_fp): Remove. * rtems/new-exceptions/cpu.h (_CPU_Context_Initialize, _CPU_Context_Restart_self, _CPU_Context_Fp_start, _CPU_Context_Initialize_fp): Remove. * rtems/score/cpu.h (_CPU_Context_Initialize, _CPU_Context_Restart_self, _CPU_Context_Fp_start, _CPU_Context_Initialize_fp): New.
* (PPC_Get_timebase_register, PPC_Set_timebase_register): New.Ralf Corsepius2005-02-151-0/+37
|
* (PPC_Get_timebase_register, PPC_Set_timebase_register): Remove.Ralf Corsepius2005-02-151-37/+0
|
* (PPC_Get_timebase_register): Remove.Ralf Corsepius2005-02-151-23/+0
|