Module Name: src Committed By: msaitoh Date: Tue Apr 21 02:56:37 UTC 2020
Modified Files: src/sys/arch/x86/conf: files.x86 src/sys/arch/x86/include: apicvar.h cpu.h src/sys/arch/x86/x86: cpu.c hyperv.c tsc.c src/sys/arch/xen/conf: files.xen src/usr.sbin/cpuctl: Makefile cpuctl.c cpuctl.h src/usr.sbin/cpuctl/arch: cpuctl_i386.h i386.c Added Files: src/sys/arch/x86/x86: identcpu_subr.c Log Message: Get TSC frequency from CPUID 0x15 and/or x16 for newer Intel processors. - If the max CPUID leaf is >= 0x15, take TSC value from CPUID. Some processors can take TSC/core crystal clock ratio but core crystal clock frequency can't be taken. Intel SDM give us the values for some processors. - It also required to change lapic_per_second to make LAPIC timer correctly. - Add new file x86/x86/identcpu_subr.c to share common subroutines between kernel and userland. Some code in x86/x86/identcpu.c and cpuctl/arch/i386.c will be moved to this file in future. - Add comment to clarify. To generate a diff of this commit: cvs rdiff -u -r1.107 -r1.108 src/sys/arch/x86/conf/files.x86 cvs rdiff -u -r1.6 -r1.7 src/sys/arch/x86/include/apicvar.h cvs rdiff -u -r1.120 -r1.121 src/sys/arch/x86/include/cpu.h cvs rdiff -u -r1.184 -r1.185 src/sys/arch/x86/x86/cpu.c cvs rdiff -u -r1.6 -r1.7 src/sys/arch/x86/x86/hyperv.c cvs rdiff -u -r0 -r1.1 src/sys/arch/x86/x86/identcpu_subr.c cvs rdiff -u -r1.40 -r1.41 src/sys/arch/x86/x86/tsc.c cvs rdiff -u -r1.180 -r1.181 src/sys/arch/xen/conf/files.xen cvs rdiff -u -r1.8 -r1.9 src/usr.sbin/cpuctl/Makefile cvs rdiff -u -r1.30 -r1.31 src/usr.sbin/cpuctl/cpuctl.c cvs rdiff -u -r1.6 -r1.7 src/usr.sbin/cpuctl/cpuctl.h cvs rdiff -u -r1.4 -r1.5 src/usr.sbin/cpuctl/arch/cpuctl_i386.h cvs rdiff -u -r1.111 -r1.112 src/usr.sbin/cpuctl/arch/i386.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.