From: Conor Dooley <conor@kernel.org>
To: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
Cc: "Conor Dooley" <conor.dooley@microchip.com>,
linux-riscv@lists.infradead.org,
"Miguel Ojeda" <ojeda@kernel.org>,
"Alex Gaynor" <alex.gaynor@gmail.com>,
"Wedson Almeida Filho" <wedsonaf@gmail.com>,
"Boqun Feng" <boqun.feng@gmail.com>,
"Gary Guo" <gary@garyguo.net>,
"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
"Jonathan Corbet" <corbet@lwn.net>,
"Paul Walmsley" <paul.walmsley@sifive.com>,
"Palmer Dabbelt" <palmer@dabbelt.com>,
"Nathan Chancellor" <nathan@kernel.org>,
"Nick Desaulniers" <ndesaulniers@google.com>,
"Tom Rix" <trix@redhat.com>,
rust-for-linux@vger.kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, llvm@lists.linux.dev
Subject: Re: [PATCH v1 0/2] RISC-V: enable rust
Date: Mon, 3 Apr 2023 18:14:57 +0100 [thread overview]
Message-ID: <20230403-repose-cartwheel-c3e10c231cae@spud> (raw)
In-Reply-To: <CANiq72mip7Xs5vnS4KccxCmBmRbKGki7AYTTHxwaeyr3amvSWw@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3090 bytes --]
On Mon, Apr 03, 2023 at 06:35:45PM +0200, Miguel Ojeda wrote:
> On Thu, Mar 30, 2023 at 11:12 AM Conor Dooley
> <conor.dooley@microchip.com> wrote:
> >
> > I'd rather do this in the RISC-V Makefile so that it does not get
> > forgotten.
>
> Sounds good to me! We want to have the least amount of things possible
> in the common pieces (e.g. for the target spec file we moved some
> flags); so the more we move out to `arch/`, the better.
>
> > If my understanding of bindgen is correct, we don't actually need to be
> > honest to it about what extensions the rest of the kernel is compiled
> > with, only make sure that it is not called with arguments it does not
> > understand?
>
> As long as bindgen generates things with the right ABI etc., yeah.
> But, in principle, enabling one extension one side but not the other
> could be wrong if it ends up in something that Rust uses, e.g. if the
> C side does:
>
> #ifdef __ARM_ARCH_7R__
> int x;
> #else
> char x;
> #endif
>
> and Rust attempts to use it, then particular `-march` builds could be broken.
To be on the safe side then, we should really disable the extensions
across the whole kernel. I don't *think* we have any madness at the
moment like in the above, but it is better to be on the safe side.
As I note below, it's just one extension for now anyway.
> > What version of GCC do I need to replicate this? I can build tip-of-tree
> > gcc if needs be.
>
> Sorry, what do you want to replicate? If you mean what we had in the
> old GitHub CI, I see:
>
> CONFIG_CC_VERSION_TEXT="riscv64-linux-gnu-gcc (Ubuntu
> 11.3.0-1ubuntu1~22.04) 11.3.0"
>
> which successfully boots in QEMU for the kernel config we tested.
No, I misunderstood your question. I thought you meant something else
entirely.
> But if you are asking what should be supported, I guess it depends on
> the RISC-V maintainers. Ideally, everything that the kernel supports
> (GCC >= 5.1),
Heh, as if that number is true across the board!
> but since the GCC+Rust builds are so experimental, I
> think as long as something is tested from time to time, it would be
> great (to at least know not everything is completely broken).
>
> But if you think that would be too much effort to maintain, or even
> GCC builds in general, then please feel free to ignore it for the time
> being, i.e. it is better to have LLVM builds rather than nothing! :)
Yeah, it may be worth getting just the LLVM bits in. I abhor the -march
handling and it may end up looking like shite with the zicsr &
zifencei handling.
Worst comes to worst, can permit gcc builds by just removing all the
extensions that get passed in -march for RUST && CC_IS_GCC type
scenarios. The only one of those at the moment is zihintpause & I don't
suppose too many tears will be shed over that.
For now it's safe to assume that LLVM doesn't require zicsr or zifencei
[1], we don't need to do a version dance right away.
¯\_(ツ)_/¯,
Conor.
1 - https://reviews.llvm.org/D147183#4233360
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Conor Dooley <conor@kernel.org>
To: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
Cc: "Conor Dooley" <conor.dooley@microchip.com>,
linux-riscv@lists.infradead.org,
"Miguel Ojeda" <ojeda@kernel.org>,
"Alex Gaynor" <alex.gaynor@gmail.com>,
"Wedson Almeida Filho" <wedsonaf@gmail.com>,
"Boqun Feng" <boqun.feng@gmail.com>,
"Gary Guo" <gary@garyguo.net>,
"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
"Jonathan Corbet" <corbet@lwn.net>,
"Paul Walmsley" <paul.walmsley@sifive.com>,
"Palmer Dabbelt" <palmer@dabbelt.com>,
"Nathan Chancellor" <nathan@kernel.org>,
"Nick Desaulniers" <ndesaulniers@google.com>,
"Tom Rix" <trix@redhat.com>,
rust-for-linux@vger.kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, llvm@lists.linux.dev
Subject: Re: [PATCH v1 0/2] RISC-V: enable rust
Date: Mon, 3 Apr 2023 18:14:57 +0100 [thread overview]
Message-ID: <20230403-repose-cartwheel-c3e10c231cae@spud> (raw)
In-Reply-To: <CANiq72mip7Xs5vnS4KccxCmBmRbKGki7AYTTHxwaeyr3amvSWw@mail.gmail.com>
[-- Attachment #1.1: Type: text/plain, Size: 3090 bytes --]
On Mon, Apr 03, 2023 at 06:35:45PM +0200, Miguel Ojeda wrote:
> On Thu, Mar 30, 2023 at 11:12 AM Conor Dooley
> <conor.dooley@microchip.com> wrote:
> >
> > I'd rather do this in the RISC-V Makefile so that it does not get
> > forgotten.
>
> Sounds good to me! We want to have the least amount of things possible
> in the common pieces (e.g. for the target spec file we moved some
> flags); so the more we move out to `arch/`, the better.
>
> > If my understanding of bindgen is correct, we don't actually need to be
> > honest to it about what extensions the rest of the kernel is compiled
> > with, only make sure that it is not called with arguments it does not
> > understand?
>
> As long as bindgen generates things with the right ABI etc., yeah.
> But, in principle, enabling one extension one side but not the other
> could be wrong if it ends up in something that Rust uses, e.g. if the
> C side does:
>
> #ifdef __ARM_ARCH_7R__
> int x;
> #else
> char x;
> #endif
>
> and Rust attempts to use it, then particular `-march` builds could be broken.
To be on the safe side then, we should really disable the extensions
across the whole kernel. I don't *think* we have any madness at the
moment like in the above, but it is better to be on the safe side.
As I note below, it's just one extension for now anyway.
> > What version of GCC do I need to replicate this? I can build tip-of-tree
> > gcc if needs be.
>
> Sorry, what do you want to replicate? If you mean what we had in the
> old GitHub CI, I see:
>
> CONFIG_CC_VERSION_TEXT="riscv64-linux-gnu-gcc (Ubuntu
> 11.3.0-1ubuntu1~22.04) 11.3.0"
>
> which successfully boots in QEMU for the kernel config we tested.
No, I misunderstood your question. I thought you meant something else
entirely.
> But if you are asking what should be supported, I guess it depends on
> the RISC-V maintainers. Ideally, everything that the kernel supports
> (GCC >= 5.1),
Heh, as if that number is true across the board!
> but since the GCC+Rust builds are so experimental, I
> think as long as something is tested from time to time, it would be
> great (to at least know not everything is completely broken).
>
> But if you think that would be too much effort to maintain, or even
> GCC builds in general, then please feel free to ignore it for the time
> being, i.e. it is better to have LLVM builds rather than nothing! :)
Yeah, it may be worth getting just the LLVM bits in. I abhor the -march
handling and it may end up looking like shite with the zicsr &
zifencei handling.
Worst comes to worst, can permit gcc builds by just removing all the
extensions that get passed in -march for RUST && CC_IS_GCC type
scenarios. The only one of those at the moment is zihintpause & I don't
suppose too many tears will be shed over that.
For now it's safe to assume that LLVM doesn't require zicsr or zifencei
[1], we don't need to do a version dance right away.
¯\_(ツ)_/¯,
Conor.
1 - https://reviews.llvm.org/D147183#4233360
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
[-- Attachment #2: Type: text/plain, Size: 161 bytes --]
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
next prev parent reply other threads:[~2023-04-03 17:15 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-07 10:24 [PATCH v1 0/2] RISC-V: enable rust Conor Dooley
2023-03-07 10:24 ` Conor Dooley
2023-03-07 10:24 ` [PATCH v1 1/2] scripts: generate_rust_target: enable building on RISC-V Conor Dooley
2023-03-07 10:24 ` Conor Dooley
2023-03-07 11:21 ` Miguel Ojeda
2023-03-07 11:21 ` Miguel Ojeda
2023-03-07 10:24 ` [PATCH v1 2/2] RISC-V: enable building 64-bit kernels with rust support Conor Dooley
2023-03-07 10:24 ` Conor Dooley
2023-03-07 10:56 ` Miguel Ojeda
2023-03-07 10:56 ` Miguel Ojeda
2023-03-07 11:01 ` Conor Dooley
2023-03-07 11:01 ` Conor Dooley
2023-03-07 11:56 ` Miguel Ojeda
2023-03-07 11:56 ` Miguel Ojeda
2023-03-07 12:51 ` Conor Dooley
2023-03-07 12:51 ` Conor Dooley
2023-03-07 11:07 ` [PATCH v1 0/2] RISC-V: enable rust Miguel Ojeda
2023-03-07 11:07 ` Miguel Ojeda
2023-03-30 8:23 ` Conor Dooley
2023-03-30 8:23 ` Conor Dooley
2023-03-30 9:11 ` Conor Dooley
2023-03-30 9:11 ` Conor Dooley
2023-04-03 16:35 ` Miguel Ojeda
2023-04-03 16:35 ` Miguel Ojeda
2023-04-03 17:14 ` Conor Dooley [this message]
2023-04-03 17:14 ` Conor Dooley
2023-04-05 21:18 ` Conor Dooley
2023-04-05 21:18 ` Conor Dooley
2023-04-03 16:32 ` Miguel Ojeda
2023-04-03 16:32 ` Miguel Ojeda
2023-06-08 7:01 ` Conor Dooley
2023-06-08 7:01 ` Conor Dooley
2023-06-08 7:10 ` Conor Dooley
2023-06-08 7:10 ` Conor Dooley
2023-06-08 7:50 ` Kwanghoon Son
2023-06-08 7:50 ` Kwanghoon Son
2023-06-08 7:50 ` Kwanghoon Son
2023-06-08 11:52 ` Miguel Ojeda
2023-06-08 11:52 ` Miguel Ojeda
2023-06-08 12:28 ` Conor Dooley
2023-06-08 12:28 ` Conor Dooley
2024-01-17 11:30 ` Conor Dooley
2024-01-17 11:30 ` Conor Dooley
2024-01-17 18:23 ` Miguel Ojeda
2024-01-17 18:23 ` Miguel Ojeda
2024-01-18 15:49 ` Conor Dooley
2024-01-18 15:49 ` Conor Dooley
2024-01-18 16:09 ` Miguel Ojeda
2024-01-18 16:09 ` Miguel Ojeda
2024-01-25 12:30 ` Conor Dooley
2024-01-25 12:30 ` Conor Dooley
2024-01-25 12:50 ` Miguel Ojeda
2024-01-25 12:50 ` Miguel Ojeda
2024-01-25 13:45 ` Conor Dooley
2024-01-25 13:45 ` Conor Dooley
2024-01-26 21:00 ` Miguel Ojeda
2024-01-26 21:00 ` Miguel Ojeda
2024-01-26 22:00 ` Conor Dooley
2024-01-26 22:00 ` Conor Dooley
2024-01-27 13:46 ` Miguel Ojeda
2024-01-27 13:46 ` Miguel Ojeda
2024-02-09 15:18 ` Conor Dooley
2024-02-09 15:18 ` Conor Dooley
2024-02-10 8:13 ` Trevor Gross
2024-02-10 8:13 ` Trevor Gross
2024-02-12 19:03 ` Ramon de C Valle
2024-02-12 19:03 ` Ramon de C Valle
2024-02-12 20:36 ` Sami Tolvanen
2024-02-12 20:36 ` Sami Tolvanen
2024-02-13 20:08 ` Ramon de C Valle
2024-02-13 20:08 ` Ramon de C Valle
2024-02-14 3:14 ` Trevor Gross
2024-02-14 3:14 ` Trevor Gross
[not found] ` <CAOcBZORDaHHH3jTL3GO7OsDubhhyQE0Uy2uAjJpiRzrKBgqaOw@mail.gmail.com>
2024-02-12 19:11 ` Miguel Ojeda
2024-02-12 19:11 ` Miguel Ojeda
2024-02-12 20:17 ` Conor Dooley
2024-02-12 20:17 ` Conor Dooley
2024-02-12 20:37 ` Conor Dooley
2024-02-12 20:37 ` Conor Dooley
2024-02-13 20:09 ` Ramon de C Valle
2024-02-13 20:09 ` Ramon de C Valle
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230403-repose-cartwheel-c3e10c231cae@spud \
--to=conor@kernel.org \
--cc=alex.gaynor@gmail.com \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun.feng@gmail.com \
--cc=conor.dooley@microchip.com \
--cc=corbet@lwn.net \
--cc=gary@garyguo.net \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=llvm@lists.linux.dev \
--cc=miguel.ojeda.sandonis@gmail.com \
--cc=nathan@kernel.org \
--cc=ndesaulniers@google.com \
--cc=ojeda@kernel.org \
--cc=palmer@dabbelt.com \
--cc=paul.walmsley@sifive.com \
--cc=rust-for-linux@vger.kernel.org \
--cc=trix@redhat.com \
--cc=wedsonaf@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.