Hey guys,
Recently I am trying to enable the PCIE ASPM and PCIE Native Control on my MSI GE62MVR which may allow CPU to get into deeper package c state and extend its battery life. I plan to do this by changing bios settings in NVRAM/COMS by a EFI Shell called GRUB, but when I am looking into the address of those setting I notice several settings are using the same address.
As you can see they share the same variable address:0x4, I think if I directly use Steup_Var 0x4 0x1 will mess up other options. And I also use the commad Setup_Var 0x4 to read the value in it, I was surprised because it told me offset 0x4 is 0x00 and 0x01 at the same time, how can be that possible?
![[Image: 901ea08fly1fwx39em3toj23402c07wk.jpg]]()
Do anyone can help me with this? Tanks.
Recently I am trying to enable the PCIE ASPM and PCIE Native Control on my MSI GE62MVR which may allow CPU to get into deeper package c state and extend its battery life. I plan to do this by changing bios settings in NVRAM/COMS by a EFI Shell called GRUB, but when I am looking into the address of those setting I notice several settings are using the same address.
- I extracted Setup_PE32_image_section.sct from BIOS backup using UEFITool_0.22.1.exe
- I generate Setup_PE32_image_section IFR.txt from the .sct file above by Universal IFR Extractor.exe
Here is part of the code in Setup_PE32_image_section IFR.txt:
Code:
Suppress If: {0A 82}
0x2B01F Variable 0x3D9 equals 0x0 {12 06 D9 03 00 00}
0x2B025 Setting: Native PCIE Enable, Variable: 0x4 {05 91 CC 00 CD 00 38 00 01 00 04 00 10 10 00 01 00}
0x2B036 Option: Disabled, Value: 0x0 {09 07 BC 00 30 00 00}
0x2B03D Option: Enabled, Value: 0x1 {09 07 BB 00 00 00 01}
0x2B044 End of Options {29 02}
Code:
Suppress If: {0A 82}
0x2C05F Variable 0xCA7 equals 0x0 {12 06 A7 0C 00 00}
0x2C065 Setting: SMM Use SMM en-US Indication, Variable: 0x4 {05 91 81 03 82 03 87 00 13 00 04 00 10 10 00 01 00}
0x2C076 Option: Disabled, Value: 0x0 {09 07 04 00 30 00 00}
0x2C07D Option: Enabled, Value: 0x1 {09 07 03 00 00 00 01}
0x2C084 End of Options {29 02}
Code:
Numeric: Spread % (95982967058349882-95982967058349882) , Variable: 0x4 {07 91 05 14 06 14 B7 27 16 00 04 00 04 10 00 FF 01}
0x4717E Default: 8 Bit, Value: 0x0 {5B 06 00 00 00 00}
0x47184 End {29 02}
Code:
Suppress If: {0A 82}
0x49482 Variable 0xB66 equals 0x0 {12 06 66 0B 00 00}
0x49488 Numeric: PXE boot wait time (95982967058349882-95982967058349882) , Variable: 0x4 {07 91 4A 14 4B 14 69 0B 23 00 04 00 10 10 00 05 01}
0x49499 Default: 8 Bit, Value: 0x1 {5B 06 00 00 00 01}
0x4949F Default: 8 Bit, Value: 0x1 {5B 06 01 00 00 01}
0x494A5 End {29 02}
Code:
Grayout If: {19 82}
0x49980 Variable 0xBC5 equals 0x1 {12 06 C5 0B 01 00}
0x49986 Setting: , Variable: 0x4 {05 91 F2 14 0E 15 77 0B 25 00 04 00 10 10 00 03 00}
0x49997 Option: Auto, Value: 0x0 {09 07 09 15 30 00 00}
0x4999E Option: Floppy, Value: 0x1 {09 07 0F 15 00 00 01}
0x499A5 Option: Forced FDD, Value: 0x2 {09 07 10 15 00 00 02}
0x499AC Option: Hard Disk, Value: 0x3 {09 07 11 15 00 00 03}
0x499B3 End of Options {29 02}
Code:
Numeric: en-US (95982967058349882-95982967058349882) , Variable: 0x4 {07 91 00 00 00 00 D4 0B 27 00 04 00 00 10 00 FF 00}
0x4C204 End {29 02}
As you can see they share the same variable address:0x4, I think if I directly use Steup_Var 0x4 0x1 will mess up other options. And I also use the commad Setup_Var 0x4 to read the value in it, I was surprised because it told me offset 0x4 is 0x00 and 0x01 at the same time, how can be that possible?
![[Image: 901ea08fly1fwx39em3toj23402c07wk.jpg]](http://wx1.sinaimg.cn/large/901ea08fly1fwx39em3toj23402c07wk.jpg)
Do anyone can help me with this? Tanks.