summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-08-06 10:51:00 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-08-10 07:14:43 +0200
commit66cb14205416253df88a412f579956d8d6109794 (patch)
tree941ac9ed9ec67f06ae89ee54d85d04c35d2e30d9
parentAdd dummy PRI_MIN_KERN to <sys/priority.h> (diff)
downloadrtems-66cb14205416253df88a412f579956d8d6109794.tar.bz2
rtems: Parameter types in rtems_partition_create()
Use uintptr_t to specify the length of the partition buffer area instead of uint32_t. This is in line with rtems_region_create(). On 64-bit targets, the length may exceed 4GiB. Use size_t for the buffer size, since on some targets the single object size is less than the overall address range, e.g. m32c sizeof(uintptr_t) > sizeof(size_t). Update #3486.
-rw-r--r--cpukit/include/rtems/rtems/part.h10
-rw-r--r--cpukit/rtems/src/partcreate.c4
2 files changed, 7 insertions, 7 deletions
diff --git a/cpukit/include/rtems/rtems/part.h b/cpukit/include/rtems/rtems/part.h
index 5b840cc96c..769f3c6904 100644
--- a/cpukit/include/rtems/rtems/part.h
+++ b/cpukit/include/rtems/rtems/part.h
@@ -61,13 +61,13 @@ typedef struct {
/** This field is the physical starting address of the Partition. */
void *starting_address;
/** This field is the size of the Partition in bytes. */
- intptr_t length;
+ uintptr_t length;
/** This field is the size of each buffer in bytes */
- uint32_t buffer_size;
+ size_t buffer_size;
/** This field is the attribute set provided at create time. */
rtems_attribute attribute_set;
/** This field is the of allocated buffers. */
- uint32_t number_of_used_blocks;
+ uintptr_t number_of_used_blocks;
/** This field is the chain used to manage unallocated buffers. */
Chain_Control Memory;
} Partition_Control;
@@ -88,8 +88,8 @@ typedef struct {
rtems_status_code rtems_partition_create(
rtems_name name,
void *starting_address,
- uint32_t length,
- uint32_t buffer_size,
+ uintptr_t length,
+ size_t buffer_size,
rtems_attribute attribute_set,
rtems_id *id
);
diff --git a/cpukit/rtems/src/partcreate.c b/cpukit/rtems/src/partcreate.c
index 2134b99e19..1a7304efa3 100644
--- a/cpukit/rtems/src/partcreate.c
+++ b/cpukit/rtems/src/partcreate.c
@@ -47,8 +47,8 @@
rtems_status_code rtems_partition_create(
rtems_name name,
void *starting_address,
- uint32_t length,
- uint32_t buffer_size,
+ uintptr_t length,
+ size_t buffer_size,
rtems_attribute attribute_set,
rtems_id *id
)