From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) by mx.groups.io with SMTP id smtpd.web10.378.1659375593003766424 for ; Mon, 01 Aug 2022 10:39:53 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20210112 header.b=a5b8CtEP; spf=pass (domain: gmail.com, ip: 209.85.215.179, mailfrom: ayushdevel1325@gmail.com) Received: by mail-pg1-f179.google.com with SMTP id d7so7253485pgc.13 for ; Mon, 01 Aug 2022 10:39:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:from:to:cc; bh=TnduPdoVzfSjOl241aPcUHW+hojOziIBSU/J7EvsnPM=; b=a5b8CtEPOa9sqHo/8WtKHU8R5jKpc6f/hHO4VcWavjS0miKzWs/28y5H9eM/IRKQTq RrrySs2QRlf7YHIByyBxPHPTUGUotAyLnu3ZFqSaE8FZt4OdXSoVkN/VZcdgsZ/kGd9b wh9fxr/FXLd9l9NMqEN33PFnkvD8C3eibF6smtnG79o9oyHwVozYRbzhpGhoQOv+2IuQ KJVKZYMeUd7qVlDAFl5UNuFL7Vf05LsBU9T822wqWArB91OVcxjnhJa56gn2XQ9BAhYu xbhkZo5wG10et4WfJLdw1CpfjwvZay799v7VCrEBotRBSOxR7uecopqSkax/Vk1n/5JK HYog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc; bh=TnduPdoVzfSjOl241aPcUHW+hojOziIBSU/J7EvsnPM=; b=KWgr8aZn0h5vfAofcxRoT65L6pr99CL3sTBVUNpxjbKypjmbv0PDIcAAuIOu20jzft 4Y4B7ByxY1mFyEo+Lh7J43Npz7gE+OsRypE8ifYHXD6/D0QlsOh35A1RAfawseKCeEmQ bgGqnJbw1gkgiiRTmeK0L3FbUFvC63IBtHzjYw4gsJwf0cfCVpy8xJtdSD9tbEJiHUbN hFmZoHOzrLssVdwUVDurJcrchZe80KxAjam+Q1nULiKQu4DoYN4hzojcJgCITAplwuEH jEFflJH32IqxE9r332HVXrR5Y0hLtmd20dwD2KVwfl+aGo+4kShbITTvMUn6EJVZZUU5 XmKA== X-Gm-Message-State: AJIora+i/qSTeksO/RTSzdNJFtzbwXm8uo7uy1vGAIbXO1Z/KglvgrJD BUZFlL14iZ01J78v28zmHs0= X-Google-Smtp-Source: AGRyM1tGRD1RfAnevOe3Kf8rLX4brOdyfJR+T1V9Y5qKG4OA9m6ykuYBWs7/+XcoduHHJwrwl0Itmw== X-Received: by 2002:a63:fc1b:0:b0:41b:93c4:136a with SMTP id j27-20020a63fc1b000000b0041b93c4136amr12623093pgi.163.1659375592358; Mon, 01 Aug 2022 10:39:52 -0700 (PDT) Return-Path: Received: from ?IPV6:2401:4900:1f3e:17ce:2380:94ae:b852:be4? ([2401:4900:1f3e:17ce:2380:94ae:b852:be4]) by smtp.gmail.com with ESMTPSA id e19-20020a17090ac21300b001f320faea95sm9152117pjt.2.2022.08.01.10.39.49 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 01 Aug 2022 10:39:51 -0700 (PDT) Message-ID: <25b8fe0b-12ae-8c51-5e3b-6397a727c863@gmail.com> Date: Mon, 1 Aug 2022 23:09:47 +0530 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: Re: [edk2-devel] Proposal to move Rust std work to a Repository under Tianocore To: Pedro Falcato , edk2-devel-groups-io Cc: "Kinney, Michael D" , Michael Kubacki , "Yao, Jiewen" , "Gaibusab, Jabeena B" References: <33ac1f75-d6c9-2093-8701-698a3e553d64@gmail.com> From: "Ayush Singh" In-Reply-To: Content-Type: multipart/alternative; boundary="------------nx0lpeUmqdsamZ2U433h0Vp8" Content-Language: en-US --------------nx0lpeUmqdsamZ2U433h0Vp8 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi Pedro. Bare Rust already works in UEFI. In fact, UEFI support for no_std Rust has been present upstream for a few years. However, as you might be able to guess, bare Rust without any allocation and use of external crates simply did not provide enough benefits over C to migrate older projects to it. Additionally, without std, it's difficult to do enough significant testing to generate enough confidence in a new language like this. Also to clarify, using Rust std in an application does not mean the whole std will be bundled with the application. Only the parts of std that are actually used by the application will be bundled in the final binary. You can find more information about what is already present in upstream Rust for UEFI here: https://doc.rust-lang.org/nightly/rustc/platform-support/unknown-uefi.html There is also some talks about promoting UEFI target to Tier-2, and having an std implementation will certainly help with that. Yours Sincerely. Ayush Singh On 8/1/22 22:56, Pedro Falcato wrote: > Hi, > > May I suggest you just port the bare rust language (no crates, no std) > to EDK2? It seems far more plausible to expect people to use a cut > down version with some bindings to the rest of the project instead of > hoping people just use the whole of rust, a lot of which isnt proven > (or even used AFAIK) in bare metal projects. Porting just the bare > minimum is way more realistic in my opinion. > > Thanks, > Pedro > > On Mon, 1 Aug 2022, 18:02 Ayush Singh, wrote: > > Hello everyone. In the previous email thread [1], I discussed the > proposal to move Rust std work to edk2-staging and mentioned its > potential problems. After some discussion with mentors, we arrived at > the conclusion to have a rustlang [2] fork under the Tianocore > organization, and move all the std related work there. We can then > open > a PR upstream from there, while allowing PRs in this repository. This > should help provide an easier and streamlined way for people to > experiment and work on this project while it is in the process of > being > merged upstream. > > > For a status update about tests: > > - passed: 12797 > > - failed: 40 > > - ignored: 375 > > > Yours Sincerely, > > Ayush Singh > > > [1]: https://edk2.groups.io/g/devel/message/91989 > > [2]: https://github.com/rust-lang/rust > > > > > > --------------nx0lpeUmqdsamZ2U433h0Vp8 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

Hi Pedro. Bare Rust already works in UEFI. In fact, UEFI support for no_std Rust has been present upstream for a few years. However, as you might be able to guess, bare Rust without any allocation and use of external crates simply did not provide enough benefits over C to migrate older projects to it. Additionally, without std, it's difficult to do enough significant testing to generate enough confidence in a new language like this.

Also to clarify, using Rust std in an application does not mean the whole std will be bundled with the application. Only the parts of std that are actually used by the application will be bundled in the final binary.

You can find more information about what is already present in upstream Rust for UEFI here: https://doc.rust-lang.org/nightly/rustc/platform-support/unknown-uefi.html

There is also some talks about promoting UEFI target to Tier-2, and having an std implementation will certainly help with that.


Yours Sincerely.

Ayush Singh


On 8/1/22 22:56, Pedro Falcato wrote:
Hi,

May I suggest you just port the bare rust language (no crates, no std) to EDK2? It seems far more plausible to expect people to use a cut down version with some bindings to the rest of the project instead of hoping people just use the whole of rust, a lot of which isnt proven (or even used AFAIK) in bare metal projects. Porting just the bare minimum is way more realistic in my opinion.

Thanks,
Pedro

On Mon, 1 Aug 2022, 18:02 Ayush Singh, <ayushdevel1325@gmail.com> wrote:
Hello everyone. In the previous email thread [1], I discussed the
proposal to move Rust std work to edk2-staging and mentioned its
potential problems. After some discussion with mentors, we arrived at
the conclusion to have a rustlang [2] fork under the Tianocore
organization, and move all the std related work there. We can then open
a PR upstream from there, while allowing PRs in this repository. This
should help provide an easier and streamlined way for people to
experiment and work on this project while it is in the process of being
merged upstream.


For a status update about tests:

- passed: 12797

- failed: 40

- ignored: 375


Yours Sincerely,

Ayush Singh


[1]: https://edk2.groups.io/g/devel/message/91989

[2]: https://github.com/rust-lang/rust






--------------nx0lpeUmqdsamZ2U433h0Vp8--