forked from Imagelibrary/rtems
rtems: Move _Partition_Is_buffer_on_boundary()
It is used only by rtems_partition_return_buffer(). Make the PTCB the first parameter. Rename to _Partition_Is_address_on_buffer_boundary().
This commit is contained in:
@@ -19,7 +19,6 @@
|
||||
#define _RTEMS_RTEMS_PARTIMPL_H
|
||||
|
||||
#include <rtems/rtems/partdata.h>
|
||||
#include <rtems/score/address.h>
|
||||
#include <rtems/score/chainimpl.h>
|
||||
#include <rtems/score/objectimpl.h>
|
||||
|
||||
@@ -35,27 +34,6 @@ extern "C" {
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief Checks whether is on a valid buffer boundary for the_partition.
|
||||
*
|
||||
* This function returns TRUE if the_buffer is on a valid buffer
|
||||
* boundary for the_partition, and FALSE otherwise.
|
||||
*/
|
||||
RTEMS_INLINE_ROUTINE bool _Partition_Is_buffer_on_boundary (
|
||||
void *the_buffer,
|
||||
Partition_Control *the_partition
|
||||
)
|
||||
{
|
||||
intptr_t offset;
|
||||
|
||||
offset = _Addresses_Subtract(
|
||||
the_buffer,
|
||||
the_partition->starting_address
|
||||
);
|
||||
|
||||
return ((offset % the_partition->buffer_size) == 0);
|
||||
}
|
||||
|
||||
RTEMS_INLINE_ROUTINE bool _Partition_Is_buffer_size_aligned(
|
||||
uint32_t buffer_size
|
||||
)
|
||||
|
||||
@@ -24,6 +24,21 @@
|
||||
#include <rtems/score/address.h>
|
||||
#include <rtems/score/chainimpl.h>
|
||||
|
||||
static bool _Partition_Is_address_on_buffer_boundary(
|
||||
const Partition_Control *the_partition,
|
||||
const void *the_buffer
|
||||
)
|
||||
{
|
||||
intptr_t offset;
|
||||
|
||||
offset = _Addresses_Subtract(
|
||||
the_buffer,
|
||||
the_partition->starting_address
|
||||
);
|
||||
|
||||
return ( offset % the_partition->buffer_size ) == 0;
|
||||
}
|
||||
|
||||
static bool _Partition_Is_address_a_buffer_begin(
|
||||
const Partition_Control *the_partition,
|
||||
const void *the_buffer
|
||||
@@ -36,7 +51,7 @@ static bool _Partition_Is_address_a_buffer_begin(
|
||||
ending = _Addresses_Add_offset( starting, the_partition->length );
|
||||
|
||||
return _Addresses_Is_in_range( the_buffer, starting, ending )
|
||||
&& _Partition_Is_buffer_on_boundary( the_buffer, the_partition );
|
||||
&& _Partition_Is_address_on_buffer_boundary( the_partition, the_buffer );
|
||||
}
|
||||
|
||||
static void _Partition_Free_buffer(
|
||||
|
||||
Reference in New Issue
Block a user