https://github.com/tandasat/helloiommupkg
The sample DXE runtime driver demonstrating how to program DMA remapping.
https://github.com/tandasat/helloiommupkg
dma-remapping dxe-driver vt-d
Last synced: 7 months ago
JSON representation
The sample DXE runtime driver demonstrating how to program DMA remapping.
- Host: GitHub
- URL: https://github.com/tandasat/helloiommupkg
- Owner: tandasat
- License: mit
- Created: 2020-05-17T23:40:10.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-12-27T23:37:34.000Z (over 1 year ago)
- Last Synced: 2023-12-28T01:01:50.780Z (over 1 year ago)
- Topics: dma-remapping, dxe-driver, vt-d
- Language: C
- Homepage: https://standa-note.blogspot.com/2020/05/introductory-study-of-iommu-vt-d-and.html
- Size: 17.6 KB
- Stars: 55
- Watchers: 10
- Forks: 14
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
HelloIommuPkg
==============HelloIommuPkg is a sample DXE runtime driver demonstrating how to program DMA
remapping, one of the Intel VT-d features, to protect the system from DMA access.This project is meant to show a simplified yet functioning code example for learning
purposes and not designed for actual use in production systems.For more information about this project see my blog post: [Introductory Study of IOMMU (VT-d) and Kernel DMA Protection on Intel Processors](https://standa-note.blogspot.com/2020/05/introductory-study-of-iommu-vt-d-and.html)
Building
---------1. Set up edk2 build environment
- `bb18fb80abb9d35d01be5d693086a9ed4b9d65b5` is the latest revision that confirmed to compile this project successfully .
2. Copy `HelloIommuPkg` as `edk2\HelloIommuPkg`
3. On the edk2 build command prompt, run the below command:
```
> edksetup.bat
> build -t VS2019 -a X64 -b NOOPT -p HelloIommuPkg\HelloIommuPkg.dsc
or
> build -t CLANGPDB -a X64 -b NOOPT -p HelloIommuPkg\HelloIommuPkg.dsc
```
Or on WSL or Linux,
```
$ . edksetup.sh
$ build -t GCC5 -a X64 -b NOOPT -p HelloIommuPkg/HelloIommuPkg.dsc
```Also, pre-compiled binary files are available at the Release page.