From: "Jose E. Marchesi" <jemarch@gnu.org>
To: Dave Thaler <dthaler@microsoft.com>
Cc: Suresh Krishnan <suresh.krishnan@gmail.com>,
David Vernet <void@manifault.com>,
Michael Richardson <mcr+ietf@sandelman.ca>,
"bpf@ietf.org" <bpf@ietf.org>, bpf <bpf@vger.kernel.org>,
Alexei Starovoitov <ast@kernel.org>,
Erik Kline <ek.ietf@gmail.com>,
"Suresh Krishnan (sureshk)" <sureshk@cisco.com>,
Christoph Hellwig <hch@infradead.org>
Subject: Re: [Bpf] IETF BPF working group draft charter
Date: Fri, 26 May 2023 19:25:11 +0200 [thread overview]
Message-ID: <874jnzgg3s.fsf@gnu.org> (raw)
In-Reply-To: <PH7PR21MB3878F7518729EB48F116978EA347A@PH7PR21MB3878.namprd21.prod.outlook.com> (Dave Thaler's message of "Fri, 26 May 2023 16:05:44 +0000")
> Jose E. Marchesi <jemarch@gnu.org> writes:
> [...]
>> I wonder. Lets suppose the ABI and ELF extensions are maintained and evolved
>> in the usual way it is done for all other architectures, i.e.
>> in the kernel git repository or a dedicatd public one, in textual form, under a
>> free software license, not requiring copyright assignments nor bureocratic
>> processes to be updated, etc.
>
> Let's not confuse code and documentation. Here we are discussing documentation
> not code.
Hm. I don't think anyone is confusing code and documentation here.
> For documentation, see the RISC-V standard in my previous email. The
> calling convention document isn't part of a kernel git repository,
> it's part of a standards group that is specific to RISC-V. That's
> what we're talking about here.
The PDF you sent is an (outdated) fragment of the specification of the
ISA and some official ISA extensions, that just happens to contain a two
pages providing a very general indications on the calling conventions.
That is _not_ the ABI.
The official RISC-V psABI is maintained in [1], which is a git
repository, it is distributed under a creative-commons license CC-BY, is
updated, and it is open to external contributions via pull requests.
And yes, it happens that particular psABI is maintained by RISC-V via a
TG (Task Group) with a chair and a co-chair, and there is a well defined
process, documented in the policy.md file in that git repo. All the
bells and whistles. Sure.
In a similar way than the x86_64 psABI is maintained by Intel via HJ Lu
in another git repo, distributed under a creative-commons license CC-BY,
updated often, and open to external contributions via pull requests or
patches. Less bells and whistles (as far as I know HJ is no chair of
anything, gotta ask him) but a similar implementation.
I am attaching the RISC-V ABI policy at the end of this email.
Can IETF implement a similar process?
In particular:
1) Maintaining the ABI in a public git repository.
Like the RISC-V Foundation does.
2) Releasing the files in that repo under a free software license like
dual GPL/BSD, or a suitable Creative Commons like CC-BY.
Like the RISC-V Foundation does.
3) Allowing third-party like particulars and corporations to contribute
to the ABI (via patches to mailing list or pull requests) without the
need of a copyright assignment?
Like the RISC-V Foundation does.
4) Explicitly referring implementors to the git repo as the latest and
authoritative version of the document.
Like the RISC-V Foundation does.
If the answer is yes, then I will shut up, apologize for the noise, and
be as happy as a clam.
If the answer is no, well, I think I will still shut up, because I'm
getting a bit tired of always being the party pooper around here, and
the point has been made for your consideration, so more I cannot do.
[1] https://github.com/riscv-non-isa/riscv-elf-psabi-doc
---
policy.md
# Policy for Merging Pull Requests
Each type of modification has a different policy, based on the following rules:
- Changes requiring linker changes
- Require an open source PoC implementation for binutils or LLD, either as a
patch on the mailing list/Phabricator as appropriate or in a GitHub fork
- Require at least one binutils developer **_AND_** one LLD developer to
approve
- Changes requiring compiler changes
- Require an open source PoC implementation for GCC or LLVM, either as a
patch on the mailing list/Phabricator as appropriate or in a GitHub fork
- Require at least one GCC developer **_AND_** one LLVM developer to approve
- Clarifications for currently-implemented behaviour
- Require approval from a developer of the corresponding component
(binutils/LLD or GCC/LLVM)
- General improvements and clarification
- One of the psABI TG chair or co-chair.
- Do **_NOT_** make incompatible changes
- Changes that break compatibility are generally not acceptable
- In the rare case there is a bug in the ABI that needs fixing and that
cannot be done in a backwards-compatible way, or possibly for some
edge-case behaviour that is not currently relied upon, breaking the ABI can
be considered, but will require both the psABI TG chair and co-chair to
approve, and is subject to the above requirements as appropriate
# FAQ
- Can I leave a comment, LGTM or approve the PR even if I am not a toolchain
developer or chair/co-chair?
- Don't hesitate to leave your comment, we encourage anyone who intends
to contribute to the RISC-V community to participate in discussion.
- When do I need to modify the compiler and/or linker?
- Changes and additions to the ELF format itself generally require linker
changes, e.g. new relocation types, new flags in the `e_flags` field, new
sections and new symbol flags.
- Changes and additions to calling conventions and code models generally
require compiler changes.
- Who are the psABI TG chair and co-chair?
- The current chair is Kito Cheng ([@kito-cheng]) and the current co-chair is
Jessica Clarke ([@jrtc27]).
- Where can I find a RISC-V GCC/LLVM/binutils/LLD developer to review my PR?
- The psABI TG chair or co-chair will generally contact the right people as
needed for reviews, but in case you want to reach out yourself you can find
an incomplete list from [RISC-V International's wiki page].
[@kito-cheng]: https://github.com/kito-cheng
[@jrtc27]: https://github.com/jrtc27
[RISC-V International's wiki page]: https://wiki.riscv.org/display/TECH/Toolchain+Projects
WARNING: multiple messages have this Message-ID (diff)
From: "Jose E. Marchesi" <jemarch@gnu.org>
To: Dave Thaler <dthaler@microsoft.com>
Cc: Suresh Krishnan <suresh.krishnan@gmail.com>,
David Vernet <void@manifault.com>,
Michael Richardson <mcr+ietf@sandelman.ca>,
"bpf@ietf.org" <bpf@ietf.org>, bpf <bpf@vger.kernel.org>,
Alexei Starovoitov <ast@kernel.org>,
Erik Kline <ek.ietf@gmail.com>,
"Suresh Krishnan (sureshk)" <sureshk@cisco.com>,
Christoph Hellwig <hch@infradead.org>
Subject: Re: [Bpf] IETF BPF working group draft charter
Date: Fri, 26 May 2023 19:25:11 +0200 [thread overview]
Message-ID: <874jnzgg3s.fsf@gnu.org> (raw)
Message-ID: <20230526172511.4_Xw9CVZJIAoZjLVe82h3pnjy9oAVJ5v4NbJ1t18zZs@z> (raw)
In-Reply-To: <PH7PR21MB3878F7518729EB48F116978EA347A@PH7PR21MB3878.namprd21.prod.outlook.com> (Dave Thaler's message of "Fri, 26 May 2023 16:05:44 +0000")
> Jose E. Marchesi <jemarch@gnu.org> writes:
> [...]
>> I wonder. Lets suppose the ABI and ELF extensions are maintained and evolved
>> in the usual way it is done for all other architectures, i.e.
>> in the kernel git repository or a dedicatd public one, in textual form, under a
>> free software license, not requiring copyright assignments nor bureocratic
>> processes to be updated, etc.
>
> Let's not confuse code and documentation. Here we are discussing documentation
> not code.
Hm. I don't think anyone is confusing code and documentation here.
> For documentation, see the RISC-V standard in my previous email. The
> calling convention document isn't part of a kernel git repository,
> it's part of a standards group that is specific to RISC-V. That's
> what we're talking about here.
The PDF you sent is an (outdated) fragment of the specification of the
ISA and some official ISA extensions, that just happens to contain a two
pages providing a very general indications on the calling conventions.
That is _not_ the ABI.
The official RISC-V psABI is maintained in [1], which is a git
repository, it is distributed under a creative-commons license CC-BY, is
updated, and it is open to external contributions via pull requests.
And yes, it happens that particular psABI is maintained by RISC-V via a
TG (Task Group) with a chair and a co-chair, and there is a well defined
process, documented in the policy.md file in that git repo. All the
bells and whistles. Sure.
In a similar way than the x86_64 psABI is maintained by Intel via HJ Lu
in another git repo, distributed under a creative-commons license CC-BY,
updated often, and open to external contributions via pull requests or
patches. Less bells and whistles (as far as I know HJ is no chair of
anything, gotta ask him) but a similar implementation.
I am attaching the RISC-V ABI policy at the end of this email.
Can IETF implement a similar process?
In particular:
1) Maintaining the ABI in a public git repository.
Like the RISC-V Foundation does.
2) Releasing the files in that repo under a free software license like
dual GPL/BSD, or a suitable Creative Commons like CC-BY.
Like the RISC-V Foundation does.
3) Allowing third-party like particulars and corporations to contribute
to the ABI (via patches to mailing list or pull requests) without the
need of a copyright assignment?
Like the RISC-V Foundation does.
4) Explicitly referring implementors to the git repo as the latest and
authoritative version of the document.
Like the RISC-V Foundation does.
If the answer is yes, then I will shut up, apologize for the noise, and
be as happy as a clam.
If the answer is no, well, I think I will still shut up, because I'm
getting a bit tired of always being the party pooper around here, and
the point has been made for your consideration, so more I cannot do.
[1] https://github.com/riscv-non-isa/riscv-elf-psabi-doc
---
policy.md
# Policy for Merging Pull Requests
Each type of modification has a different policy, based on the following rules:
- Changes requiring linker changes
- Require an open source PoC implementation for binutils or LLD, either as a
patch on the mailing list/Phabricator as appropriate or in a GitHub fork
- Require at least one binutils developer **_AND_** one LLD developer to
approve
- Changes requiring compiler changes
- Require an open source PoC implementation for GCC or LLVM, either as a
patch on the mailing list/Phabricator as appropriate or in a GitHub fork
- Require at least one GCC developer **_AND_** one LLVM developer to approve
- Clarifications for currently-implemented behaviour
- Require approval from a developer of the corresponding component
(binutils/LLD or GCC/LLVM)
- General improvements and clarification
- One of the psABI TG chair or co-chair.
- Do **_NOT_** make incompatible changes
- Changes that break compatibility are generally not acceptable
- In the rare case there is a bug in the ABI that needs fixing and that
cannot be done in a backwards-compatible way, or possibly for some
edge-case behaviour that is not currently relied upon, breaking the ABI can
be considered, but will require both the psABI TG chair and co-chair to
approve, and is subject to the above requirements as appropriate
# FAQ
- Can I leave a comment, LGTM or approve the PR even if I am not a toolchain
developer or chair/co-chair?
- Don't hesitate to leave your comment, we encourage anyone who intends
to contribute to the RISC-V community to participate in discussion.
- When do I need to modify the compiler and/or linker?
- Changes and additions to the ELF format itself generally require linker
changes, e.g. new relocation types, new flags in the `e_flags` field, new
sections and new symbol flags.
- Changes and additions to calling conventions and code models generally
require compiler changes.
- Who are the psABI TG chair and co-chair?
- The current chair is Kito Cheng ([@kito-cheng]) and the current co-chair is
Jessica Clarke ([@jrtc27]).
- Where can I find a RISC-V GCC/LLVM/binutils/LLD developer to review my PR?
- The psABI TG chair or co-chair will generally contact the right people as
needed for reviews, but in case you want to reach out yourself you can find
an incomplete list from [RISC-V International's wiki page].
[@kito-cheng]: https://github.com/kito-cheng
[@jrtc27]: https://github.com/jrtc27
[RISC-V International's wiki page]: https://wiki.riscv.org/display/TECH/Toolchain+Projects
--
Bpf mailing list
Bpf@ietf.org
https://www.ietf.org/mailman/listinfo/bpf
next prev parent reply other threads:[~2023-05-26 17:25 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <PH7PR21MB38780769D482CC5F83768D3CA37E9@PH7PR21MB3878.namprd21.prod.outlook.com>
[not found] ` <87v8grkn67.fsf@gnu.org>
2023-05-17 18:19 ` [Bpf] IETF BPF working group draft charter Dave Thaler
2023-05-17 18:19 ` Dave Thaler
2023-05-17 21:00 ` David Vernet
2023-05-17 21:00 ` David Vernet
2023-05-17 21:13 ` Dave Thaler
2023-05-17 21:13 ` Dave Thaler
2023-05-18 17:33 ` Jose E. Marchesi
2023-05-18 17:33 ` Jose E. Marchesi
2023-05-18 19:42 ` Dave Thaler
2023-05-18 19:42 ` Dave Thaler
2023-05-23 16:32 ` David Vernet
2023-05-23 16:32 ` David Vernet
2023-05-23 16:50 ` Dave Thaler
2023-05-23 16:50 ` Dave Thaler
2023-05-23 17:15 ` David Vernet
2023-05-23 17:15 ` David Vernet
2023-05-23 19:08 ` David Vernet
2023-05-23 19:08 ` David Vernet
2023-05-23 19:42 ` Erik Kline
2023-05-23 19:42 ` Erik Kline
2023-05-23 19:47 ` Jose E. Marchesi
2023-05-23 19:47 ` Jose E. Marchesi
2023-05-23 17:58 ` Michael Richardson
2023-05-23 17:58 ` Michael Richardson
2023-05-23 18:25 ` Dave Thaler
2023-05-23 18:25 ` Dave Thaler
2023-05-23 20:28 ` David Vernet
2023-05-23 20:28 ` David Vernet
2023-05-24 20:38 ` Suresh Krishnan
2023-05-24 21:06 ` Jose E. Marchesi
2023-05-24 21:06 ` Jose E. Marchesi
2023-05-26 16:05 ` Dave Thaler
2023-05-26 16:05 ` Dave Thaler
2023-05-26 17:25 ` Jose E. Marchesi [this message]
2023-05-26 17:25 ` Jose E. Marchesi
2023-05-25 7:44 ` Christoph Hellwig
2023-05-25 7:44 ` Christoph Hellwig
2023-05-25 10:14 ` Jose E. Marchesi
2023-05-25 10:14 ` Jose E. Marchesi
2023-05-26 16:02 ` Dave Thaler
2023-05-26 16:02 ` Dave Thaler
2023-05-26 16:55 ` David Vernet
2023-05-26 16:55 ` David Vernet
2023-05-26 17:01 ` Dave Thaler
2023-05-26 17:01 ` Dave Thaler
2023-05-26 17:19 ` David Vernet
2023-05-26 17:19 ` David Vernet
2023-05-26 17:30 ` Dave Thaler
2023-05-26 17:30 ` Dave Thaler
2023-05-31 3:48 ` Christoph Hellwig
2023-05-31 3:48 ` Christoph Hellwig
2023-05-31 19:38 ` Michael Richardson
2023-05-31 19:38 ` Michael Richardson
2023-05-31 19:44 ` Dave Thaler
2023-05-31 19:44 ` Dave Thaler
2023-06-01 17:40 ` Michael Richardson
2023-06-01 17:40 ` Michael Richardson
2023-05-31 3:47 ` Christoph Hellwig
2023-05-31 3:47 ` Christoph Hellwig
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=874jnzgg3s.fsf@gnu.org \
--to=jemarch@gnu.org \
--cc=ast@kernel.org \
--cc=bpf@ietf.org \
--cc=bpf@vger.kernel.org \
--cc=dthaler@microsoft.com \
--cc=ek.ietf@gmail.com \
--cc=hch@infradead.org \
--cc=mcr+ietf@sandelman.ca \
--cc=suresh.krishnan@gmail.com \
--cc=sureshk@cisco.com \
--cc=void@manifault.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox