From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-io1-f41.google.com (mail-io1-f41.google.com [209.85.166.41]) by mx.groups.io with SMTP id smtpd.web10.5218.1649421683150056345 for ; Fri, 08 Apr 2022 05:41:23 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20210112 header.b=LzKRTXDY; spf=pass (domain: gmail.com, ip: 209.85.166.41, mailfrom: ayushdevel1325@gmail.com) Received: by mail-io1-f41.google.com with SMTP id x4so10391918iop.7 for ; Fri, 08 Apr 2022 05:41:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=GkqGypoUgpqwAkoSSxtthCXB3WetV8uuF9CIo/LfLoY=; b=LzKRTXDYesp+eEatUuZ/W/vtbUz41R3Mt56192XY30h/4fUvNN7iCx0gLMXFE97b/U USoEDvRb8UGXbEkg3IFEF/WD8tA9S9dkbUYPdO/hXMy0f1ZtMK8ZyxeMN2vZMjtLM7Zy 7FCSRfeC0lrm1hoxMGraw/rlHzMqfrlGGVh1Wy+YoVAVyD/yZPAW+eTTOGipNQdHzzGa bU88xFjZ14O6lrpepKoAUhYP3vdJA8Yyh8oCVr9KCz6AmZPBIheXJnUKmXSwpm8M3U6t K6ufyQX1D2mlv/QPBkYvEIWkgi8a3IKuqq44YEQxQw3tWVjxLqQG6kTJnilMaJ/jRxSF YEVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=GkqGypoUgpqwAkoSSxtthCXB3WetV8uuF9CIo/LfLoY=; b=yHalJBZa3U4VX6ioj1EWfQ/gLvvvtzlirINh6c0Cf8RmEqB+vRSqzylGxTMRO/0qm1 Wm9vkc2qrJFsVFCbPZjtytCTFyWKDGQKJd6d5kdZTpO/9vH8pdqthqUlzW5dnKyCsveP fXNQhnYz6AhWmisU1jbTvMdv3aSosPsySbInlB+HPEOUcwjANgm8UXa59xTmX432vCQz T1UiVlCqetA/XYXjLkOtr8LLCkqxUEBF3WIRikCKgDZuGgpPl/pK1yd4OeSyzfgyaBNq hJFFeEHoGA1O352ZOHnfQZeHmlVdRUfEcX3TPUHAP0gQWobULaxSQz0LKGF3HiKPSvf3 Ixdg== X-Gm-Message-State: AOAM531Ve7Mua/yWtpiYG60QlUG0sPonPD3YKSRngsvw15/bMxTk3yEW t+lshlUxMirBkFztb5bd+m79ya4dhtsyWMYQooI= X-Google-Smtp-Source: ABdhPJyILt+aY085AJaJoOApn9vGkkN1Sdl6i/VjQXzVM2PIHftV//y1FkAkqaYRCyC0eQ5AWkybL35xEPiY+219x5A= X-Received: by 2002:a05:6602:1493:b0:649:1890:cffd with SMTP id a19-20020a056602149300b006491890cffdmr8418951iow.167.1649421682505; Fri, 08 Apr 2022 05:41:22 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: "Ayush Singh" Date: Fri, 8 Apr 2022 18:11:10 +0530 Message-ID: Subject: Re: [edk2-devel] Applying for GSoC 2022: Add Rust Support to EDK II To: "Desimone, Nathaniel L" Cc: edk2-devel-groups-io , Bret Barkelew , =?UTF-8?Q?Marvin_H=C3=A4user?= , "Yao, Jiewen" Content-Type: multipart/alternative; boundary="000000000000787a2c05dc23e96e" --000000000000787a2c05dc23e96e Content-Type: text/plain; charset="UTF-8" Hi Nate Thanks for the response. For the std implementation, I do have some idea how to go about implementing it now. The most important thing I realized is that most of the std isn't actually std. For example, std::collection, Vector, Box, Rc, etc are all actually part of alloc and not std. The things that really are part of std include threads, i/o, etc. I have taken a look at some other people's projects who have tried implementing libstd for other targets and it seems it is possible to write an implementation without libc. It's just very difficult since in most OS besides Linux, the syscall ABI is not stable enough and using libc is just easier and recommended. As for my earlier patches, Jiewen told me that edkii-rust branch is no longer maintained and that they are now using a different uefi rust implementation for their work. I did also find that it will be possible to make the std with stable Rust even though if internals use nightly, so that's cool. Some useful projects about writing libstd for new platform that I found are below: - https://github.com/betrusted-io/rust/tree/1.54.0.5 - https://github.com/japaric/steed Ayush Singh On Fri, 8 Apr, 2022, 2:33 am Desimone, Nathaniel L, < nathaniel.l.desimone@intel.com> wrote: > Hi Ayush, > > Great to meet you and welcome to the TianoCore project! Great to hear you > are interested! Apologize for the tardiness in my response. Implementing > Rust support sounds like a wonderful project and one that would really help > advance the state of the art for UEFI firmware development! I am looking > for someone with Rust experience that can help mentor this project. My > usage of Rust at time of writing has not advanced very far beyond "Hello > World." While I can give a great deal of knowledge and background on UEFI > and EDK II, my ability to recommend how that be applied to a Rust binding > is limited. However, I do know enough to suspect the vast majority of the > work will be figuring out how to integrate the vast array of libraries that > EDK II provides into a coherent and clean Rust binding. The one aspect of > this project that I think will be interesting is figuring out is what to do > about std:: in Rust. From what I have seen of the functionality there more > or less assumes the existence of a libc implementation for the platform, > which is not necessarily true for DXE and is absolutely not true for PEI. I > would be interested in hearing your thought on how to handle that elegantly. > > I'm sorry that your patches haven't gotten much attention thus far. Once I > find mentor(s) for the Rust project I'll make sure they pick those up and > take a look at the work you have done thus far. > > Hope this helps and welcome to the project! > > With Best Regards, > Nate > > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of Ayush Singh > Sent: Monday, April 4, 2022 10:18 AM > To: devel@edk2.groups.io > Cc: Bret.Barkelew@microsoft.com; Desimone, Nathaniel L < > nathaniel.l.desimone@intel.com>; mhaeuser@posteo.de > Subject: [edk2-devel] Applying for GSoC 2022: Add Rust Support to EDK II > > Hello everyone, I am a 2nd-year University Student from India. I am > interested in applying for adding Rust support to EDK2. I have already > introduced myself to the mailing list earlier > (https://edk2.groups.io/g/devel/message/87637) and have even submitted > some patches for the edkii-rust branch in edk2-staging (which were not > merged since that branch seems to be abandoned now). > - https://edk2.groups.io/g/devel/message/87753 > - https://edk2.groups.io/g/devel/message/87754 > - https://edk2.groups.io/g/devel/message/87755 > - https://edk2.groups.io/g/devel/message/87756 > > Anyway, since no mentor has been listed for this project, I was wondering > who should I discuss the proposal with? Normally, I think one is supposed > to discuss the proposal details with a mentor in form of a google doc or > something before submitting an application. So should I directly start by > submitting a proposal through the GSoC application portal? Or is there > someone I should contact first? > > Ayush Singh > > > > > > --000000000000787a2c05dc23e96e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Nate

