source: rtems/cpukit/score/src/pheapextend.c @ e6f7f81

4.115
Last change on this file since e6f7f81 was 6ccfe72, checked in by Sebastian Huber <sebastian.huber@…>, on 08/09/12 at 08:17:42

score: Change _Heap_Extend() API

The _Heap_Extend() has now the same signature as _Heap_Initialize().
The 4th parameter is ignored (page size in _Heap_Initialize()).

Add Heap_Area and Heap_Initialization_or_extend_handler.

Add and test _Heap_No_extend().

This helps to do a table based heap initialization and extension.
Create a table of Heap_Area elements and iterate through it. Set the
handler to _Heap_Initialize() in the first iteration and then to
_Heap_Extend().

  • Property mode set to 100644
File size: 772 bytes
Line 
1/**
2 * @file
3 *
4 * @ingroup ScoreProtHeap
5 *
6 * @brief Protected Heap Handler implementation.
7 */
8
9/*
10 *  COPYRIGHT (c) 1989-2007.
11 *  On-Line Applications Research Corporation (OAR).
12 *
13 *  The license and distribution terms for this file may be
14 *  found in the file LICENSE in this distribution or at
15 *  http://www.rtems.com/license/LICENSE.
16 */
17
18#if HAVE_CONFIG_H
19#include "config.h"
20#endif
21
22#include <rtems/system.h>
23#include <rtems/score/protectedheap.h>
24
25bool _Protected_heap_Extend(
26  Heap_Control *the_heap,
27  void         *starting_address,
28  uintptr_t     size
29)
30{
31  uintptr_t amount_extended;
32
33  _RTEMS_Lock_allocator();
34    amount_extended = _Heap_Extend( the_heap, starting_address, size, 0 );
35  _RTEMS_Unlock_allocator();
36
37  return amount_extended != 0;
38}
Note: See TracBrowser for help on using the repository browser.