Skip to content

Commit

Permalink
target/riscv: use buf_get_uXX instead of manual bit shift
Browse files Browse the repository at this point in the history
Replaced manual bit shift with buf_get_u64/buf_get_u32

Signed-off-by: Farid Khaydari <f.khaydari@syntacore.com>
  • Loading branch information
fk-sc committed Nov 29, 2024
1 parent ca80920 commit 9079617
Showing 1 changed file with 8 additions and 20 deletions.
28 changes: 8 additions & 20 deletions src/target/riscv/riscv-013.c
Original file line number Diff line number Diff line change
Expand Up @@ -1203,14 +1203,8 @@ static int scratch_read64(struct target *target, scratch_mem_t *scratch,
uint8_t buffer[8] = {0};
if (read_memory(target, scratch->debug_address, 4, 2, buffer, 4) != ERROR_OK)
return ERROR_FAIL;
*value = buffer[0] |
(((uint64_t) buffer[1]) << 8) |
(((uint64_t) buffer[2]) << 16) |
(((uint64_t) buffer[3]) << 24) |
(((uint64_t) buffer[4]) << 32) |
(((uint64_t) buffer[5]) << 40) |
(((uint64_t) buffer[6]) << 48) |
(((uint64_t) buffer[7]) << 56);
*value = buf_get_u64(buffer,
/* first = */ 0, /* bit_num = */ 64);
}
break;
}
Expand Down Expand Up @@ -4504,27 +4498,21 @@ static int write_memory_bus_v1(struct target *target, target_addr_t address,

uint32_t sbvalue[4] = { 0 };
if (size > 12) {
sbvalue[3] = ((uint32_t)p[12]) |
(((uint32_t)p[13]) << 8) |
(((uint32_t)p[14]) << 16) |
(((uint32_t)p[15]) << 24);
sbvalue[3] = buf_get_u32(&(p[12]),
/* first = */ 0, /* bit_num = */ 32);
riscv_batch_add_dm_write(batch, DM_SBDATA3, sbvalue[3], false,
RISCV_DELAY_BASE);
}

if (size > 8) {
sbvalue[2] = ((uint32_t)p[8]) |
(((uint32_t)p[9]) << 8) |
(((uint32_t)p[10]) << 16) |
(((uint32_t)p[11]) << 24);
sbvalue[2] = buf_get_u32(&(p[8]),
/* first = */ 0, /* bit_num = */ 32);
riscv_batch_add_dm_write(batch, DM_SBDATA2, sbvalue[2], false,
RISCV_DELAY_BASE);
}
if (size > 4) {
sbvalue[1] = ((uint32_t)p[4]) |
(((uint32_t)p[5]) << 8) |
(((uint32_t)p[6]) << 16) |
(((uint32_t)p[7]) << 24);
sbvalue[1] = buf_get_u32(&(p[4]),
/* first = */ 0, /* bit_num = */ 32);
riscv_batch_add_dm_write(batch, DM_SBDATA1, sbvalue[1], false,
RISCV_DELAY_BASE);
}
Expand Down

0 comments on commit 9079617

Please sign in to comment.