~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/asm-generic/timex.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/asm-generic/timex.h (Version linux-6.12-rc7) and /include/asm-i386/timex.h (Version linux-2.6.0)


  1 /* SPDX-License-Identifier: GPL-2.0 */         !!   1 /*
  2 #ifndef __ASM_GENERIC_TIMEX_H                  !!   2  * linux/include/asm-i386/timex.h
  3 #define __ASM_GENERIC_TIMEX_H                  !!   3  *
                                                   >>   4  * i386 architecture timex specifications
                                                   >>   5  */
                                                   >>   6 #ifndef _ASMi386_TIMEX_H
                                                   >>   7 #define _ASMi386_TIMEX_H
                                                   >>   8 
                                                   >>   9 #include <linux/config.h>
                                                   >>  10 #include <asm/msr.h>
                                                   >>  11 
                                                   >>  12 #ifdef CONFIG_X86_PC9800
                                                   >>  13    extern int CLOCK_TICK_RATE;
                                                   >>  14 #else
                                                   >>  15 #ifdef CONFIG_MELAN
                                                   >>  16 #  define CLOCK_TICK_RATE 1189200 /* AMD Elan has different frequency! */
                                                   >>  17 #else
                                                   >>  18 #  define CLOCK_TICK_RATE 1193182 /* Underlying HZ */
                                                   >>  19 #endif
                                                   >>  20 #endif
                                                   >>  21 
                                                   >>  22 #define CLOCK_TICK_FACTOR       20      /* Factor of both 1000000 and CLOCK_TICK_RATE */
                                                   >>  23 #define FINETUNE ((((((long)LATCH * HZ - CLOCK_TICK_RATE) << SHIFT_HZ) * \
                                                   >>  24         (1000000/CLOCK_TICK_FACTOR) / (CLOCK_TICK_RATE/CLOCK_TICK_FACTOR)) \
                                                   >>  25                 << (SHIFT_SCALE-SHIFT_HZ)) / HZ)
  4                                                    26 
  5 /*                                                 27 /*
  6  * If you have a cycle counter, return the val !!  28  * Standard way to access the cycle counter on i586+ CPUs.
                                                   >>  29  * Currently only used on SMP.
                                                   >>  30  *
                                                   >>  31  * If you really have a SMP machine with i486 chips or older,
                                                   >>  32  * compile for that, and this will just always return zero.
                                                   >>  33  * That's ok, it just means that the nicer scheduling heuristics
                                                   >>  34  * won't work for you.
                                                   >>  35  *
                                                   >>  36  * We only use the low 32 bits, and we'd simply better make sure
                                                   >>  37  * that we reschedule before that wraps. Scheduling at least every
                                                   >>  38  * four billion cycles just basically sounds like a good idea,
                                                   >>  39  * regardless of how fast the machine is. 
  7  */                                                40  */
  8 typedef unsigned long cycles_t;                !!  41 typedef unsigned long long cycles_t;
  9 #ifndef get_cycles                             !!  42 
 10 static inline cycles_t get_cycles(void)        !!  43 extern cycles_t cacheflush_time;
                                                   >>  44 
                                                   >>  45 static inline cycles_t get_cycles (void)
 11 {                                                  46 {
                                                   >>  47 #ifndef CONFIG_X86_TSC
 12         return 0;                                  48         return 0;
 13 }                                              !!  49 #else
                                                   >>  50         unsigned long long ret;
                                                   >>  51 
                                                   >>  52         rdtscll(ret);
                                                   >>  53         return ret;
 14 #endif                                             54 #endif
                                                   >>  55 }
 15                                                    56 
 16 /*                                             !!  57 extern unsigned long cpu_khz;
 17  * Architectures are encouraged to implement r << 
 18  * and define this in order to avoid the expen << 
 19  * calibration during boot.                    << 
 20  */                                            << 
 21 #undef ARCH_HAS_READ_CURRENT_TIMER             << 
 22                                                    58 
 23 #endif /* __ASM_GENERIC_TIMEX_H */             !!  59 #endif
 24                                                    60 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php