我正在将omap3板的驱动程序移植到3.5内核。当我开始创业时,我看到了:
Memory: 256MB = 256MB total
Memory: 253564k/253564k available, 8580k reserved, 3226106074K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xc04a78ea - 0xc0573f24 ( 0 kB)
vmalloc : 0xc0573f24 - 0xc0573f2c (5276 MB)
lowmem : 0xc0573fbc - 0xc0573f30 (-1068285412 MB)
modules : 0xc03d93e4 - 0xc04a7927 (-65536 MB)
.text : 0xffff1000 - 0x00000004 (-1048576 kB)
.init : 0xfffe0000 - 0x00000380 (-796917760 kB)
.data : 0xff000000 - 0x000002e8 (-1073741824 kB)
.bss : 0xd0000000 - 0x00000100 (-1090519040 kB)
SLUB: Genslabs=11, HWalign=64, Order=0--1068023944, MinObjects=-1068023968, CPUs=-1071855052, Nodes=-1071855184
为什么记忆的价值如此巨大和消极?我怎样才能修好它?
最佳答案
您可能正在使用有符号32位数据类型操作无符号32位值。使用无符号的32位数据类型或64位数据类型。
实际上,您甚至可能在32位数据类型中操作64位值,这很难说。我建议使用64位数据类型。
关于linux - 虚拟内核内存布局:负值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12003076/