<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>Programmer&#39;s Hideaway - gsoc22</title>
    <subtitle>My Personal Website</subtitle>
    <link rel="self" type="application/atom+xml" href="https://programmershideaway.dev/tags/gsoc22/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://programmershideaway.dev"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2022-09-05T22:22:12+05:30</updated>
    <id>https://programmershideaway.dev/tags/gsoc22/atom.xml</id>
    <entry xml:lang="en">
        <title>GSoC22: Summary Post</title>
        <published>2022-09-05T22:22:12+05:30</published>
        <updated>2022-09-05T22:22:12+05:30</updated>
        
        <author>
          <name>Ayush Singh</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://programmershideaway.dev/posts/post15/"/>
        <id>https://programmershideaway.dev/posts/post15/</id>
        
        <summary type="html">&lt;p&gt;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.&lt;/p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Writing UEFI Protocol in Rust</title>
        <published>2022-08-27T22:22:12+05:30</published>
        <updated>2022-08-27T22:22:12+05:30</updated>
        
        <author>
          <name>Ayush Singh</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://programmershideaway.dev/posts/post14/"/>
        <id>https://programmershideaway.dev/posts/post14/</id>
        
        <summary type="html">&lt;p&gt;Hello everyone. As a part of Porting Rust std for UEFI, I had to write a hacky implementation of pipes (using UEFI Variables) for piping output from launched programs. However, this implementation had some problems and failed to run tests using the feature &lt;code&gt;panic_abort_tests&lt;/code&gt;. Since I had some time this week, I decided to write a Protocol to fix the pipes. Along the way, I also found many ways to shoot myself on foot. So I decided to write this post documenting all the gotchas I discovered while writing a new protocol in Rust. This post will only contain 1 of the two protocols I decided to create, internally named &lt;code&gt;UEFI_COMMAND_PROTOCOL&lt;/code&gt;.&lt;/p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>UEFI Rust std has a new home</title>
        <published>2022-08-05T20:44:12+05:30</published>
        <updated>2022-08-05T20:44:12+05:30</updated>
        
        <author>
          <name>Ayush Singh</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://programmershideaway.dev/posts/post13/"/>
        <id>https://programmershideaway.dev/posts/post13/</id>
        
        <summary type="html">&lt;p&gt;Hello everyone. All my work on UEFI Rust std has been moved to &lt;a rel=&quot;external&quot; href=&quot;https://github.com/tianocore/rust&quot;&gt;tianocore/rust&lt;/a&gt;. This should help with allowing more contribution from both Tianocore and Rust&#39;s sides. This post is just a sort of introduction to the new repository and how to get started.&lt;/p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>GSoC 2022: Progress Report 2</title>
        <published>2022-07-24T02:38:12+05:30</published>
        <updated>2022-07-24T02:38:12+05:30</updated>
        
        <author>
          <name>Ayush Singh</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://programmershideaway.dev/posts/post12/"/>
        <id>https://programmershideaway.dev/posts/post12/</id>
        
        <summary type="html">&lt;p&gt;Hello everyone. It is finally possible to run the whole Rust testing suit for UEFI under QEMU and OVMF. So I think this is a good point to give a detailed overview of everything that has been implemented and the state of those implementations. I will also provide instructions on how to go about running the tests as well.&lt;/p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Implementing Stdio for UEFI</title>
        <published>2022-07-08T00:53:12+05:30</published>
        <updated>2022-07-08T00:53:12+05:30</updated>
        
        <author>
          <name>Ayush Singh</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://programmershideaway.dev/posts/post11/"/>
        <id>https://programmershideaway.dev/posts/post11/</id>
        
        <summary type="html">&lt;p&gt;Hello everyone. In this post, I will go through how I implemented the stdio module for UEFI. The implementation code can be found &lt;a rel=&quot;external&quot; href=&quot;https://github.com/Ayush1325/rust/blob/7f367e14f687a7d485c1d3410e2cf5e22df8f1ad/library/std/src/sys/uefi/stdio.rs&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>GSoC 2022: Progress Report 1</title>
        <published>2022-06-29T00:53:12+05:30</published>
        <updated>2022-06-29T00:53:12+05:30</updated>
        
        <author>
          <name>Ayush Singh</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://programmershideaway.dev/posts/post10/"/>
        <id>https://programmershideaway.dev/posts/post10/</id>
        
        <summary type="html">&lt;p&gt;Hello everyone. In this post, I will explain the current state of std implementation for UEFI. The rust repository containing my work can be found &lt;a rel=&quot;external&quot; href=&quot;https://github.com/Ayush1325/rust/tree/uefi-std-next&quot;&gt;here&lt;/a&gt;. In the end, we will use this fork to run a Rust binary.&lt;/p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Using Rust main from a custom entry point (Part 2)</title>
        <published>2022-06-25T22:28:12+05:30</published>
        <updated>2022-06-25T22:28:12+05:30</updated>
        
        <author>
          <name>Ayush Singh</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://programmershideaway.dev/posts/post9/"/>
        <id>https://programmershideaway.dev/posts/post9/</id>
        
        <summary type="html">&lt;p&gt;Hello everyone. I will continue where I left off in &lt;a href=&quot;https://programmershideaway.dev/posts/post7/&quot;&gt;post&lt;/a&gt; with the Rust main in this post. Since we now have an allocator, the &lt;a rel=&quot;external&quot; href=&quot;https://github.com/rust-lang/rust/blob/00ce47209dfdd8ef8871c6ec804f0e0e04d10702/library/std/src/rt.rs#L85&quot;&gt;&lt;code&gt;Thread::new&lt;/code&gt;&lt;/a&gt; statement at &lt;code&gt;library/std/src/rt.rs&lt;/code&gt; works. So we need to fix the line where we set the main thread with guard information. This will be a short post since it turned out easier than I initially thought.&lt;/p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Writing an Allocator for UEFI</title>
        <published>2022-06-23T16:45:12+05:30</published>
        <updated>2022-06-23T16:45:12+05:30</updated>
        
        <author>
          <name>Ayush Singh</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://programmershideaway.dev/posts/post8/"/>
        <id>https://programmershideaway.dev/posts/post8/</id>
        
        <summary type="html">&lt;p&gt;Hello everyone, we will discuss how to write the Allocator for UEFI in this post. More specifically, the Allocator is for the DEX phase in UEFI. We will be using &lt;a rel=&quot;external&quot; href=&quot;https://github.com/Ayush1325/uefi-spec-rs&quot;&gt;uefi-spec-rs&lt;/a&gt;, which is my wrapper around &lt;a rel=&quot;external&quot; href=&quot;https://github.com/Ayush1325/r-efi&quot;&gt;r-efi&lt;/a&gt; for use in the std.&lt;/p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Using Rust main from a custom entry point</title>
        <published>2022-06-21T00:12:12+05:30</published>
        <updated>2022-06-21T00:12:12+05:30</updated>
        
        <author>
          <name>Ayush Singh</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://programmershideaway.dev/posts/post7/"/>
        <id>https://programmershideaway.dev/posts/post7/</id>
        
        <summary type="html">&lt;p&gt;Hello everyone. In this post, we will deep dive into the crux of the &lt;code&gt;main()&lt;/code&gt; function and look behind the scenes. By the end, we will have some understanding of Rust runtime. Primarily, I will describe my current implementation of &lt;code&gt;efi_main&lt;/code&gt; to hook into Rust runtime.&lt;/p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Use Restricted std in UEFI</title>
        <published>2022-06-16T00:00:00+00:00</published>
        <updated>2022-06-16T00:00:00+00:00</updated>
        
        <author>
          <name>Ayush Singh</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://programmershideaway.dev/posts/post6/"/>
        <id>https://programmershideaway.dev/posts/post6/</id>
        
        <summary type="html">&lt;p&gt;Hello Everyone; in my last &lt;a href=&quot;https://programmershideaway.dev/posts/post5/&quot;&gt;post&lt;/a&gt;, I set up the development environment for working on adding Rust support for UEFI. In this post, I will get a restricted version of std (basically a glorified core + alloc) to work for the x86_64 UEFI target. We will be starting with the &lt;code&gt;no_std&lt;/code&gt; hello_world program from the last post.&lt;/p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Google Summer of Code 2022</title>
        <published>2022-06-14T00:00:00+00:00</published>
        <updated>2022-06-14T00:00:00+00:00</updated>
        
        <author>
          <name>Ayush Singh</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://programmershideaway.dev/posts/post5/"/>
        <id>https://programmershideaway.dev/posts/post5/</id>
        
        <summary type="html">&lt;p&gt;Hello everyone, I am Ayush Singh, a second-year student at the Indian Institute of Technology, Dhanbad, India. As a part of Google Summer of Code 2022, I will be working on Adding Rust Support for building UEFI Applications and Modules under the Tianocore organization. In this post, I will describe this project&#39;s goals and set up my development environment.&lt;/p&gt;</summary>
        
    </entry>
</feed>
