summaryrefslogtreecommitdiffstats
path: root/cpukit
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2008-11-20 20:01:13 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2008-11-20 20:01:13 +0000
commit7ff6115b8b913d848b8fe76daf72ca0b4bbf2548 (patch)
tree35545452de162753f8c608a400f2b0bd97d42807 /cpukit
parent2008-11-20 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-7ff6115b8b913d848b8fe76daf72ca0b4bbf2548.tar.bz2
2008-11-20 Joel Sherrill <joel.sherrill@oarcorp.com>
* 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: Revert use of ssize_t. This type is not guaranteed to be able to represent a positive number greater than the size of a single allocatable object. We needed a type that is able to represent the size of a pool of multiple allocatable objects or potentially nearly all memory.
Diffstat (limited to 'cpukit')
-rw-r--r--cpukit/ChangeLog14
-rw-r--r--cpukit/score/include/rtems/score/heap.h18
-rw-r--r--cpukit/score/include/rtems/score/protectedheap.h4
-rw-r--r--cpukit/score/include/rtems/score/wkspace.h6
-rw-r--r--cpukit/score/src/heap.c11
-rw-r--r--cpukit/score/src/heapallocate.c2
-rw-r--r--cpukit/score/src/heapallocatealigned.c2
-rw-r--r--cpukit/score/src/heapextend.c2
-rw-r--r--cpukit/score/src/heapresizeblock.c2
-rw-r--r--cpukit/score/src/heapsizeofuserarea.c2
-rw-r--r--cpukit/score/src/pheapgetblocksize.c2
-rw-r--r--cpukit/score/src/wkspace.c6
12 files changed, 42 insertions, 29 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog
index 2b07ea6158..49bf76404c 100644
--- a/cpukit/ChangeLog
+++ b/cpukit/ChangeLog
@@ -1,5 +1,19 @@
2008-11-20 Joel Sherrill <joel.sherrill@oarcorp.com>
+ * 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: Revert use of ssize_t. This type is not
+ guaranteed to be able to represent a positive number greater than the
+ size of a single allocatable object. We needed a type that is able to
+ represent the size of a pool of multiple allocatable objects or
+ potentially nearly all memory.
+
+2008-11-20 Joel Sherrill <joel.sherrill@oarcorp.com>
+
* libcsupport/src/newlibc_exit.c, score/src/threadhandler.c: Do not
think about running init/fini on AVR. We do not know what mechanism
it uses but this is not it.
diff --git a/cpukit/score/include/rtems/score/heap.h b/cpukit/score/include/rtems/score/heap.h
index 78c15522fd..0587852d78 100644
--- a/cpukit/score/include/rtems/score/heap.h
+++ b/cpukit/score/include/rtems/score/heap.h
@@ -31,8 +31,6 @@
#ifndef _RTEMS_SCORE_HEAP_H
#define _RTEMS_SCORE_HEAP_H
-#include <sys/types.h>
-
/**
* @defgroup ScoreHeap Heap Handler
*
@@ -264,7 +262,7 @@ typedef struct {
uint32_t _Heap_Initialize(
Heap_Control *the_heap,
void *starting_address,
- ssize_t size,
+ size_t size,
uint32_t page_size
);
@@ -283,7 +281,7 @@ uint32_t _Heap_Initialize(
Heap_Extend_status _Heap_Extend(
Heap_Control *the_heap,
void *starting_address,
- ssize_t size,
+ size_t size,
uint32_t *amount_extended
);
@@ -298,7 +296,7 @@ Heap_Extend_status _Heap_Extend(
*/
void *_Heap_Allocate(
Heap_Control *the_heap,
- ssize_t size
+ size_t size
);
/**
@@ -317,7 +315,7 @@ void *_Heap_Allocate(
*/
void *_Heap_Allocate_aligned(
Heap_Control *the_heap,
- ssize_t size,
+ size_t size,
uint32_t alignment
);
@@ -338,7 +336,7 @@ void *_Heap_Allocate_aligned(
bool _Heap_Size_of_user_area(
Heap_Control *the_heap,
void *starting_address,
- ssize_t *size
+ size_t *size
);
/**
@@ -366,7 +364,7 @@ bool _Heap_Size_of_user_area(
Heap_Resize_status _Heap_Resize_block(
Heap_Control *the_heap,
void *starting_address,
- ssize_t size,
+ size_t size,
uint32_t *old_mem_size,
uint32_t *avail_mem_size
);
@@ -451,8 +449,8 @@ void _Heap_Get_free_information(
*
* @return This method returns block size on success, 0 if overflow occured.
*/
-extern ssize_t _Heap_Calc_block_size(
- ssize_t size,
+extern size_t _Heap_Calc_block_size(
+ size_t size,
uint32_t page_size,
uint32_t min_size
);
diff --git a/cpukit/score/include/rtems/score/protectedheap.h b/cpukit/score/include/rtems/score/protectedheap.h
index 508e548354..78c2abc3d2 100644
--- a/cpukit/score/include/rtems/score/protectedheap.h
+++ b/cpukit/score/include/rtems/score/protectedheap.h
@@ -54,7 +54,7 @@ extern "C" {
static inline uint32_t _Protected_heap_Initialize(
Heap_Control *the_heap,
void *starting_address,
- ssize_t size,
+ size_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,
- ssize_t *size
+ size_t *size
);
/**
diff --git a/cpukit/score/include/rtems/score/wkspace.h b/cpukit/score/include/rtems/score/wkspace.h
index 36fa34b420..b4047c56fa 100644
--- a/cpukit/score/include/rtems/score/wkspace.h
+++ b/cpukit/score/include/rtems/score/wkspace.h
@@ -52,7 +52,7 @@ SCORE_EXTERN Heap_Control _Workspace_Area; /* executive heap header */
*/
void _Workspace_Handler_initialization(
void *starting_address,
- ssize_t size
+ size_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(
- ssize_t size
+ size_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(
- ssize_t size
+ size_t size
);
#ifndef __RTEMS_APPLICATION__
diff --git a/cpukit/score/src/heap.c b/cpukit/score/src/heap.c
index 8c55b06ecd..042dc6d604 100644
--- a/cpukit/score/src/heap.c
+++ b/cpukit/score/src/heap.c
@@ -111,10 +111,11 @@ static uint32_t instance = 0;
* +--------------------------------+ <- end = begin + size
*
*/
+
uint32_t _Heap_Initialize(
Heap_Control *the_heap,
void *starting_address,
- ssize_t size,
+ size_t size,
uint32_t page_size
)
{
@@ -206,10 +207,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
*/
-ssize_t _Heap_Calc_block_size(
- ssize_t size,
- uint32_t page_size,
- uint32_t min_size)
+size_t _Heap_Calc_block_size(
+ size_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);
diff --git a/cpukit/score/src/heapallocate.c b/cpukit/score/src/heapallocate.c
index 6432556fc5..418ee758fc 100644
--- a/cpukit/score/src/heapallocate.c
+++ b/cpukit/score/src/heapallocate.c
@@ -36,7 +36,7 @@
void *_Heap_Allocate(
Heap_Control *the_heap,
- ssize_t size
+ size_t size
)
{
uint32_t the_size;
diff --git a/cpukit/score/src/heapallocatealigned.c b/cpukit/score/src/heapallocatealigned.c
index 6ac1425063..3fda404490 100644
--- a/cpukit/score/src/heapallocatealigned.c
+++ b/cpukit/score/src/heapallocatealigned.c
@@ -131,7 +131,7 @@ Heap_Block *block_allocate(
void *_Heap_Allocate_aligned(
Heap_Control *the_heap,
- ssize_t size,
+ size_t size,
uint32_t alignment
)
{
diff --git a/cpukit/score/src/heapextend.c b/cpukit/score/src/heapextend.c
index 0e0329f4e6..73eb91f127 100644
--- a/cpukit/score/src/heapextend.c
+++ b/cpukit/score/src/heapextend.c
@@ -38,7 +38,7 @@
Heap_Extend_status _Heap_Extend(
Heap_Control *the_heap,
void *starting_address,
- ssize_t size,
+ size_t size,
uint32_t *amount_extended
)
{
diff --git a/cpukit/score/src/heapresizeblock.c b/cpukit/score/src/heapresizeblock.c
index 760d49bc39..49460f9767 100644
--- a/cpukit/score/src/heapresizeblock.c
+++ b/cpukit/score/src/heapresizeblock.c
@@ -47,7 +47,7 @@
Heap_Resize_status _Heap_Resize_block(
Heap_Control *the_heap,
void *starting_address,
- ssize_t size,
+ size_t size,
uint32_t *old_mem_size,
uint32_t *avail_mem_size
)
diff --git a/cpukit/score/src/heapsizeofuserarea.c b/cpukit/score/src/heapsizeofuserarea.c
index 136389e878..c1555d2ccc 100644
--- a/cpukit/score/src/heapsizeofuserarea.c
+++ b/cpukit/score/src/heapsizeofuserarea.c
@@ -42,7 +42,7 @@
bool _Heap_Size_of_user_area(
Heap_Control *the_heap,
void *starting_address,
- ssize_t *size
+ size_t *size
)
{
Heap_Block *the_block;
diff --git a/cpukit/score/src/pheapgetblocksize.c b/cpukit/score/src/pheapgetblocksize.c
index 6baa8f5632..029ef7b2c7 100644
--- a/cpukit/score/src/pheapgetblocksize.c
+++ b/cpukit/score/src/pheapgetblocksize.c
@@ -19,7 +19,7 @@
bool _Protected_heap_Get_block_size(
Heap_Control *the_heap,
void *starting_address,
- ssize_t *size
+ size_t *size
)
{
bool status;
diff --git a/cpukit/score/src/wkspace.c b/cpukit/score/src/wkspace.c
index 591427cb64..ebb71f3297 100644
--- a/cpukit/score/src/wkspace.c
+++ b/cpukit/score/src/wkspace.c
@@ -27,7 +27,7 @@
*/
void _Workspace_Handler_initialization(
void *starting_address,
- ssize_t size
+ size_t size
)
{
uint32_t memory_available;
@@ -61,7 +61,7 @@ void _Workspace_Handler_initialization(
* _Workspace_Allocate
*/
void *_Workspace_Allocate(
- ssize_t size
+ size_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(
- ssize_t size
+ size_t size
)
{
void *memory;