Commit 29a761b7 authored by Philippe Gerum's avatar Philippe Gerum
Browse files

arm64/ipipe: drop TSC-related leftovers

In addition, __ipipe_mach_get_tsc() is inlined and untraced for better
performances, especially when IPIPE_TRACE is enabled.
parent 23e102c5
......@@ -73,18 +73,16 @@ struct ipipe_arch_sysinfo {
/* arch specific stuff */
extern char __ipipe_tsc_area[];
void __ipipe_mach_get_tscinfo(struct __ipipe_tscinfo *info);
#ifdef CONFIG_IPIPE_ARM_KUSER_TSC
unsigned long long __ipipe_tsc_get(void) __attribute__((long_call));
void __ipipe_tsc_register(struct __ipipe_tscinfo *info);
void __ipipe_tsc_update(void);
extern unsigned long __ipipe_kuser_tsc_freq;
#define __ipipe_hrclock_freq __ipipe_kuser_tsc_freq
#else /* ! generic tsc */
static inline void __ipipe_mach_update_tsc(void) {}
unsigned long long __ipipe_mach_get_tsc(void);
static inline notrace unsigned long long __ipipe_mach_get_tsc(void)
{
return arch_counter_get_cntvct();
}
#define __ipipe_tsc_get() __ipipe_mach_get_tsc()
void __ipipe_tsc_register(struct __ipipe_tscinfo *info);
static inline void __ipipe_tsc_update(void) {}
......@@ -92,7 +90,6 @@ static inline void __ipipe_tsc_update(void) {}
extern unsigned long __ipipe_hrtimer_freq;
#define __ipipe_hrclock_freq __ipipe_hrtimer_freq
#endif /* !__ipipe_mach_hrclock_freq */
#endif /* ! generic tsc */
#ifdef CONFIG_IPIPE_DEBUG_INTERNAL
extern void (*__ipipe_mach_hrtimer_debug)(unsigned irq);
......
......@@ -159,15 +159,6 @@ static inline unsigned ipipe_test_and_stall_root(void)
#endif /* !__ASSEMBLY__ */
#ifdef CONFIG_IPIPE_LEGACY
#define __IPIPE_FEATURE_PREEMPTIBLE_SWITCH 1
#define __IPIPE_FEATURE_SYSINFO_V2 1
#ifdef CONFIG_IPIPE_ARM_KUSER_TSC
#define __IPIPE_FEATURE_KUSER_TSC 1
#endif
#endif /* CONFIG_IPIPE_LEGACY */
#endif /* CONFIG_IPIPE */
#endif /* __ASM_ARM_IPIPE_BASE_H */
......@@ -49,10 +49,7 @@
#include <asm/unistd.h>
#include <asm/mmu_context.h>
#include <asm/exception.h>
#ifndef CONFIG_IPIPE_ARM_KUSER_TSC
#include <asm/arch_timer.h>
#endif
static void __ipipe_do_IRQ(unsigned irq, void *cookie);
......@@ -502,7 +499,6 @@ void deferred_switch_mm(struct mm_struct *next)
#endif /* finish_arch_post_lock_switch */
#endif /* CONFIG_MMU */
#ifndef CONFIG_IPIPE_ARM_KUSER_TSC
static struct __ipipe_tscinfo tsc_info;
void __init __ipipe_tsc_register(struct __ipipe_tscinfo *info)
......@@ -510,14 +506,11 @@ void __init __ipipe_tsc_register(struct __ipipe_tscinfo *info)
tsc_info = *info;
__ipipe_hrclock_freq = info->freq;
}
void __ipipe_mach_get_tscinfo(struct __ipipe_tscinfo *info)
{
*info = tsc_info;
}
unsigned long long __ipipe_mach_get_tsc(void) {
return arch_counter_get_cntvct();
}
#endif
EXPORT_SYMBOL_GPL(do_munmap);
EXPORT_SYMBOL_GPL(show_stack);
......
......@@ -541,9 +541,7 @@ u64 smp_irq_stat_cpu(unsigned int cpu)
static inline void ipi_timer(void)
{
#ifdef CONFIG_IPIPE
#ifndef CONFIG_IPIPE_ARM_KUSER_TSC
__ipipe_mach_update_tsc();
#endif /* CONFIG_IPIPE_ARM_KUSER_TSC */
#endif /* CONFIG_IPIPE */
tick_receive_broadcast();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment