Breaking on SMM Entry Based on a Condition

  1. Select Debug > Create Breakpoint... and switch to the Platform tab to create a platform breakpoint.
  2. Add a breakpoint of type "SMM Entry Break".

  3. Alternatively, enter the command SET BREAK ON "SMM ENTRY BREAK" in the Console window.
  4. If for example the entry break should only be executed if the instruction pointer RIP before SMM entry was between 0x1000 and 0x2000, specify the following condition:
    *(longlong*)(@SMBASE+0x8000+0x7FD8)>0x1000 && *(longlong*)(@SMBASE+0x8000+0x7FD8)<0x2000

The system will only halt at SMM entry if the condition is true.

For more complete information about compiler optimizations, see our Optimization Notice.