zephyr/tests/kernel
Carlo Caione 6f36300219 drivers: timer: Add per-core ARM architected timer
ARM cores may have a per-core architected timer, which provides per-cpu
timers, attached to a GIC to deliver its per-processor interrupts via
PPIs. This is the most common case supported by QEMU in the virt
platform.

This patch introduces support for this timer abstracting the way the
timer registers are actually accessed. This is needed because different
architectures (for example ARMv7-R vs ARMv8-A) use different registers
and even the same architecture (ARMv8-A) can actually use different
timers (ELx physical timers vs ELx virtual timers).

So we introduce the common driver here but the actual SoC / architecture
/ board must provide the three helpers (arm_arch_timer_set_compare(),
arm_arch_timer_toggle(), arm_arch_timer_count()) using an header file
imported through the arch/cpu.h header file.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2020-02-01 08:08:43 -05:00
..
common global: Remove leading/trailing blank lines in files 2019-12-11 19:17:27 +01:00
context drivers: timer: Add per-core ARM architected timer 2020-02-01 08:08:43 -05:00
critical tests: fix test identifiers 2019-12-09 15:53:44 -05:00
device kernel: init: provide access to kernel startup state 2019-12-11 14:45:40 -08:00
early_sleep tests: fix test identifiers 2019-12-09 15:53:44 -05:00
fatal tests/kernel/fatal: add volatile to prevent compiler optimization 2020-01-22 07:08:12 -08:00
fifo tests: fifo: assert of NULL from k_fifo_get 2019-12-10 10:39:59 -05:00
fp_sharing arch: arm: Move ARM code to AArch32 sub-directory 2019-12-20 11:40:59 -05:00
gen_isr_table arch: arm: Move ARM code to AArch32 sub-directory 2019-12-20 11:40:59 -05:00
interrupt arch: arm: Move ARM code to AArch32 sub-directory 2019-12-20 11:40:59 -05:00
lifo kernel/sys_clock.h: Deprecate and convert uses of old conversions 2019-11-08 11:08:58 +01:00
mbox
mem_heap/mheap_api_concept
mem_pool global: Remove leading/trailing blank lines in files 2019-12-11 19:17:27 +01:00
mem_protect tests: userspace: test syscall irq context 2020-01-16 08:51:16 +01:00
mem_slab global: Remove leading/trailing blank lines in files 2019-12-11 19:17:27 +01:00
mp kernel: cleanup and formally define CPU start fn 2020-01-13 16:35:10 -05:00
msgq/msgq_api tests: adjust resource pool sizes for 64-bit 2019-12-12 14:48:42 -08:00
mutex tests: fix test identifiers 2019-12-09 15:53:44 -05:00
obj_tracing tests: obj tracing: fix counting 2019-12-10 10:40:16 -05:00
pending global: Remove leading/trailing blank lines in files 2019-12-11 19:17:27 +01:00
pipe kernel: pipe: runtime error checking 2020-01-20 17:19:54 -05:00
poll tests: kernel: poll: Add checks when having zero events 2020-01-03 11:26:46 -08:00
profiling/profiling_api kconfig: Remove redundant $ZEPHYR_BASE from 'source's 2020-01-06 09:48:53 -05:00
queue tests: queue: fix SMP issue 2019-12-18 11:17:33 -08:00
sched global: Remove leading/trailing blank lines in files 2019-12-11 19:17:27 +01:00
semaphore/semaphore tests: test k_sem_init() 2020-01-20 17:19:54 -05:00
sleep tests: fix test identifiers 2019-12-09 15:53:44 -05:00
smp
spinlock
stack/stack tests: stack: consolidate tests 2019-11-15 08:04:52 -05:00
threads tests: dynamic_thread: disable on x86 2020-01-13 16:35:10 -05:00
tickless kernel/sys_clock.h: Deprecate and convert uses of old conversions 2019-11-08 11:08:58 +01:00
timer tests/kernel: timer_api: Remove build_only tickless variant 2020-01-16 07:43:40 -06:00
workq kernel/sys_clock.h: Deprecate and convert uses of old conversions 2019-11-08 11:08:58 +01:00
xip