2008-10-02 Joel Sherrill <joel.sherrill@oarcorp.com>

* libcsupport/src/malloc_statistics_helpers.c,
	libcsupport/src/realloc.c, rtems/include/rtems/rtems/region.h,
	rtems/include/rtems/rtems/support.h,
	rtems/src/regiongetsegmentsize.c, rtems/src/regionresizesegment.c,
	rtems/src/workspace.c, sapi/include/confdefs.h,
	score/include/rtems/score/heap.h,
	score/include/rtems/score/protectedheap.h,
	score/include/rtems/score/wkspace.h, score/src/heap.c,
	score/src/heapallocate.c, score/src/heapallocatealigned.c,
	score/src/heapextend.c, score/src/heapresizeblock.c,
	score/src/heapsizeofuserarea.c, score/src/pheapgetblocksize.c,
	score/src/wkspace.c: Change size_t to ssize_t on all Heap, Workspace
	and Region calls. On 16-bit architectures, size_t can be 16-bits
	which would limit sizes to 64K.
This commit is contained in:
Joel Sherrill
2008-10-02 20:56:55 +00:00
parent 3d0e458723
commit 4c09f4b3fe
20 changed files with 62 additions and 44 deletions

View File

@@ -1,3 +1,20 @@
2008-10-02 Joel Sherrill <joel.sherrill@oarcorp.com>
* libcsupport/src/malloc_statistics_helpers.c,
libcsupport/src/realloc.c, rtems/include/rtems/rtems/region.h,
rtems/include/rtems/rtems/support.h,
rtems/src/regiongetsegmentsize.c, rtems/src/regionresizesegment.c,
rtems/src/workspace.c, sapi/include/confdefs.h,
score/include/rtems/score/heap.h,
score/include/rtems/score/protectedheap.h,
score/include/rtems/score/wkspace.h, score/src/heap.c,
score/src/heapallocate.c, score/src/heapallocatealigned.c,
score/src/heapextend.c, score/src/heapresizeblock.c,
score/src/heapsizeofuserarea.c, score/src/pheapgetblocksize.c,
score/src/wkspace.c: Change size_t to ssize_t on all Heap, Workspace
and Region calls. On 16-bit architectures, size_t can be 16-bits
which would limit sizes to 64K.
2008-10-02 Joel Sherrill <joel.sherrill@oarcorp.com>
* libmisc/shell/main_cp.c, libmisc/shell/main_ls.c,

View File

