zephyr/kernel
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
..
include userspace: Support for split 64 bit arguments 2019-09-12 11:31:50 +08:00
CMakeLists.txt kernel: consolidate error handling code 2019-07-25 15:06:58 -07:00
Kconfig tests: increase main stack size for x86 with ztest 2019-08-05 13:25:50 +02:00
Kconfig.power_mgmt power: modify HAS_STATE_SLEEP_ Kconfig options 2019-03-26 13:27:55 -04:00
atomic_c.c kernel: syscalls: Whitespace fixups 2019-09-12 11:31:50 +08:00
compiler_stack_protect.c kernel: consolidate error handling code 2019-07-25 15:06:58 -07:00
device.c [Code coverage]: Fix the issue of function code coverage in device.c. 2019-09-17 12:35:30 +08:00
errno.c userspace: Support for split 64 bit arguments 2019-09-12 11:31:50 +08:00
fatal.c kernel: remove z_fatal_print() 2019-09-12 05:17:39 -04:00
futex.c kernel: syscalls: Whitespace fixups 2019-09-12 11:31:50 +08:00
idle.c tests/benchmarks: fix BOOT_TIME_MEASUREMENT 2019-09-21 16:43:26 -07:00
init.c tests/benchmarks: fix BOOT_TIME_MEASUREMENT 2019-09-21 16:43:26 -07:00
mailbox.c cleanup: include/: move misc/dlist.h to sys/dlist.h 2019-06-27 22:55:49 -04:00
mem_domain.c userspace: adjust arch memory domain interface 2019-08-05 13:25:50 +02:00
mem_slab.c cleanup: include/: move misc/dlist.h to sys/dlist.h 2019-06-27 22:55:49 -04:00
mempool.c malloc: make sure returned memory is properly aligned 2019-07-03 14:17:29 -07:00
msg_q.c kernel: syscalls: Whitespace fixups 2019-09-12 11:31:50 +08:00
mutex.c userspace: Support for split 64 bit arguments 2019-09-12 11:31:50 +08:00
pipes.c userspace: Support for split 64 bit arguments 2019-09-12 11:31:50 +08:00
poll.c kernel: syscalls: Whitespace fixups 2019-09-12 11:31:50 +08:00
queue.c kernel: syscalls: Whitespace fixups 2019-09-12 11:31:50 +08:00
sched.c kernel: Port remaining syscalls to new API 2019-09-12 11:31:50 +08:00
sem.c userspace: Support for split 64 bit arguments 2019-09-12 11:31:50 +08:00
smp.c kernel/smp: Rename smp_init() 2019-06-05 17:15:55 -04:00
stack.c kernel: syscalls: Whitespace fixups 2019-09-12 11:31:50 +08:00
system_work_q.c kernel: system_work_q: Set dedicated "sysworkq" name. 2018-10-19 07:58:45 -04:00
thread.c debug: tracing: add sys_trace_thread_name_set 2019-09-19 00:37:35 -04:00
thread_abort.c userspace: Support for split 64 bit arguments 2019-09-12 11:31:50 +08:00
timeout.c userspace: Support for split 64 bit arguments 2019-09-12 11:31:50 +08:00
timer.c kernel: syscalls: Whitespace fixups 2019-09-12 11:31:50 +08:00
userspace.c userspace: Support for split 64 bit arguments 2019-09-12 11:31:50 +08:00
userspace_handler.c kernel: syscalls: Whitespace fixups 2019-09-12 11:31:50 +08:00
version.c doc: add kernel version API to doxygen 2018-12-08 17:24:53 -05:00
work_q.c kernel: Fix usage of CONFIG_SYS_CLOCK_EXISTS 2019-05-15 10:44:59 +02:00