• Yinghai Lu's avatar
    x86: fix mttr trimming · 20651af9
    Yinghai Lu authored
    Pavel Emelyanov reported that his networking card did not work
    and bisected it down to:
    
    "
    The commit
    
      093af8d7
      x86_32: trim memory by updating e820
    
    broke my e1000 card: on loading driver says that
    
      e1000: probe of 0000:04:03.0 failed with error -5
    
    and the interface doesn't appear.
    "
    
    on a 32-bit kernel, base will overflow when try to do PAGE_SHIFT,
    and highest_addr will always less 4G.
    
    So use pfn instead of address to avoid the overflow when more than
    4g RAM is installed on a 32-bit kernel.
    
    Many thanks to Pavel Emelyanov for reporting and testing it.
    Bisected-by: default avatarPavel Emelyanov <xemul@openvz.org>
    Signed-off-by: default avatarYinghai Lu <yinghai.lu@sun.com>
    Tested-by: default avatarPavel Emelyanov <xemul@openvz.org>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    20651af9
main.c 22.8 KB