Using grubx64.efi’s setup_var option I managed to alter the following registers in CpuSetup:
- CFG Lock (0x43)
- Overclocking Lock (0x10E)
- Undervolt Protection (0x381)
You can do all of this in the hidden BIOS menu (accessible via Smokeless Runtime EFI Patcher), as well, although CFG Lock goes under a different name there, it is what handles PL1/PL2 toggling.
I DO have access to PL1/PL2 limit changing---the CPU can run at about 155-160W now, technically it can do anything I want it to, but, well, pesky temperatures.
Which leads us to... undervolting. Undervolt Protection does NOT do anything. On or off, can't undervolt. More curious is that the hidden BIOS menu has undervolting options! Although it doesn't matter what you put in them, as they will never apply either.
Curiously however, they save between reboots. So it's saving a setting it doesn't care to apply?
My strongest lead thus far is that there seems to be an issue on boot where DXE or PEI is NOT sending the value (of the undervolt (if you apply it via BIOS) OR the okay to BE undervolted (whether by BIOS or ThrottleStop/etc.) once in runtime) to the CPU via IA32_OC_MAILBOX (MSR 0x150).
Even more curious, the laptop has no protection against OVERvolting. Yes, you can overvolt the CPU, which is ACTUALLY dangerous and harmful to it, but you cannot undervolt, which is wholly beneficial and has its most "dangerous" side effect being the inconvenience of a BSOD that you quickly recover from.
This is why I feel something can probably be done, because I feel if Acer was maliciously blocking out undervolting, overvolting would HAVE to be eliminated too (it's still the MSR 0x150 register), but I don't know what to do to enable it.
Overvolting is on the same MSR 0x150 IA32_OC_MAILBOX register! And it can actually be done. But for some reason, negative values (undervolting) do not work…