GSoC22: Summary Post

A blog post summarizing all my Google Summer of Code 2022 Work

Published on
3 min, 583 words

Categories: post

Hello everyone. This is probably the final blog post I write before Google Summer of Code 2022 ends (hopefully not the final uefi one). In this post, I will summarize my GSoC22 work to make it more accessible to everyone.


Background

I worked on implementing Rust std for UEFI targets. The current implementation can be found at tianocore/rust. The PR to upstream Rust is already open; however, it has not been merged yet since it is such a large PR and thus will take time.

PRs

Just a list of all PRs I opened as a part of GSoC22. While other people created some additional PRs to fix problems I found during my work; I do not include them since I wasn't the one who found the solution for those.

r-efi

  1. Getting r-efi ready for use in Rust std: 4 commits
  2. Add TCP6 Protocol: 1 commit
  3. Add EFI_RNG_PROTOCOL: 1 commit
  4. Add EFI_TIMESTAMP_PROTOCOL: 1 commit
  5. Derive Default for Time: 1 commit
  6. Add TCP4 and IP4 protocols: 1 commit
  7. Fix MODE_CREATE value: 1 commit
  8. Make NotifyFunction Optional: 1 commit
  9. Add ICMP Error Definitions: 1 commit
  10. Add EFI_DEVICE_PATH_FROM_TEXT_PROTOCOL and EFI_DEVICE_PATH_TO_TEXT_PROTOCOL: 2 commits
  11. Make RNG protocol members public: 1 commit
  12. Fix timestamp properties: 1 commit
  13. Implement Default for tcp4::ConfigData: 1 commit
  14. Add EFI_SHELL_PROTOCOL: 1 commit
  15. Add UDP Protocols: 2 commit

compiler-builtins

  1. Enable mem for UEFI: 1 commit
  2. Use all of src/math for UEFI: 1 commit

rust


Blog Posts

  1. Google Summer of Code 2022
  2. Use Restricted std in UEFI
  3. Using Rust main from a custom entry point
  4. Writing an Allocator for UEFI
  5. Using Rust main from a custom entry point (Part 2)
  6. GSoC 2022: Progress Report 1
  7. Implementing Stdio for UEFI
  8. GSoC 2022: Progress Report 2
  9. UEFI Rust std has a new home
  10. Writing UEFI Protocol in Rust

Conclusion

I will continue working on getting Rust std PR merged since it is still unmerged. I also have some more UEFI Rust Projects lined up, and I think I will keep working on them for the foreseeable future. Feel free to check out and experiment with using Rust for UEFI (with or without std).