在我机器上/proc/cpuinfo文件输出内容为:
processor : 1
vendor_id : AuthenticAMD
cpu family : 15
model : 65
model name : Dual-Core AMD Opteron(tm) Processor 2210 EE
stepping : 3
cpu MHz : 1804.638
cache size : 1024 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy
bogomips : 3608.64
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc
请问其中wp这项是什么含义?
wp为X86编程模式中CR0寄存器第16 bit的标志位,为Write Protection的意思,其实际意义为:
1,如果该位被置,则在内核特权级下修改用户态的数据需要检查对应数据区域R/W值是否为1,如果不是1,则不能修改数据;
2,如果该位被清,则在内核特权级下可以不管修改数据区域的R/W值而直接进行修改。
该标志位可以在UNIX系统和类UNIX系统中实现进程创建的写时复制。
想更具体的了解该标志位可以参考Intel开发者手册3A P2-20。