Hi, I did a 771 mod on Asus P5B motherboard. And with xeon in, it doesn't set memory timings correctly when left on auto. The timings are always set to 5-6-6-15 with tRFC 42, which is a bios default (according to amibcp). It seems to me like some kind of bug. I wouldn't mind that bug much, if I could set the timings manually. But I can't, because the maximal value I can set for tRFC is 42 and the memory modules I have requires tRFC 52. So I would like to modify the bios to allow higher tRFC timing setting. I think it should be possible.
This motherboard has a 965P chipset, and according to datasheet, the tRFC timing is set as the lowest 9 bits of CYCTRK ACT register, which should allow setting it as high as 511. I have a Gigabyte motherboard with 965P chipset, which allows tRFC setting up to 511 in bios.
The tFRC setting in the bios is as a multiple choice option (not a number input) and the options are given as "** DRAM Clocks" strings with 5 options, 20 lowest, 42 highest. Those strings can be found in amibcp as strings with tokens 0x041D to 0x0421. I haven't found what a token means in this context. Is it some kind of pointer used in the bios to reference a string? As I haven't figure out how to use the token number, I searched for these strings in the bios binary. And I found them in Multi Language module (ID 21 according to mmtool), which seems like a dead end to me as this module is only list of strings. I was hoping that by searching for these strings, I could find a place in the code, when the setting happens. I also tried opening the bios in disassembler (IDA), but I haven't been able to find anything useful. Probably because I'm not fluent with assembly.
So now I'm lost and don't know what to try next. Could someone please help me or at least point me at the right direction?
I'm attaching the bios file. It's the latest version from Asus with xeon microcode added.
EDIT: I've noticed that the attachment wasn't added, so I'm adding it now.
This motherboard has a 965P chipset, and according to datasheet, the tRFC timing is set as the lowest 9 bits of CYCTRK ACT register, which should allow setting it as high as 511. I have a Gigabyte motherboard with 965P chipset, which allows tRFC setting up to 511 in bios.
The tFRC setting in the bios is as a multiple choice option (not a number input) and the options are given as "** DRAM Clocks" strings with 5 options, 20 lowest, 42 highest. Those strings can be found in amibcp as strings with tokens 0x041D to 0x0421. I haven't found what a token means in this context. Is it some kind of pointer used in the bios to reference a string? As I haven't figure out how to use the token number, I searched for these strings in the bios binary. And I found them in Multi Language module (ID 21 according to mmtool), which seems like a dead end to me as this module is only list of strings. I was hoping that by searching for these strings, I could find a place in the code, when the setting happens. I also tried opening the bios in disassembler (IDA), but I haven't been able to find anything useful. Probably because I'm not fluent with assembly.
So now I'm lost and don't know what to try next. Could someone please help me or at least point me at the right direction?
I'm attaching the bios file. It's the latest version from Asus with xeon microcode added.
EDIT: I've noticed that the attachment wasn't added, so I'm adding it now.