target-i386: avoid overflow in the tsc-frequency property
authorPaolo Bonzini <pbonzini@redhat.com>
Wed, 24 Jun 2015 12:11:27 +0000 (14:11 +0200)
committerEduardo Habkost <ehabkost@redhat.com>
Tue, 7 Jul 2015 13:47:16 +0000 (10:47 -0300)
commit06ef227e5158cca6710e6c268d6a7f65a5e2811b
tree13fa89ccf2c3e436248763e896907c758957cbe0
parent28b8e4d0bf93ba176b4b7be819d537383c5a9060
target-i386: avoid overflow in the tsc-frequency property

The TSC frequency fits comfortably in an int when expressed in kHz,
but it may overflow when converted to Hz.  In this case,
tsc-frequency returns a negative value because x86_cpuid_get_tsc_freq
does a 32-bit multiplication before assigning to int64_t.

For simplicity just make tsc_khz a 64-bit value.

Spotted by Coverity.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
target-i386/cpu.h