虚拟内核内存布局:负值



我正在将 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 位数据类型。

相关内容

  • 没有找到相关文章

最新更新