· hardware · throttling · intel · throttlestop · hp · bios · undervolting · tiger-lake

How I beat HP's firmware and tripled my EliteBook 840 G8's performance

An i7-1165G7 chained to 10W, a night of reverse engineering with ThrottleStop, and the BIOS field half the internet had given up on. Spoiler: it was PL4.

The crime

My HP EliteBook 840 G8 — i7-1165G7, 32 GB of RAM, a chip the box promises will hit 4.70 GHz of turbo — was running at 0.88 GHz.

That’s not a typo. Eight hundred and eighty megahertz. The speed of a year-2000 Pentium III, on an 11th-gen processor that cost what an EliteBook costs. Task Manager showed 88% CPU usage with the frequency nailed under 1 GHz while Chrome, Meet and half a dozen tabs begged for mercy.

The first thing you think is “it’s hot.” Nope. 49°C. A chip that could survive 100°C was cooler than my coffee, and still throttled itself. That’s not physics — that’s politics.

This post is the story of how, in a single night, I went from 0.88 GHz / 9.7W to 3.56 GHz / 44W — about 3x real performance — fighting through three layers of locks that HP and Intel stacked on this machine. And at the end, the step-by-step technical guide so you don’t have to spend the four hours I did.

If you landed here searching “elitebook 840 g8 throttling 1 ghz” at 11 PM with ThrottleStop open and a face full of hate: welcome, friend. This is for you.


Act 1: the diagnosis, or how to rule out the obvious

It wasn’t temperature

First thing was opening ThrottleStop (Kevin Glynn’s software, aka unclewebb, a living legend of Intel’s under-the-hood). The numbers:

  • PKG Power: 9.5W / max 9.7W — pinned against a ridiculous ceiling
  • Temperature: 49°C — cold
  • Frequency: ~1.1 GHz under load

When a chip is cold and still won’t ramp up, the culprit isn’t the heatsink. It’s a power limit. Somebody told the processor “don’t pull more than 10 watts” and the processor, obedient, obeys.

For scale: a single LED bulb pulls more than 10W. My i7 was running on less power than my desk lamp.

It wasn’t Chrome (but it helped)

Second suspect was software. And yes — Chrome with 34 processes and 10.3 GB of RAM plus Google Meet sharing screen was a beast. Closing all of that dropped CPU usage from 88% to 29%.

Free lesson that applies to everyone: if your laptop feels slow, before touching anything else, open Task Manager, sort by CPU, and look at what monster you have running. The OneTab extension for Chrome hibernates tabs and brings life back. For many people, the post ends here.

But the frequency was still nailed down. The underlying problem wasn’t load — it was the watts ceiling.

It was TDP — and that’s where the rabbit hole started

The i7-1165G7 is a chip with configurable TDP. Intel defines it like this:

ModeTDPBase frequency
cTDP-down12W1.20 GHz
Nominal15W1.20 GHz
cTDP-up28W2.80 GHz
Max Turboup to ~50W4.70 GHz

HP, in their infinite corporate wisdom, set it to 15W. Why? Because the EliteBook 840 G8 was designed for one thing: making the fan basically inaudible. NotebookCheck measured it: the fan tops out at 30 dB, almost silent. The price of that silence is that Turbo Boost lasts a couple of seconds and then the chip settles at ~2.1 GHz. It’s a deliberate tradeoff: silence in exchange for performance.

Silence doesn’t work for me. What works for me is compiling, running Whisper pipelines on podcasts, and not having n8n agonize.


Act 2: the three layers of locks

This is where the post gets nerdy. If this doesn’t excite you, we aren’t the same kind of person, and that’s fine.

HP doesn’t put one limit. They put three sets of power limits, and only two are accessible from software:

  1. MSR power limits — processor registers. ThrottleStop touches these.
  2. MMIO power limits — memory-mapped. ThrottleStop touches them if they aren’t locked.
  3. EC power limits — managed by an Embedded Controller, an independent microcontroller on the board. ThrottleStop has zero access to those.

