CVSROOT:        /cvs
Module name:    src
Changes by:     kette...@cvs.openbsd.org        2015/04/18 16:16:21

Modified files:
        sys/arch/i386/i386: cpu.c machdep.c 
        sys/arch/i386/include: cpu.h 
        sys/arch/amd64/amd64: cpu.c machdep.c 
        sys/arch/amd64/include: cpu.h 

Log message:
It seems that the CPUID lies about the monitor-line size, or at least our
interpretation of it isn't quite right.  So instead of allocating memory
and slicing it based on the parameters returned by CPUID, simply use a member
in struct cpu_info like basically all other OSes out there do.  Our struct
cpu_info is large enough to never cause any overlap.  This makes the
mwait-based idle loop actually work.  We still execute the CPUID instruction
to make sure monitor/mwait is properly supported by the hardware we're
running on.

ok sthen@, deraadt@, guenther@

Reply via email to