On 19/1/23 10:22, Pavel Dovgalyuk wrote:
Bit vector for features has 64 bits. This patch fixes bit shifts in
avr_feature and set_avr_feature functions to be 64-bit too.
Signed-off-by: Pavel Dovgalyuk <pavel.dovgal...@ispras.ru>
Reviewed-by: Michael Rolnik <mrol...@gmail.com>
---
target/avr/cpu.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/target/avr/cpu.h b/target/avr/cpu.h
index 7c3895b65e..280edc495b 100644
--- a/target/avr/cpu.h
+++ b/target/avr/cpu.h
@@ -166,12 +166,12 @@ vaddr avr_cpu_gdb_adjust_breakpoint(CPUState *cpu, vaddr
addr);
static inline int avr_feature(CPUAVRState *env, AVRFeature feature)
{
- return (env->features & (1U << feature)) != 0;
+ return (env->features & (1ULL << feature)) != 0;
}
static inline void set_avr_feature(CPUAVRState *env, int feature)
{
- env->features |= (1U << feature);
+ env->features |= (1ULL << feature);
}
Consider using extract64() or BIT_ULL(). Regardless:
Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org>