In unclewebb’s own words (paraphrased from his forum posts): EliteBooks use three unique sets of turbo limits; ThrottleStop has access to MSR and MMIO, but zero control over the EC limits.

The EC is the final villain. It’s a chip that watches the registers and, if you change them, reverts them in milliseconds. It’s the firmware’s security guard.

The false culprit: BD PROCHOT

ThrottleStop kept showing “BD PROCHOT” and “PROCHOT 99°C” in red. Tempting to blame it.

BD PROCHOT = Bi-Directional Processor Hot. It’s a signal line that lets a component outside the CPU (the charger, the VRM, a sensor, the EC) order immediate throttling, as if the chip were overheating. The “99°C” doesn’t mean you’re at 99°C — it’s the configured threshold, lit up as a warning.

But here’s the trap: on these HPs the BD PROCHOT checkbox is greyed out. You can’t uncheck it. And even if you could, it wouldn’t help, because my throttling wasn’t coming from a fake PROCHOT signal — it was coming from the EC’s power limit. I confirmed that later.

What did NOT work (so you don’t waste your time)

I tried, in order, everything the internet recommends. All of it failed:

  • Bumping PL1/PL2 in ThrottleStop (TPL): set them to 28/40. MMIO showed them… and the EC reverted them to 15/16 instantly.
  • Sync MMIO: same result.
  • FIVR / undervolt: Intel disabled software undervolting across all of Tiger Lake after the Plundervolt vulnerability. The FIVR button does nothing.
  • Downgrading the BIOS: impossible. HP published a formal “No Rollback” notice in October 2021 that explicitly lists the 840 G8, and burns a Security Version Number into eFuses on the board. The hardware refuses to sign an older version. I had BIOS T39 01.23.00 from November 2025, one of the newest.

At this point, half the internet — and me — declared the case closed. “It’s hardware. HP sealed it. Buy another machine or live with it.”


Act 3: the BIOS actually had something

Before giving up, I went into the HP Computer Setup (F10) and dug into Advanced. I found three things that matter:

  1. Intel Dynamic Tuning was ✅ enabled. This is Intel’s tech that implements dynamic power limits in real time. I disabled it.
  2. Power management during operation was ☐ disabled. I enabled it.
  3. Long-duration idle power states — left as default after testing.

Saved with F10, rebooted, and for the first time that night… the fan spun up. That noise, which would be annoying in any other context, was music: it meant the chip was finally generating real heat — meaning consuming real watts.

Frequency climbed to 1.6 GHz and PKG Power max to 17W. Progress. But still far from the 28-44W the chip can actually deliver.

The killing blow: VBS + PL4

This is the part almost nobody documents together. Two final steps.

Step 1 — Kill Windows’ Virtualization-Based Security. On Windows 11, with Memory Integrity / Core Isolation active, access to MSR registers is capped by the hypervisor. ThrottleStop can’t even try to touch the limits. I disabled it via the registry:

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Enabled" /t REG_DWORD /d 0 /f

Rebooted. Reopened ThrottleStop’s TPL, and MMIO showed 28/40 and this time it didn’t revert on its own. The first crack in the armor.

Step 2 — the field that changed everything: Power Limit 4 (PL4). In ThrottleStop’s TPL window, under Global Settings, there’s a field called Power Limit 4. It was at 20. PL4 is an instantaneous/peak power limit, distinct from PL1 (sustained) and PL2 (burst). It turned out HP’s EC was using PL4 as the actual hard limit it kept reimposing.

I raised it to 60. Applied. Ran the benchmark.

Core i7-1165G7
35.73 x 99.761 MHz = 3564.44 MHz
PKG Power: 35.5W / max 44.3W

3.56 GHz. 44 watts. Task Manager showing 3.19 GHz at 100% across all 8 threads. The EC surrendered.


Before and after

Metric11:00 PM (start)11:30 PM (end)Gain
Frequency under load0.88–1.19 GHz3.56 GHz~3x
PKG Power9.7W44.3W4.5x
Multiplier (FID)~1235.73
Temperature49°C100°C ⚠️
TS Bench score (8T)~11,000 (est.)48,237~4x

