--- memtest86+-4.20.orig/dmi.c 2011-01-23 20:11:04.000000000 +0200 +++ memtest86+-4.20/dmi.c 2011-11-16 23:17:07.409478894 +0200 @@ -263,12 +263,16 @@ void print_dmi_info(void){ cprint(yof+1, POP2_X+17+of, ","); of++; } - hprint3(yof+1, POP2_X+17+of, md_maps[j]->start<<10, 12); - of += 12; + hprint3(yof+1, POP2_X+17+of, md_maps[j]->start>>22, 4); + of += 4; + hprint3(yof+1, POP2_X+17+of, md_maps[j]->start<<10, 8); + of += 8; cprint(yof+1, POP2_X+17+of, "-"); of++; - hprint3(yof+1, POP2_X+17+of, md_maps[j]->end<<10, 12); - of += 12; + hprint3(yof+1, POP2_X+17+of, md_maps[j]->end>>22, 4); + of += 4; + hprint3(yof+1, POP2_X+17+of, ((md_maps[j]->end+1)<<10) - 1, 8); + of += 8; } if (!mapped) cprint(yof+1, POP2_X+17, "No mapping (Interleaved Device)");