=
Thanks for the response.

For the std implementation, I do have some idea how to g= o about implementing it now. The most important thing I realized is that mo= st of the std isn't actually std. For example, std::collection, Vector,= Box, Rc, etc are all actually part of alloc and not std. The things that r= eally are part of std include threads, i/o, etc.
I have taken a look at some other people's projects who hav= e tried implementing libstd for other targets and it seems it is possible t= o write an implementation without libc. It's just very difficult since = in most OS besides Linux, the syscall ABI is not stable enough and using li= bc is just easier and recommended.

As for my e= arlier patches, Jiewen told me that edkii-rust branch is no lon= ger maintained and that they are now using a different uefi rust implementa= tion for their work.

=
I did also find that it will be possible to make the= std with stable Rust even though if internals use nightly, so that's c= ool. Some useful projects about writing libstd for new platform that I foun= d are below:

Ayush S= ingh

On Fri, 8 Apr, 2022= , 2:33 am Desimone, Nathaniel L, <nathaniel.l.desimone@intel.com> wrote:=
Hi Ayush,

Great to meet you and welcome to the TianoCore project! Great to hear you a= re interested! Apologize for the tardiness in my response. Implementing Rus= t support sounds like a wonderful project and one that would really help ad= vance the state of the art for UEFI firmware development! I am looking for = someone with Rust experience that can help mentor this project. My usage of= Rust at time of writing has not advanced very far beyond "Hello World= ." While I can give a great deal of knowledge and background on UEFI a= nd EDK II, my ability to recommend how that be applied to a Rust binding is= limited. However, I do know enough to suspect the vast majority of the wor= k will be figuring out how to integrate the vast array of libraries that ED= K II provides into a coherent and clean Rust binding. The one aspect of thi= s project that I think will be interesting is figuring out is what to do ab= out std:: in Rust. From what I have seen of the functionality there more or= less assumes the existence of a libc implementation for the platform, whic= h is not necessarily true for DXE and is absolutely not true for PEI. I wou= ld be interested in hearing your thought on how to handle that elegantly.
I'm sorry that your patches haven't gotten much attention thus far.= Once I find mentor(s) for the Rust project I'll make sure they pick th= ose up and take a look at the work you have done thus far.

Hope this helps and welcome to the project!

With Best Regards,
Nate

-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Beha= lf Of Ayush Singh
Sent: Monday, April 4, 2022 10:18 AM
To: devel@edk2.groups.io
Cc: Bret.Barkelew@microsoft.com; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; mhaeuser@posteo.de
Subject: [edk2-devel] Applying for GSoC 2022: Add Rust Support to EDK II
Hello everyone, I am a 2nd-year University Student from India. I am interes= ted in applying for adding Rust support to EDK2. I have already introduced = myself to the mailing list earlier
(https://edk2.groups.io/g/devel/message/87637= ) and have even submitted some patches for the edkii-rust branch in edk= 2-staging (which were not merged since that branch seems to be abandoned no= w).
- https://edk2.groups.io/g/devel/message/8775= 3
- https://edk2.groups.io/g/devel/message/8775= 4
- https://edk2.groups.io/g/devel/message/8775= 5
- https://edk2.groups.io/g/devel/message/8775= 6

Anyway, since no mentor has been listed for this project, I was wondering w= ho should I discuss the proposal with? Normally, I think one is supposed to= discuss the proposal details with a mentor in form of a google doc or some= thing before submitting an application. So should I directly start by submi= tting a proposal through the GSoC application portal? Or is there someone I= should contact first?

Ayush Singh





--000000000000787a2c05dc23e96e--