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 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.