@@ -35,7 +35,7 @@ void rtems_malloc_statistics_at_malloc(
void *pointer
)
{
size_t actual_size = 0;
ssize_t actual_size = 0;
uint32_t current_depth;
rtems_malloc_statistics_t *s = &rtems_malloc_statistics;
@@ -59,7 +59,7 @@ void rtems_malloc_statistics_at_free(
void *pointer
)
{
size_t size;
ssize_t size;
if (_Protected_heap_Get_block_size(RTEMS_Malloc_Heap, pointer, &size) ) {
MSBUMP(lifetime_freed, size);

View File

@@ -25,9 +25,9 @@ void *realloc(
size_t size
)
{
size_t old_size;
char *new_area;
size_t resize;
ssize_t old_size;
char *new_area;
ssize_t resize;
MSBUMP(realloc_calls, 1);

View File

@@ -240,7 +240,7 @@ rtems_status_code rtems_region_get_segment(
rtems_status_code rtems_region_get_segment_size(
Objects_Id id,
void *segment,
size_t *size
ssize_t *size
);
/**
@@ -282,8 +282,8 @@ rtems_status_code rtems_region_return_segment(
rtems_status_code rtems_region_resize_segment(
Objects_Id id,
void *segment,
size_t size,
size_t *old_size
ssize_t size,
ssize_t *old_size
);
#ifndef __RTEMS_APPLICATION__

View File

@@ -79,8 +79,8 @@ bool rtems_workspace_get_information(
* @return TRUE if successful
*/
bool rtems_workspace_allocate(
size_t bytes,
void **pointer
ssize_t bytes,
void **pointer
);
/**

View File

@@ -45,7 +45,7 @@
rtems_status_code rtems_region_get_segment_size(
Objects_Id id,
void *segment,
size_t *size
ssize_t *size
)
{
Objects_Locations location;

View File

@@ -46,8 +46,8 @@
rtems_status_code rtems_region_resize_segment(
Objects_Id id,
void *segment,
size_t size,
size_t *old_size
ssize_t size,
ssize_t *old_size
)
{
uint32_t avail_size;

View File

@@ -39,8 +39,8 @@ bool rtems_workspace_get_information(
* _Workspace_Allocate
*/
bool rtems_workspace_allocate(
size_t bytes,
void **pointer
ssize_t bytes,
void **pointer
)
{
*pointer = _Heap_Allocate( &_Workspace_Area, bytes );

View File

@@ -449,7 +449,7 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
* may be applied.
*/
#define _Configure_From_workspace(_size) \
((_size) + (2 * sizeof(uint32_t)) + CPU_ALIGNMENT)
(ssize_t)((_size) + (2 * sizeof(uint32_t)) + CPU_ALIGNMENT)
/**
* This macro accounts for how memory for a set of configured objects is

View File

@@ -31,6 +31,8 @@
#ifndef _RTEMS_SCORE_HEAP_H
#define _RTEMS_SCORE_HEAP_H
#include <sys/types.h>
/**
* @defgroup ScoreHeap Heap Handler
*
@@ -262,7 +264,7 @@ typedef struct {
uint32_t _Heap_Initialize(
Heap_Control *the_heap,
void *starting_address,
size_t size,
ssize_t size,
uint32_t page_size
);
@@ -281,7 +283,7 @@ uint32_t _Heap_Initialize(
Heap_Extend_status _Heap_Extend(
Heap_Control *the_heap,
void *starting_address,
size_t size,
ssize_t size,
uint32_t *amount_extended
);
@@ -296,7 +298,7 @@ Heap_Extend_status _Heap_Extend(
*/
void *_Heap_Allocate(
Heap_Control *the_heap,
size_t size
ssize_t size
);
/**
@@ -315,7 +317,7 @@ void *_Heap_Allocate(
*/
void *_Heap_Allocate_aligned(
Heap_Control *the_heap,
size_t size,
ssize_t size,
uint32_t alignment
);
@@ -336,7 +338,7 @@ void *_Heap_Allocate_aligned(
bool _Heap_Size_of_user_area(
Heap_Control *the_heap,
void *starting_address,
size_t *size
ssize_t *size
);
/**
@@ -364,7 +366,7 @@ bool _Heap_Size_of_user_area(
Heap_Resize_status _Heap_Resize_block(
Heap_Control *the_heap,
void *starting_address,
size_t size,
ssize_t size,
uint32_t *old_mem_size,
uint32_t *avail_mem_size
);
@@ -449,8 +451,8 @@ void _Heap_Get_free_information(
*
* @return This method returns block size on success, 0 if overflow occured.
*/
extern size_t _Heap_Calc_block_size(
size_t size,
extern ssize_t _Heap_Calc_block_size(
ssize_t size,
uint32_t page_size,
uint32_t min_size
);

View File

@@ -54,7 +54,7 @@ extern "C" {
static inline uint32_t _Protected_heap_Initialize(
Heap_Control *the_heap,
void *starting_address,
size_t size,
ssize_t size,
uint32_t page_size
)
{
@@ -128,7 +128,7 @@ void *_Protected_heap_Allocate_aligned(
bool _Protected_heap_Get_block_size(
Heap_Control *the_heap,
void *starting_address,
size_t *size
ssize_t *size
);
/**

View File

@@ -52,7 +52,7 @@ SCORE_EXTERN Heap_Control _Workspace_Area; /* executive heap header */
*/
void _Workspace_Handler_initialization(
void *starting_address,
size_t size
ssize_t size
);
/** @brief Allocate Memory from Workspace
@@ -66,7 +66,7 @@ void _Workspace_Handler_initialization(
* @return a pointer to the requested memory or NULL.
*/
void *_Workspace_Allocate(
size_t size
ssize_t size
);
/** @brief Free Memory to the Workspace
@@ -94,7 +94,7 @@ bool _Workspace_Free(
* @return If successful, the starting address of the allocated memory
*/
void *_Workspace_Allocate_or_fatal_error(
size_t size
ssize_t size
);
#ifndef __RTEMS_APPLICATION__

View File

@@ -111,11 +111,10 @@ static uint32_t instance = 0;
* +--------------------------------+ <- end = begin + size
*
*/
uint32_t _Heap_Initialize(
Heap_Control *the_heap,
void *starting_address,
size_t size,
ssize_t size,
uint32_t page_size
)
{
@@ -207,10 +206,10 @@ uint32_t _Heap_Initialize(
* Convert user requested 'size' of memory block to the block size.
* Return block size on success, 0 if overflow occured
*/
size_t _Heap_Calc_block_size(
size_t size,
uint32_t page_size,
uint32_t min_size)
ssize_t _Heap_Calc_block_size(
ssize_t size,
uint32_t page_size,
uint32_t min_size)
{
uint32_t block_size = size + HEAP_BLOCK_USED_OVERHEAD;
_Heap_Align_up(&block_size, page_size);

View File

@@ -36,7 +36,7 @@
void *_Heap_Allocate(
Heap_Control *the_heap,
size_t size
ssize_t size
)
{
uint32_t the_size;

View File

@@ -131,7 +131,7 @@ Heap_Block *block_allocate(
void *_Heap_Allocate_aligned(
Heap_Control *the_heap,
size_t size,
ssize_t size,
uint32_t alignment
)
{

View File

@@ -38,7 +38,7 @@
Heap_Extend_status _Heap_Extend(
Heap_Control *the_heap,
void *starting_address,
size_t size,
ssize_t size,
uint32_t *amount_extended
)
{

View File

@@ -47,7 +47,7 @@
Heap_Resize_status _Heap_Resize_block(
Heap_Control *the_heap,
void *starting_address,
size_t size,
ssize_t size,
uint32_t *old_mem_size,
uint32_t *avail_mem_size
)

View File

@@ -42,7 +42,7 @@
bool _Heap_Size_of_user_area(
Heap_Control *the_heap,
void *starting_address,
size_t *size
ssize_t *size
)
{
Heap_Block *the_block;

View File

@@ -19,7 +19,7 @@
bool _Protected_heap_Get_block_size(
Heap_Control *the_heap,
void *starting_address,
size_t *size
ssize_t *size
)
{
bool status;

View File

@@ -27,7 +27,7 @@
*/
void _Workspace_Handler_initialization(
void *starting_address,
size_t size
ssize_t size
)
{
uint32_t memory_available;
@@ -61,7 +61,7 @@ void _Workspace_Handler_initialization(
* _Workspace_Allocate
*/
void *_Workspace_Allocate(
size_t size
ssize_t size
)
{
return _Heap_Allocate( &_Workspace_Area, size );
@@ -81,7 +81,7 @@ bool _Workspace_Free(
* _Workspace_Allocate_or_fatal_error
*/
void *_Workspace_Allocate_or_fatal_error(
size_t size
ssize_t size
)
{
void *memory;