On Fri, Aug 22, 2025 at 3:28 PM Paolo Bonzini <pbonz...@redhat.com> wrote: > > Bindgen makes the LOG_* constants unsigned, even if they are defined as > (1 << 15): > > pub const LOG_TRACE: u32 = 32768; > > Make them unsigned in C as well, and also change the type of the variable > that they are used with. > > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> > ---
Reviewed-by: Manos Pitsidianakis <manos.pitsidiana...@linaro.org> > include/qemu/log-for-trace.h | 4 ++-- > include/qemu/log.h | 44 ++++++++++++++++++------------------ > util/log.c | 2 +- > rust/qemu-api/src/log.rs | 2 +- > 4 files changed, 26 insertions(+), 26 deletions(-) > > diff --git a/include/qemu/log-for-trace.h b/include/qemu/log-for-trace.h > index d47c9cd4462..f3a8791f1d4 100644 > --- a/include/qemu/log-for-trace.h > +++ b/include/qemu/log-for-trace.h > @@ -19,9 +19,9 @@ > #define QEMU_LOG_FOR_TRACE_H > > /* Private global variable, don't use */ > -extern int qemu_loglevel; > +extern unsigned qemu_loglevel; > > -#define LOG_TRACE (1 << 15) > +#define LOG_TRACE (1u << 15) > > /* Returns true if a bit is set in the current loglevel mask */ > static inline bool qemu_loglevel_mask(int mask) > diff --git a/include/qemu/log.h b/include/qemu/log.h > index aae72985f0d..7effba4da4c 100644 > --- a/include/qemu/log.h > +++ b/include/qemu/log.h > @@ -14,30 +14,30 @@ bool qemu_log_enabled(void); > /* Returns true if qemu_log() will write somewhere other than stderr. */ > bool qemu_log_separate(void); > > -#define CPU_LOG_TB_OUT_ASM (1 << 0) > -#define CPU_LOG_TB_IN_ASM (1 << 1) > -#define CPU_LOG_TB_OP (1 << 2) > -#define CPU_LOG_TB_OP_OPT (1 << 3) > -#define CPU_LOG_INT (1 << 4) > -#define CPU_LOG_EXEC (1 << 5) > -#define CPU_LOG_PCALL (1 << 6) > -#define CPU_LOG_TB_CPU (1 << 8) > -#define CPU_LOG_RESET (1 << 9) > -#define LOG_UNIMP (1 << 10) > -#define LOG_GUEST_ERROR (1 << 11) > -#define CPU_LOG_MMU (1 << 12) > -#define CPU_LOG_TB_NOCHAIN (1 << 13) > -#define CPU_LOG_PAGE (1 << 14) > +#define CPU_LOG_TB_OUT_ASM (1u << 0) > +#define CPU_LOG_TB_IN_ASM (1u << 1) > +#define CPU_LOG_TB_OP (1u << 2) > +#define CPU_LOG_TB_OP_OPT (1u << 3) > +#define CPU_LOG_INT (1u << 4) > +#define CPU_LOG_EXEC (1u << 5) > +#define CPU_LOG_PCALL (1u << 6) > +#define CPU_LOG_TB_CPU (1u << 8) > +#define CPU_LOG_RESET (1u << 9) > +#define LOG_UNIMP (1u << 10) > +#define LOG_GUEST_ERROR (1u << 11) > +#define CPU_LOG_MMU (1u << 12) > +#define CPU_LOG_TB_NOCHAIN (1u << 13) > +#define CPU_LOG_PAGE (1u << 14) > /* LOG_TRACE (1 << 15) is defined in log-for-trace.h */ > -#define CPU_LOG_TB_OP_IND (1 << 16) > -#define CPU_LOG_TB_FPU (1 << 17) > -#define CPU_LOG_PLUGIN (1 << 18) > +#define CPU_LOG_TB_OP_IND (1u << 16) > +#define CPU_LOG_TB_FPU (1u << 17) > +#define CPU_LOG_PLUGIN (1u << 18) > /* LOG_STRACE is used for user-mode strace logging. */ > -#define LOG_STRACE (1 << 19) > -#define LOG_PER_THREAD (1 << 20) > -#define CPU_LOG_TB_VPU (1 << 21) > -#define LOG_TB_OP_PLUGIN (1 << 22) > -#define LOG_INVALID_MEM (1 << 23) > +#define LOG_STRACE (1u << 19) > +#define LOG_PER_THREAD (1u << 20) > +#define CPU_LOG_TB_VPU (1u << 21) > +#define LOG_TB_OP_PLUGIN (1u << 22) > +#define LOG_INVALID_MEM (1u << 23) > > /* Lock/unlock output. */ > > diff --git a/util/log.c b/util/log.c > index abdcb6b3111..41f78ce86b2 100644 > --- a/util/log.c > +++ b/util/log.c > @@ -44,7 +44,7 @@ static FILE *global_file; > static __thread FILE *thread_file; > static __thread Notifier qemu_log_thread_cleanup_notifier; > > -int qemu_loglevel; > +unsigned qemu_loglevel; > static bool log_per_thread; > static GArray *debug_regions; > > diff --git a/rust/qemu-api/src/log.rs b/rust/qemu-api/src/log.rs > index a441b8c1f2e..fe43e30104c 100644 > --- a/rust/qemu-api/src/log.rs > +++ b/rust/qemu-api/src/log.rs > @@ -140,7 +140,7 @@ macro_rules! log_mask_ln { > let _: Log = $mask; > > if unsafe { > - (::qemu_api::bindings::qemu_loglevel & ($mask as > std::os::raw::c_int)) != 0 > + (::qemu_api::bindings::qemu_loglevel & ($mask as > std::os::raw::c_uint)) != 0 > } { > _ = ::qemu_api::log::LogGuard::log_fmt( > format_args!("{}\n", format_args!($fmt $($args)*))); > -- > 2.50.1 > >