The chip went from operating at ~25% of its capacity to giving almost everything.


The fine print: with great power comes great temperature

That 100°C isn’t decorative. At that temperature the chip starts throttling from real heat (this IS legit PROCHOT). The silence HP designed had a thermal reason: this ultraslim chassis isn’t built to dissipate 44W sustained.

That’s why, for daily use, don’t leave PL1 at 28-44W full blast. My balanced config:

  • PL1 (sustained): 25W → ~2.5-3 GHz cool, for daily work
  • PL2 (burst): 40W → turbo punches when you need them
  • PL4: 60 → the key that keeps the EC in check

That way you get bursty turbo (compiling, opening heavy stuff) without cooking the chip at 100°C all the time. For genuinely long workloads (rendering several podcasts, big builds), a cooling pad or a thermal repaste makes a real difference.


Technical guide: step-by-step

Required disclaimer: this modifies your CPU’s power and temperature limits. I did it on my own machine, under my own responsibility, knowing what I was touching. If you don’t understand a step, look it up before doing it. I’m not responsible for your hardware. That said: none of these steps are destructive or irreversible (unlike a physical SPI flash, which I do NOT recommend).

Requirements

  • HP EliteBook 840 G8 (or another EliteBook G8 with i7/i5 Tiger Lake; the method applies by analogy)
  • ThrottleStop 9.7 or newer
  • Admin permissions

1. BIOS (F10 at boot → Advanced)

  • Intel Dynamic Tuning → disable
  • Power management during operation → enable
  • Power Slider Plus → leave enabled (default)
  • Save with F10 and reboot

2. Windows — power plan and throttling

# Create Ultimate Performance plan
powercfg -duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61
# Disable Windows Power Throttling
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Power\PowerThrottling" /v PowerThrottlingOff /t REG_DWORD /d 1 /f
# Disable VBS / Memory Integrity (KEY for ThrottleStop to touch MSR)
reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Enabled" /t REG_DWORD /d 0 /f

Then: Win + I → System → Power → Power mode → Best performance.

Reboot. The VBS step doesn’t take effect until reboot.

3. ThrottleStop — main settings

  • High Performance
  • Speed Shift EPP: 0 (maximum responsiveness)
  • ✅ SpeedStep, ✅ C1E
  • Click Turn On

4. ThrottleStop — TPL (Turbo Power Limits)

  • Sync MMIO
  • Long Power PL125 (or 28 for more sustained) + ✅ Clamp
  • Short Power PL240 + ✅ Clamp
  • Turbo Time Limit28
  • Power Limit 460THE MAGIC FIELD
  • Power Balance1 / 31 (prioritize CPU over iGPU)
  • Apply → OK

5. Verify

  • Click CLR to clear history
  • Run TS Bench
  • You should see PKG Power exceed 30W and frequency past 2.5 GHz

6. Make it persist across reboots

  • ThrottleStop → Options → check Start Minimized and Minimize on Close
  • Click Save
  • Win + Rshell:startup → drop a shortcut to ThrottleStop.exe there

Final reflection

The interesting thing about this case isn’t the trick. It’s what the trick reveals: you bought the hardware, but you didn’t buy control over it. Three layers of locks — EC, eFuses, post-Plundervolt Intel microcode — exist so that a chip that can deliver 4.7 GHz gives you 0.88 when the manufacturer prefers another metric (here, fan noise for the corporate market).

The method that worked wasn’t brute force, it was finding the layer nobody documented (PL4) and the condition that enabled it (VBS off). The rest of the internet kept fighting MSR and MMIO — which are exactly the layers the EC reimposes.

Is it worth it? For me, since I live off this machine — development, digital forensics, audio processing — yes. But with the honesty of knowing I traded silence and temperature for speed, and that the responsibility for managing that heat is now mine.

If this helped you, or if you’ve got a similar case on another EliteBook, drop me a line. These rabbit holes are better with company.


Hardware: HP EliteBook 840 G8 · i7-1165G7 · BIOS T39 01.23.00 · Windows 11 Pro · ThrottleStop 9.7