Changes rdtsc serialization methods
authorBarret Rhoden <brho@cs.berkeley.edu>
Thu, 14 Mar 2013 22:52:08 +0000 (15:52 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 14 Mar 2013 22:54:40 +0000 (15:54 -0700)
commit406b74fc2907eb5804ba381036411b65eb364d8c
treea7f717296513b3836bc8ee7e919a919bf41d281a
parentd8beda6abc2ec1c6239add67b4ba086ace577b43
Changes rdtsc serialization methods

In short, use lfence;rdtsc; instead of cpuid;rdtsc.  For the long
version, read the info at the beginning of k/a/i/rdtsc_test.c.

Also, this will attempt to detect whether or not your hardware has any
issues preventing the reliable use of a TSC.  This includes not having
an invariant TSC, as well as getting SMI interrupts.  Again, read
rdtsc_test.c
kern/arch/i686/Makefrag
kern/arch/i686/arch.h
kern/arch/i686/init.c
kern/arch/i686/init.h
kern/arch/i686/rdtsc_test.c [new file with mode: 0644]
user/parlib/include/i686/arch.h