Add option in AMI UEFI bios menu (how to?)

No Problem, here you go. Picture is taken from ASUS Homepage but it shows the Menu. You can Sync All Cores (that is working in the modded bios and all cores, up to 8, will be set) But you can´t change the core ratio for each core up to 8 cores, only 4. Sorry for my bad english.

So you want essentially to have ‘1-core ratio limit’ to ‘8-core ratio limit’ with eight entries listed? Looking at your IFR Code looks like maybe variable 1DF controlls this setting set by the ‘8 bit unsigned int’ last byte value. This is what I would do. Create a RU.EFI Usb disk and take a look at what variable 1DF is set at after different values are set of Core Ratio Limit. I would do this so you don’t spend time reflashing your bios every time you get something wrong. I see a pattern though in values ‘02’ to ‘04’ being set for each setting. Perhaps higher values may affect higher cores. Perhaps not. Worth experimenting with that first. Also good to read the specification and datasheet for your processor and see if its actually supported because if that doesn’t work maybe there is a register you could set instead.

Also can I see a little more of that form a few lines earlier?

Yes, that is what I want, eight entries for every core. I think the CPU can handle it (coffee lake 6 core) but the problem is that the board was not designed for more then 8 cores (4 native plus HT) I will try what you said in the next few days, I have to wait for some conductive tape to bridge two contacts underneath the cpu.

Sure, here is the part a few lines earlier. If you want to see the full text, it´s inside the attachment in post #17.

@oldirdey

I looked into your setup ifr code for the latest Maximus Impact 8 bios ver 3801 and this is what I found for every ‘Core Ratio Limit’:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
Suppress If: {0A 82}
0x4D1B3 Variable 0xEA4 equals value in list (0x0, 0x1) {14 0A A4 0E 02 00 00 00 01 00}
0x4D1BD String: , Variable: 0x1FD5 {1C 90 78 1A 7C 1A 0F 29 34 00 D5 1F 14 00 14 00}
0x4D1CD End {29 02}
0x4D1CF Suppress If: {0A 82}
0x4D1D1 True {46 02}
0x4D1D3 Numeric: (1103806597128-1103806597128) , Variable: 0x1FD4 {07 91 02 00 02 00 BC 00 34 00 D4 1F 00 10 00 FF 01}
0x4D1E4 Default: 8 Bit, Value: 0x0 {5B 06 00 00 00 00}
0x4D1EA End {29 02}
0x4D1EC End If {29 02}
0x4D1EE End If {29 02}
0x4D1F0 Suppress If: {0A 82}
0x4D1F2 Variable 0xEA4 equals value in list (0x0, 0x1, 0x2) {14 0C A4 0E 03 00 00 00 01 00 02 00}
0x4D1FE String: , Variable: 0x1FFE {1C 90 79 1A 7D 1A 10 29 34 00 FE 1F 14 00 14 00}
0x4D20E End {29 02}
0x4D210 Suppress If: {0A 82}
0x4D212 True {46 02}
0x4D214 Numeric: (1103806597128-1103806597128) , Variable: 0x1FFD {07 91 02 00 02 00 BD 00 34 00 FD 1F 00 10 00 FF 01}
0x4D225 Default: 8 Bit, Value: 0x0 {5B 06 00 00 00 00}
0x4D22B End {29 02}
0x4D22D End If {29 02}
0x4D22F End If {29 02}
0x4D231 Suppress If: {0A 82}
0x4D233 Variable 0xEA4 equals value in list (0x0, 0x1, 0x2, 0x3) {14 0E A4 0E 04 00 00 00 01 00 02 00 03 00}
0x4D241 String: , Variable: 0x2027 {1C 90 7A 1A 7E 1A 11 29 34 00 27 20 14 00 14 00}
0x4D251 End {29 02}
0x4D253 Suppress If: {0A 82}
0x4D255 True {46 02}
0x4D257 Numeric: (1103806597128-1103806597128) , Variable: 0x2026 {07 91 02 00 02 00 BE 00 34 00 26 20 00 10 00 FF 01}
 


The numeric variables that hold the ratio values are 1FAB, 1FD4, 1FFD, and 2026. Interesting to note that they ascend by 29 hexadecimal increment after each one. That 29 value increase is also present for the Maximus X Hero which is setup for an 8 core cpu with 8 Core Ratio Values. The problem is wether or not if you extrapolate the next 4 values and change them would they do anything or not because the bios may not be coded to respond to those variables. So I would recommend you create an RU efi fat32 formated usb disk and copy RU.EFI onto the EFI/BOOT folder and rename bootx64.efi and boot from it. Also turn on per core ratio mode and change the first 4 ratio values. Then in RU.efi check out those first variables within 'SETUP' and also change the value of 0x204F (which is 2026+29) and see if the value of the 5th core changes. If so then it would be simple to make changes to the bios though adding entries would require removal of equal bytes to keep the file size the same possibly. First tackle one problem at a time. Verify the addresses that affect your 5th to 8th cores!

