mirror of
https://github.com/torvalds/linux.git
synced 2024-11-15 08:31:55 +00:00
ARM: arch_timers: switch to physical timers if HYP mode is available
If we're booted in HYP mode, it is possible that we'll run some kind of virtualized environment. In this case, it is a better to switch to the physical timers, and leave the virtual timers to guests. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Mark Rutland <mark.rutland@arm.com> Acked-by: Catalin Marinas <catalin.marinas@arm.com>
This commit is contained in:
parent
c2b01e06a9
commit
8266891e25
@ -19,6 +19,7 @@
|
|||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
|
|
||||||
#include <asm/arch_timer.h>
|
#include <asm/arch_timer.h>
|
||||||
|
#include <asm/virt.h>
|
||||||
|
|
||||||
#include <clocksource/arm_arch_timer.h>
|
#include <clocksource/arm_arch_timer.h>
|
||||||
|
|
||||||
@ -364,10 +365,14 @@ int __init arch_timer_init(void)
|
|||||||
of_node_put(np);
|
of_node_put(np);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
* If HYP mode is available, we know that the physical timer
|
||||||
|
* has been configured to be accessible from PL1. Use it, so
|
||||||
|
* that a guest can use the virtual timer instead.
|
||||||
|
*
|
||||||
* If no interrupt provided for virtual timer, we'll have to
|
* If no interrupt provided for virtual timer, we'll have to
|
||||||
* stick to the physical timer. It'd better be accessible...
|
* stick to the physical timer. It'd better be accessible...
|
||||||
*/
|
*/
|
||||||
if (!arch_timer_ppi[VIRT_PPI]) {
|
if (is_hyp_mode_available() || !arch_timer_ppi[VIRT_PPI]) {
|
||||||
arch_timer_use_virtual = false;
|
arch_timer_use_virtual = false;
|
||||||
|
|
||||||
if (!arch_timer_ppi[PHYS_SECURE_PPI] ||
|
if (!arch_timer_ppi[PHYS_SECURE_PPI] ||
|
||||||
|
Loading…
Reference in New Issue
Block a user