Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

MTRR mystery (Announce)

posted by Zyzzle, 07.02.2012, 08:04

Alright, now this is getting mysterious to me. Your new version seems to speed up all my i7 VESA lfb modes to maximum speed (between 8287 and 10070 MB/sec!), BUT now all system memory ABOVE 2gb is Uncached! Resetting my system to state before MTRRLFBE.exe is run restores full caching to my fullrange of DOS memory available to the system (to 3.5GB)

Also, more strangely, if I run "mtrrlfbe lfb UC -d" on my i7 system now, it freezes within 0.2 second of setting the MTRRs. It is like the situation is reversed from your older versions of MTRRLFBE where the i7 system would freeze in an identical manner AFTER lfb WC was enabled!!

It seems more apparent to me that I must manually set MTRRs somehow, but how? BIOS does not allow this and I do have your CPUID program, but how to set MTRRs with it?

Also, my C2D system's performance is dramatically improved with your latest version (2200 MB/sec), but again only with BIOS memory remapping disabled. No performance increase at all WITH memory remapping enabled.

New logs:
c2d w/o BIOS memory remapping before

LFB address: D0000000h
MTRR #0: base = 000000000h ( 0MB), mask = F80000000h (2048MB), WB, used
MTRR #1: base = 080000000h (2048MB), mask = FC0000000h (1024MB), WB, used
MTRR #2: base = 0C0000000h (3072MB), mask = FF0000000h ( 256MB), WB, used
MTRR #3: base = 0CDE00000h (3294MB), mask = FFFE00000h ( 2MB), UC, used
MTRR #4: base = 0CE000000h (3296MB), mask = FFE000000h ( 32MB), UC, used
MTRR #5: base = 000000000h ( 0MB), mask = 000000000h ( 0MB), UC, unused
MTRR #6: base = 000000000h ( 0MB), mask = 000000000h ( 0MB), UC, unused
MTRR #7: base = 000000000h ( 0MB), mask = 000000000h ( 0MB), UC, unused
Setting MTRR #5...
MTRR area D0000000-D1FEFFFFh was set to mode: UC

c2D w/o BIOS memory remapping after
LFB address: D0000000h
MTRR #0: base = 000000000h ( 0MB), mask = F80000000h (2048MB), WB, used
MTRR #1: base = 080000000h (2048MB), mask = FC0000000h (1024MB), WB, used
MTRR #2: base = 0C0000000h (3072MB), mask = FF0000000h ( 256MB), WB, used
MTRR #3: base = 0CDE00000h (3294MB), mask = FFFE00000h ( 2MB), UC, used
MTRR #4: base = 0CE000000h (3296MB), mask = FFE000000h ( 32MB), UC, used
MTRR #5: base = 0D0000000h (3328MB), mask = FFF000000h ( 16MB), UC, used
MTRR #6: base = 000000000h ( 0MB), mask = 000000000h ( 0MB), UC, unused
MTRR #7: base = 000000000h ( 0MB), mask = 000000000h ( 0MB), UC, unused
Setting MTRR #5...
MTRR area D0000000-D1FEFFFFh was set to mode: WC

C2D with bios memory remapping before
LFB address: D0000000h
MTRR #0: base = 000000000h ( 0MB), mask = F00000000h (4096MB), WB, used
MTRR #1: base = 100000000h (4096MB), mask = FC0000000h (1024MB), WB, used
MTRR #2: base = 0C0000000h (3072MB), mask = FC0000000h (1024MB), UC, used
MTRR #3: base = 0BDE00000h (3038MB), mask = FFFE00000h ( 2MB), UC, used
MTRR #4: base = 0BE000000h (3040MB), mask = FFE000000h ( 32MB), UC, used
MTRR #5: base = 000000000h ( 0MB), mask = 000000000h ( 0MB), UC, unused
MTRR #6: base = 000000000h ( 0MB), mask = 000000000h ( 0MB), UC, unused
MTRR #7: base = 000000000h ( 0MB), mask = 000000000h ( 0MB), UC, unused
Setting MTRR #5...
MTRR area D0000000-D1FEFFFFh was set to mode: UC

c2D with BiOS memory remapping after
LFB address: D0000000h
MTRR #0: base = 000000000h ( 0MB), mask = F00000000h (4096MB), WB, used
MTRR #1: base = 100000000h (4096MB), mask = FC0000000h (1024MB), WB, used
MTRR #2: base = 0C0000000h (3072MB), mask = FC0000000h (1024MB), UC, used
MTRR #3: base = 0BDE00000h (3038MB), mask = FFFE00000h ( 2MB), UC, used
MTRR #4: base = 0BE000000h (3040MB), mask = FFE000000h ( 32MB), UC, used
MTRR #5: base = 0D0000000h (3328MB), mask = FFF000000h ( 16MB), UC, used
MTRR #6: base = 000000000h ( 0MB), mask = 000000000h ( 0MB), UC, unused
MTRR #7: base = 000000000h ( 0MB), mask = 000000000h ( 0MB), UC, unused
Setting MTRR #5...
MTRR area D0000000-D1FEFFFFh was set to mode: WC

i7 system AFTER lfb WC
Host machine CPU vendor: GenuineIntel, ID: 206A7h

VESA 3.0 Intel(R)Sandybridge Desktop Graphics Chipset Accelerated VGA BIOS [32704 kB]
Intel Corporation
Intel(R)Sandybridge Desktop Graphics Controller
Hardware Version 0.0
LFB address: E0000000h
MTRR #0: base = 000000000h ( 0MB), mask = F00000000h (4096MB), WB, used
MTRR #1: base = 0E0000000h (3584MB), mask = FE0000000h ( 512MB), UC, used
MTRR #2: base = 0DE000000h (3552MB), mask = FFE000000h ( 32MB), UC, used
MTRR #3: base = 0DD800000h (3544MB), mask = FFF800000h ( 8MB), UC, used
MTRR #4: base = 100000000h (4096MB), mask = F00000000h (4096MB), WB, used
MTRR #5: base = 200000000h (8192MB), mask = E00000000h (8192MB), WB, used
MTRR #6: base = 300000000h (12288MB), mask = FE0000000h ( 512MB), WB, used
MTRR #7: base = 000000000h ( 0MB), mask = 000000000h ( 0MB), UC, unused
MTRR #8: base = 000000000h ( 0MB), mask = 000000000h ( 0MB), UC, unused
MTRR #9: base = 000000000h ( 0MB), mask = 000000000h ( 0MB), UC, unused
Setting MTRR #1...
MTRR area E0000000-E1FEFFFFh was set to mode: WC

i7 with lfb UC freezes system within 0.5 sec, before debug file can be written...
--------------------------------------------------------------------------

 

Complete thread:

Back to the forum
Board view  Mix view
22778 Postings in 2122 Threads, 402 registered users (0 online)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum