[PATCH] rtems: Parameter types in rtems_partition_create()
Sebastian Huber
sebastian.huber at embedded-brains.de
Mon Aug 6 08:54:37 UTC 2018
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.
---
cpukit/include/rtems/rtems/part.h | 10 +++++-----
cpukit/rtems/src/partcreate.c | 4 ++--
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
)
--
2.13.7
More information about the devel
mailing list