Gigabyte’ Cool GUI
BIOS Setup Structure
The update to my comprehensive
Aptio 5's Setup Data structure pdf,
exclusively for Gigabyte boards
Here’s what we dealing with
Like other OEMs notorious for implementing their
own form browsers, Gigabyte inserts an additional
setup table on their both desktop and portable
systems, leaving AMITSE module
semi-effective in bios unlocking.
I'm happy to announce that I've managed to
understand the structure and editing of
the Cool GUI.
2
Initial Look
for reference
6 tabs in total, nothing changed
Getting started
As you may know, a bios driver isn't entirely
monolithic piece of code having the same data layout
all over the file. To find the data in CoolGUIDxe,
search for the following sequence in UEFITool:
“08 97 D6 32 01 70 44 47 95 F2 2E 4D 76 39 6C 72”
The needed setup table will be right above it.
If it’s nowhere to be found, try looking for Form ID of
Favorites tab which can be found in Setup IFR.
If there’s no favorites tab as well, it’s likely that your
bios setup screen works the old way Aptio used to.
4
Upcoming content
Organization Chart Explanation on the Putting it all Profit?
7 types together
Presents the flow of different Byte by byte structure review No way SREP comes in handy Result after the mod
types of setup items and their
signatures
5
Flow
Chart CoolGUIDXE
Setup table
New form builder Setup tab link
Signature [00 00] [F7 FF]
Setting link Separator Form link Text and Subtitle
[F1 FF] [F3 FF] [F4 FF] [F6 FF] and [F9 FF]
End of the table
[FF FF]
6
New form builder [00 00]
Builds virtual forms while creating new Form ID. Owns F1, F3, F4, F6, F9 item types.
Doesn’t include a byte responsible for total count of items. Stops the build when another 00 type is met.
struct form_builder
{
UINT16 Signature;
UINT16 Form ID;
UINT16 Form Name ID;
UINT16 Reserved; // Purpose of this one is not confirmed. The first item in the table always has “FF FF”, while the rest has “00 00”.
}
7
Setting link [F1 FF]
Used to place a setting from bios setup in a virtual form created earlier.
Consumes ID of an existing or virtual setup Form as source and
consumes Name ID of some setting inside this form.
struct item_link
{
UINT16 Signature;
UINT16 Source Form ID;
UINT16 Item Name ID;
UINT16 Reserved; // Bitmask. ATM purpose is unknown.
}
8
Separator [F3 FF]
Places a Separator (blank line) into virtual form.
Consumes no arguments.
9
Form link [F4 FF]
Creates link to form, while renaming it.
Can create link even to a virtual form created by Cool GUI.
struct form_link
{
UINT16 Signature;
UINT16 Form ID;
UINT16 Name ID;
UINT16 Description String ID;
}
10
Text and Subtitle
[F6 FF] and [F9 FF]
Places info fields from bios setup as-is.
Type F6 is basically the same as F9,
so only one is explained.
struct subtitle
{
UINT16 Signature;
UINT16 Source Form ID;// Type F6 doesn’t have this.
UINT16 Text One ID;
UINT16 Text Two ID;
}
11
Setup tab link [F7 FF]
Places tab on the top bar of bios setup. Doesn’t belong to [00 00] item type.
Is affected by ban list of forms in AMITSE.
struct tab_link
{
UINT16 Signature;
UINT16 Form ID;
UINT16 Reserved;
UINT16 Reserved;
}
6 tabs, 6 link items
12
Putting it all together
Say I will mod and then flash the bios, or use… SREP.
I want to add Main form as the 7th tab in bios setup and add a
link to Settings tab from Tweaker tab.
13
Patching
For example, I’m going to replace CPU Clock Control, illustrated on
the page 8, with a link to Settings tab.
F1FF 5427 2901 0000 is CPU Clock Control
As shown on the page, Settings tab has Form ID: 232A;
so I simply combine this value with type F4 item and then assign
any name I want to the item.
F4FF 2A23 960A 960A is Settings
The same way I replace another item with type F7 item.
F1FF 1427 400A 0000 is the last setting in AMD CBS menu and the
last item in the table as well.
Looking at the IFR table I understand the Main tab has Form ID: 2712.
Afterwards I get the following sequence:
F7FF 1227 0000 0000 is Main
Since I’m limited in file space,
I had to replace one item with another.
But it is possible to build your own
completely unique setup screen. 14
Congrats on finishing this pdf