Skip to content

Commit

Permalink
ramspeed: fix -r -w parameter ignored, report align issue
Browse files Browse the repository at this point in the history
We may want to test ramspeed by specific address, it was previous ignored,
and for the not aligned address from user, just report a error.

Signed-off-by: buxiasen <[email protected]>
  • Loading branch information
jasonbu authored and xiaoxiang781216 committed Oct 13, 2024
1 parent 63542f8 commit 2429b2e
Showing 1 changed file with 25 additions and 4 deletions.
29 changes: 25 additions & 4 deletions benchmarks/ramspeed/ramspeed_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -150,15 +150,26 @@ static void parse_commandline(int argc, FAR char **argv,
break;
case 'r':
OPTARG_TO_VALUE(info->src, const void *, 16);
if (((uintptr_t)info->src & ALIGN_MASK) != 0)
{
printf(RAMSPEED_PREFIX "<read-adress> must align\n");
exit(EXIT_FAILURE);
}

break;
case 'w':
OPTARG_TO_VALUE(info->dest, void *, 16);
if (((uintptr_t)info->src & ALIGN_MASK) != 0)
{
printf(RAMSPEED_PREFIX "<write-adress> must align\n");
exit(EXIT_FAILURE);
}
break;
case 's':
OPTARG_TO_VALUE(info->size, size_t, 10);
if (info->size < 32)
{
printf(RAMSPEED_PREFIX "<size> must >= 32");
printf(RAMSPEED_PREFIX "<size> must >= 32\n");
exit(EXIT_FAILURE);
}

Expand Down Expand Up @@ -187,13 +198,23 @@ static void parse_commandline(int argc, FAR char **argv,
}
}

if ((info->dest == NULL && !info->allocate_rw_address) || info->size == 0)
if (!info->allocate_rw_address && info->dest == NULL)
{
printf(RAMSPEED_PREFIX "Missing required arguments\n");
/* We allow only set write address to test memset only.
* But if need test read by specific address, need write address also.
*/

printf(RAMSPEED_PREFIX "Required Address Failed\n");
goto out;
}
else
else if (info->allocate_rw_address)
{
if (info->size == 0)
{
printf(RAMSPEED_PREFIX "Required Size Failed\n");
goto out;
}

/* We need to automatically apply for memory */

printf(RAMSPEED_PREFIX "Allocate RW buffers on heap\n");
Expand Down

0 comments on commit 2429b2e

Please sign in to comment.