CVSROOT: /cvs Module name: src Changes by: d...@cvs.openbsd.org 2013/05/05 22:32:12
Modified files: sys/arch/amd64/amd64: identcpu.c sys/arch/amd64/include: specialreg.h Log message: the use of modern intel performance counter msrs to measure the number of cycles per second isnt reliable, particularly inside "virtual" machines. cpuspeed can be calculated as 0, which causes a divide by zero later on which is bad. this goes to more effort to detect if the performance counters are in use by the hypervisor, or detecting if they gave us a cpuspeed of 0 so we can fall through to using rdtsc. the same change as: src/sys/arch/i386/include/specialreg.h r.45 src/sys/arch/i386/isa/clock.c 1.49 ok jsg@