zephyr/arch
Charles E. Youse 3036faf88a tests/benchmarks: fix BOOT_TIME_MEASUREMENT
The boot time measurement sample was giving bogus values on x86: an
assumption was made that the system timer is in sync with the CPU TSC,
which is not the case on most x86 boards.

Boot time measurements are no longer permitted unless the timer source
is the local APIC. To avoid issues of TSC scaling, the startup datum
has been forced to 0, which is in line with the ARM implementation
(which is the only other platform which supports this feature).

Cleanups along the way:

As the datum is now assumed zero, some variables are removed and
calculations simplified. The global variables involved in boot time
measurements are moved to the kernel.h header rather than being
redeclared in every place they are referenced. Since none of the
measurements actually use 64-bit precision, the samples are reduced
to 32-bit quantities.

In addition, this feature has been enabled in long mode.

Fixes: #19144

Signed-off-by: Charles E. Youse <charles.youse@intel.com>
2019-09-21 16:43:26 -07:00
..
arc arc: arc_connect: bug fix in arc_connect 2019-09-17 20:40:38 +08:00
arm tests/benchmarks: fix BOOT_TIME_MEASUREMENT 2019-09-21 16:43:26 -07:00
common gen_isr_tables: Fix pylint warning by using isinstance() 2019-09-08 22:24:45 -04:00
nios2 kernel: remove z_fatal_print() 2019-09-12 05:17:39 -04:00
posix native: removed redundant compiler args MMD & MP 2019-09-17 11:27:19 +02:00
riscv arch: riscv: Use infinite loop instead of simple wfi to halt slave core 2019-09-20 10:42:28 -04:00
x86 tests/benchmarks: fix BOOT_TIME_MEASUREMENT 2019-09-21 16:43:26 -07:00
x86_64 kernel: remove z_fatal_print() 2019-09-12 05:17:39 -04:00
xtensa kernel: remove z_fatal_print() 2019-09-12 05:17:39 -04:00
CMakeLists.txt license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
Kconfig kconfig: Convert device tree chosen properties to new kconfigfunctions 2019-09-13 11:42:34 -05:00