我想得到linux“jiffies”变量的物理地址,这样我就可以通过读取这个内存地址的内容来读取它。
最佳答案
从内核模式代码(例如,可加载的内核模块)中,您需要包含<linux/jiffies.h>
头文件。它包含jiffies
变量的定义:
extern unsigned long volatile __jiffy_data jiffies;
但是,它也包含以下警告:
/*
* The 64-bit value is not atomic - you MUST NOT read it
* without sampling the sequence number in xtime_lock.
* get_jiffies_64() will do this for you as appropriate.
*/
也就是说,你不应该直接访问这个变量。它是一个64位变量,对它的访问在32位系统上不是原子的,因此来自同一头文件的
get_jiffies_64()
函数。在64位系统上,该函数是一个非常简单的内联函数,返回jiffies
变量的值。另一方面,从用户空间代码来看,您根本无法访问内核内存。