1 /* SPDX-License-Identifier: GPL-2.0 */ !! 1 #ifndef _ASM_PARAM_H 2 #ifndef __ASM_GENERIC_PARAM_H !! 2 #define _ASM_PARAM_H 3 #define __ASM_GENERIC_PARAM_H !! 3 4 !! 4 #ifndef HZ 5 #include <uapi/asm-generic/param.h> !! 5 6 !! 6 #ifdef __KERNEL__ 7 # undef HZ !! 7 8 # define HZ CONFIG_HZ /* Int !! 8 /* Safeguard against user stupidity */ 9 # define USER_HZ 100 /* som !! 9 #ifdef _SYS_PARAM_H 10 # define CLOCKS_PER_SEC (USER_HZ) /* in !! 10 #error Do not include <asm/param.h> with __KERNEL__ defined! 11 #endif /* __ASM_GENERIC_PARAM_H */ !! 11 #endif >> 12 >> 13 #include <linux/config.h> >> 14 >> 15 #include <asm/compiler.h> >> 16 >> 17 #ifdef CONFIG_DECSTATION >> 18 /* >> 19 * log2(HZ), change this here if you want another HZ value. This is also >> 20 * used in dec_time_init. Minimum is 1, Maximum is 15. >> 21 */ >> 22 # define LOG_2_HZ 7 >> 23 # define HZ (1 << LOG_2_HZ) >> 24 /* >> 25 * Ye olde division-by-multiplication trick. >> 26 * This works only if 100 / HZ <= 1 >> 27 */ >> 28 # define QUOTIENT ((1UL << (32 - LOG_2_HZ)) * 100) >> 29 # define hz_to_std(a) \ >> 30 ({ unsigned long __res; \ >> 31 unsigned long __lo; \ >> 32 __asm__("multu\t%2,%3\n\t" \ >> 33 : "=h" (__res), "=l" (__lo) \ >> 34 : "r" (a), "r" (QUOTIENT) \ >> 35 : GCC_REG_ACCUM); \ >> 36 (__typeof__(a)) __res;}) >> 37 >> 38 #else /* Not a DECstation */ >> 39 >> 40 /* This is the internal value of HZ, that is the rate at which the jiffies >> 41 counter is increasing. This value is independent from the external value >> 42 and can be changed in order to suit the hardware and application >> 43 requirements. */ >> 44 # define HZ 100 >> 45 # define hz_to_std(a) (a) >> 46 >> 47 #endif /* Not a DECstation */ >> 48 >> 49 #else /* defined(__KERNEL__) */ >> 50 >> 51 /* This is the external value of HZ as seen by user programs. Don't change >> 52 unless you know what you're doing - changing breaks binary compatibility. */ >> 53 #define HZ 100 >> 54 >> 55 #endif /* defined(__KERNEL__) */ >> 56 #endif /* defined(HZ) */ >> 57 >> 58 #define EXEC_PAGESIZE 65536 >> 59 >> 60 #ifndef NGROUPS >> 61 #define NGROUPS 32 >> 62 #endif >> 63 >> 64 #ifndef NOGROUP >> 65 #define NOGROUP (-1) >> 66 #endif >> 67 >> 68 #define MAXHOSTNAMELEN 64 /* max length of hostname */ >> 69 >> 70 #ifdef __KERNEL__ >> 71 # define CLOCKS_PER_SEC 100 /* frequency at which times() counts */ >> 72 #endif >> 73 >> 74 #endif /* _ASM_PARAM_H */ 12 75
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.