Good Luck!

@davidm71 Thank you very much for your response and effort to look into the file. I´ll be back in a few days and will tell you my result with RU.EFI.

@oldirdey

Look forward to hearing about your results!

I just wanted share the latest version of Universal IFR Extractor ver LS 0.3 by LongSoft which is a fork of Donavon6000’s IFR Extractor which only goes to version 0.5 I believe. I compiled it myself for 64 bit Windows as LongSoft (aka CodeRush) only published the source code and I got to say it does a nicer job in that its more descriptive translating the byte code.

Here it is for others to play with: http://www.mediafire.com/file/777arjm4cb…tractor.7z/file

Thanks @davidm71 - Here’s 0.7 of the other one. Not sure where I found, or which source it’s compiled from?
https://www.sendspace.com/file/66f7m0

Version .7 output looks exactly like LS .3. I studied and compared the IFR from both versions and could not find a difference. Thanks for sharing your copy.

I thought so too, but then I compared an output in hex and found lots of differences
Here, compare this file output IFR in text in hex compare, lots of removed, added, and modified + 1kb difference without even looking in hex

Though, I’m still not sure which is better, or newer? https://www.sendspace.com/file/pysvul

@davidm71

Today I installed 8700k CPU and tried to find variables in RU.efi. But I can´t find 1FAB and following, setup module ends with 10FC. Did I take a look into the wrong module or did I miss something?

Edit: Next I will try is to take screenshot of every page in setup module, change core 1-4 in bios to different value, and take a look if some bits are changing.

@oldirdey ,

Can you please dump your tables to a file and post the txt file in a zip? I think F2 dumps them to a file after setting random values in your cpu ratio tables. I did it last week but can’t remember which F-Key to be certain.

Thanks

Also what bios version are you using?? And have you tried hitting PG-Down?

Edit:

Debug with RU:
Save registers to a file including:
Single page F2, memory binary SHIFT-F2 and all PCI registers

@oldirdey

I can answer why you may not find that variable in your setup file. Thats because the variable exists in anothers Varstore. Varstore 34 to be exact which corresponds to:

1
2
3
4
5
6
7
8
9
10
11
12
13
 

 
QuestionId: 0x290D equals value in list (0x0) {14 08 0D 29 01 00 00 00}
0x4D178 String: 1-Core Ratio Limit, VarStoreInfo (VarOffset/VarName): 0x1FAC, VarStore: 0x34
 

 
0x4B2BC VarStore: VarStoreId: 0x34 [A3A3B874-7636-4182-BA1E-F52C584494E3], Size: 0x245D, Name: VARSTORE_OCMR_SETTINGS_NAME
 
{24 32 74 B8 A3 A3 36 76 82 41 BA 1E F5 2C 58 44 94 E3 34 00 5D 24 56 41 52 53 54 4F 52 45 5F 4F 43 4D 52 5F 53 45 54 54 49 4E 47 53 5F 4E 41 4D 45 00}
 

 
 


On my X99 system items and variables related to the cpu originated in the IntelSetup module. I couldn't find that one in your bios so it could be any module but I think its findable with trial and error.



Many thanks for this. I tried it on an old HP Z420/620 bios that was always crashing using Univ IFR extractor version 0.6 (the latest I have) and giving only partial results, and your version works flawlessly and gives a full dump with all variables visible.
For your reference I have uploaded IFR version 0.6 here: https://files.fm/u/u5g6v28g
Also thanks for looking into Oldirdey’s question - would also be interested in getting this working.

@davidm71 I will give you more information later from home when I have access to the system. Will try to find the other module and if still needed, uploading the dump files. As for now thank you very much for helping me out.

@mtothaj and @oldirdey

Glad the new version worked. Someone posted ver 0.7 a few posts back you should also try.

As far as finding that module at this point its going take some rolling up our sleeves to find it.

If we can’t find it I would suggest asking Coderush.

@davidm71 The worst case scenario at this point is to take a look into each module. Time consuming but doable. I am ready to do my homework :slight_smile:

@davidm71 @oldirdey - I noticed this a while back, but compared to e.g. the MSI X99A Godlike Gaming bios you mentioned, the ASUS bioses have been prepared in a lazy / sloppy way in that the text descriptors for the bios guid’s are missing i.e. text column detailing module names in UEFI tool is not populated. This makes it harder to find the respective module as one has only the guid numbers to go on. However, with both bioses being AMI from a similar time frame, they mostly match up, so it is possible to use the MSI bios as a refrence table for the guid names to narrow down the search.


Asus bios:






MSI bios:

@mtothaj

Try using Uefitool NE Alpha 51