x86/CPUID: don't use UB shift when library is built as 32-bit

At least the insn emulator test harness will continue to be buildable
(and ought to continue to be usable) also as a 32-bit binary. (Right now
the CPU policy test harness is, too, but there it may be less relevant
to keep it functional, just like e.g. we don't support fuzzing the insn
emulator in 32-bit mode.) Hence the library code needs to cope with
this.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
This commit is contained in:
Jan Beulich committed 2020-11-10 14:39:03 +01:00
1 parent b5ad37f8e9
commit db1a9fdd55
1 file changed
+1 -1
+1 -1
View File
@@ -165,7 +165,7 @@ void x86_cpuid_policy_fill_native(struct cpuid_policy *p)
for ( i = 2; i < min_t(unsigned int, 63,
ARRAY_SIZE(p->xstate.raw)); ++i )
{
if ( xstates & (1ul << i) )
if ( xstates & (1ull << i) )
cpuid_count_leaf(0xd, i, &p->xstate.raw[i]);
}
}
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.