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.
This commit is contained in:
Sebastian Huber
2018-08-10 07:14:43 +02:00
parent b8eae1403a
commit 66cb142054
2 changed files with 7 additions and 7 deletions
+5 -5
View File
@@ -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
);
+2 -2
View File
@@ -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
)