linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/5] ARM: arch_timers: switch to physical timers if HYP mode is available
@ 2012-09-15 15:39 Christoffer Dall
  2012-09-15 15:39 ` [PATCH 2/5] ARM: KVM: arch_timers: Add minimal infrastructure Christoffer Dall
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Christoffer Dall @ 2012-09-15 15:39 UTC (permalink / raw)
  To: linux-arm-kernel

From: Marc Zyngier <marc.zyngier@arm.com>

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>
---
 arch/arm/kernel/arch_timer.c |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/arch/arm/kernel/arch_timer.c b/arch/arm/kernel/arch_timer.c
index c04c2a6..8a30186 100644
--- a/arch/arm/kernel/arch_timer.c
+++ b/arch/arm/kernel/arch_timer.c
@@ -25,6 +25,7 @@
 #include <asm/arch_timer.h>
 #include <asm/system_info.h>
 #include <asm/sched_clock.h>
+#include <asm/virt.h>
 
 static unsigned long arch_timer_rate;
 
@@ -490,10 +491,14 @@ int __init arch_timer_of_register(void)
 		arch_timer_ppi[i] = irq_of_parse_and_map(np, i);
 
 	/*
+	 * 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
 	 * 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;
 
 		if (!arch_timer_ppi[PHYS_SECURE_PPI] ||

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-09-15 15:39 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-15 15:39 [PATCH 1/5] ARM: arch_timers: switch to physical timers if HYP mode is available Christoffer Dall
2012-09-15 15:39 ` [PATCH 2/5] ARM: KVM: arch_timers: Add minimal infrastructure Christoffer Dall
2012-09-15 15:39 ` [PATCH 3/5] ARM: KVM: arch_timers: Add guest timer core support Christoffer Dall
2012-09-15 15:39 ` [PATCH 4/5] ARM: KVM: arch_timers: Add timer world switch Christoffer Dall
2012-09-15 15:39 ` [PATCH 5/5] ARM: KVM: arch_timers: Wire the init code and config option Christoffer Dall

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).