I just found the mtrr after booting is not right.
~ # cat /proc/mtrr
reg00: base=0x00000000 ( 0MB), size=985088MB: write-back, count=1
reg01: base=0x80000000 (2048MB), size=984064MB: write-back, count=1
reg02: base=0xc0000000 (3072MB), size=983296MB: write-back, count=1
and it should be
reg00: base=0x00000000 ( 0MB), size=2048MB: write-back, count=1
reg01: base=0x80000000 (2048MB), size=1024MB: write-back, count=1
reg02: base=0xc0000000 (3072MB), size=256MB: write-back, count=1
and it is has 98340MB more = 0xf0 0000 0000.
Regards
YH