Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
Signed-off-by: Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
---
target/hexagon/cpu_helper.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/target/hexagon/cpu_helper.c b/target/hexagon/cpu_helper.c
index 5d0ba23d02..447421cdd0 100644
--- a/target/hexagon/cpu_helper.c
+++ b/target/hexagon/cpu_helper.c
@@ -120,13 +120,18 @@ uint32_t hexagon_get_sys_pcycle_count_low(CPUHexagonState *env)
void hexagon_set_sys_pcycle_count_high(CPUHexagonState *env,
uint32_t cycles_hi)
{
- g_assert_not_reached();
+ uint64_t cur_cycles = hexagon_get_sys_pcycle_count(env);
+ uint64_t cycles =
+ ((uint64_t)cycles_hi << 32) | extract64(cur_cycles, 0, 32);
+ hexagon_set_sys_pcycle_count(env, cycles);
}
void hexagon_set_sys_pcycle_count_low(CPUHexagonState *env,
uint32_t cycles_lo)
{
- g_assert_not_reached();
+ uint64_t cur_cycles = hexagon_get_sys_pcycle_count(env);
+ uint64_t cycles = extract64(cur_cycles, 32, 32) | cycles_lo;
+ hexagon_set_sys_pcycle_count(env, cycles);
}
void hexagon_set_sys_pcycle_count(CPUHexagonState *env, uint64_t cycles)
--
2.34.1