Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable Debugger By Default in Q35/SBSA #1036

Merged
merged 4 commits into from
Oct 2, 2024
Merged

Enable Debugger By Default in Q35/SBSA #1036

merged 4 commits into from
Oct 2, 2024

Conversation

os-d
Copy link
Contributor

@os-d os-d commented Sep 13, 2024

Description

This PR turns mu_feature_debugger on by default in Q35/SBSA. It sets no initial breakpoint, but will break in on an exception. As part of this, QemuRunner defaults to having SERIAL_PORT=50001 if this is not overridden, so that on a regular boot of Q35 the debugger can easily be used. On SBSA, the serial port is not added by default, as it will prevent writing to stdout, making it hard to tell progress.

An additional command line flag is added BLD_*_DXE_DBG_BRK to control whether the initial breakpoint is set. Passing BLD_*_DXE_DBG_BRK=TRUE on the commandline will set an unlimited initial breakpoint on DxeCore entrance.

The other caveat in SBSA is that with a single serial port, debugger polling is disabled, otherwise the debugger can eat user keystrokes at the shell.

Once supervised StMM support is added to mu_feature_debugger (microsoft/mu_feature_debugger#59), it will be added here with a corresponding flag to force breaking in to the MM debugger.

  • Impacts functionality?
  • Impacts security?
  • Breaking change?
  • Includes tests?
  • Includes documentation?

How This Was Tested

Tested by booting Q35 with no exceptions, with an exception and breaking in, and with the force flag and breaking in on initial breakpoint.

Integration Instructions

See above.

@github-actions github-actions bot added language:python Pull requests that update Python code impact:non-functional Does not have a functional impact labels Sep 13, 2024
Platforms/QemuQ35Pkg/QemuQ35Pkg.dsc Outdated Show resolved Hide resolved
Platforms/QemuQ35Pkg/QemuQ35Pkg.dsc Outdated Show resolved Hide resolved
@os-d os-d changed the title Enable Debugger By Default in Q35 Enable Debugger By Default in Q35/SBSA Oct 1, 2024
@os-d os-d enabled auto-merge (squash) October 2, 2024 21:46
@os-d os-d merged commit e260ba3 into microsoft:main Oct 2, 2024
31 checks passed
@os-d os-d deleted the dbg_en branch October 3, 2024 15:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
impact:non-functional Does not have a functional impact language:python Pull requests that update Python code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants