_KUSER_SHARED_DATA
/*这是一个结构体,翻译过来就是:
Kernel与User分享的一块数据。
0环与3环共享的一块内存
*/
- 在User层和Kernel层分别定义了一个_KUSER_SHARED_DATA结构区域,用于User层和Kernel层共享某些数据
- 它们使用固定的地址值映射,_KUSER_SHARED_DATA结构区域在User和 Kernel层地址分别为:
User层地址为: 0x7ffe0000
Kernnel层地址为: 0xffdf0000
他们两个线性地址对应的物理页是一样的,只不过映射了两份
特别说明:
虽然指向的是同一个物理页,但在User层是只读的,在Kernnel层是可读可写的.
我们来看看这个结构
回顾之前的
也就是说我们用了SystemCall的方式进入0环,下面我们来看看0x7FFE0300储存的是什么
当通过eax=1来执行cpuid指令时,处理器的特征信息被放在ecx和edx寄存器中, 其中edx包含了一