2012-08-17 128 views
0

我將omap3-board的驅動程序移植到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 

爲什麼記憶的價值如此之大和負面?我該如何解決它?

回答

1

您可能正在使用帶符號的32位數據類型操作無符號的32位值。使用無符號的32位數據類型或64位數據類型。

實際上,你甚至可能在32位數據類型中操縱64位值,很難說。我建議使用64位數據類型。