/* * arch/arm/include/asm/timex.h * * Copyright (C) 1997,1998 Russell King * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * Architecture Specific TIME specifications */ #ifndef _ASMARM_TIMEX_H #define _ASMARM_TIMEX_H #ifdef CONFIG_ARCH_MULTIPLATFORM #define CLOCK_TICK_RATE 1000000 #else #include #endif typedef unsigned long cycles_t; #if defined(CONFIG_AVM_ENHANCED) && defined(CONFIG_ARCH_IPQ806X_DT) /*--- compatible to mips: 1 cycle == cpu_freq / 2 ---*/ #define get_cycles() ({ cycles_t c; __asm__ __volatile__ ("mrc p15, 0, %0, c9, c13, 0" : "=r" (c)); (c) << 5; }) #else/*--- #if defined(CONFIG_AVM_ENHANCED) ---*/ #define get_cycles() ({ cycles_t c; read_current_timer(&c) ? 0 : c; }) #endif/*--- #else ---*//*--- #if defined(CONFIG_AVM_ENHANCED) ---*/ #endif