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

Add SMMU Sbsa support #1085

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from
Draft

Add SMMU Sbsa support #1085

wants to merge 2 commits into from

Conversation

eeshanl
Copy link
Contributor

@eeshanl eeshanl commented Dec 13, 2024

DO NOT MERGE until qemu 9.1.50 is supported and https://windowspartners.visualstudio.com/MSCoreUEFI/_git/tf-a_mirror?version=GBeeshan_smmu has been integrated into TFA.

  • Configure SMMU config HOB in SbsaPlatformPeiLib
  • Update SbsaQemuAcpiDxe to use ArmMonitor calls to work with updated qemu version 9.1.50

Description

This change adds SMMU/IOMMU support to mu_tiano_platforms. Actual SMMU driver can be found in ArmPkg.

For details on how to complete these options and their meaning refer to CONTRIBUTING.md.

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

How This Was Tested

Tested on Qemu with mu_tiano_platforms

Integration Instructions

This change relies on:

@github-actions github-actions bot added the impact:non-functional Does not have a functional impact label Dec 13, 2024
@github-actions github-actions bot added the impact:security Has a security impact label Dec 14, 2024
@eeshanl eeshanl self-assigned this Dec 19, 2024
eeshanl added a commit to microsoft/mu_silicon_arm_tiano that referenced this pull request Jan 14, 2025
## Description

Adds SMMUV3 DXE driver to enable DMA remapping through the IOMMU
protocol.

- Consume SMMU config HOB
- Add IORT
- Configure SMMU, stream table, cmd/event queues
- Configure SMMU page tables
- Add IoMmu protocol
- Enable SMMU for stage 2 translation & DMA remapping

For details on how to complete these options and their meaning refer to
[CONTRIBUTING.md](https://github.com/microsoft/mu/blob/HEAD/CONTRIBUTING.md).

- [x] Impacts functionality?
- [x] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [x] Includes documentation?
- [ ] Backport to release branch?

## How This Was Tested

Tested in Qemu with mu_tiano_platforms:
- Tested UEFI functionality with SMMU/IOMMU enabled.
- Booted to OS while SMMU/IOMMU enabled.

## Integration Instructions

To integrate with mu_tiano_platforms the following is also required:
- TFA v2.11+ or
<https://windowspartners.visualstudio.com/MSCoreUEFI/_git/tf-a_mirror?version=GBeeshan_smmu>
- Qemu version v9.1.50+ <https://gitlab.com/qemu-project/qemu>
- mu_tiano_platforms -
microsoft/mu_tiano_platforms#1085
@eeshanl eeshanl force-pushed the smmu_platform branch 2 times, most recently from 2cb29cd to bc3288d Compare January 15, 2025 07:38
- Configure SMMU config HOB in SbsaPlatformPeiLib
- Update SbsaQemuAcpiDxe to use ArmMonitor calls to work with updated qemu
version 9.1.50
- Relies on cherry-pick 42925c15bee09162c6dfc8c2204843ffac6201c1 in Silicon/Arm/TFA
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 impact:security Has a security impact
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant