public inbox for newlib@sourceware.org
 help / color / mirror / Atom feed
* Deprecation/removal of nios2 target support
@ 2024-04-18  3:27 Sandra Loosemore
  2024-04-18  5:53 ` Thomas Huth
  2024-04-18 15:44 ` Joseph Myers
  0 siblings, 2 replies; 10+ messages in thread
From: Sandra Loosemore @ 2024-04-18  3:27 UTC (permalink / raw)
  To: gcc, binutils, gdb-patches, libc-alpha, Chung-Lin Tang, andrew, Yao Qi
  Cc: Dinh Nguyen, qemu-devel, newlib

Tomorrow I plan to push patches to mark the nios2 target as obsolete in 
GCC 14.

Background: Intel has EOL'ed the Nios II processor IP and is now 
directing their FPGA customers to a RISC-V platform instead.

https://www.intel.com/content/www/us/en/content-details/781327/intel-is-discontinuing-ip-ordering-codes-listed-in-pdn2312-for-nios-ii-ip.html

The Nios II hardware on loan from Intel that we were using for testing 
at Mentor Graphics/Siemens was returned around the first of the year. 
For some time we had been using QEMU to test the nios2-elf target, but 
we never had a QEMU test harness set up that would boot the Linux 
kernel, and user-mode QEMU on this target is too buggy/unmaintained to 
use for primary testing.  So the current situation is that none of the 
listed maintainers for any of the GNU toolchain components have access 
to a fully working test configuration any more, we have all moved on to 
new jobs and different projects, Intel has also moved on to a different 
platform, and our former contacts on Intel's Nios II team have moved on 
as well.  It seems like it's time to pull the plug.

Therefore I'd like to mark Nios II as obsolete in GCC 14 now, and remove 
support from all toolchain components after the release is made.  I'm 
not sure there is an established process for obsoleting/removing support 
in other components; besides binutils, GDB, and GLIBC, there's QEMU, 
newlib/libgloss, and the Linux kernel.  But, we need to get the ball 
rolling somewhere.

I did do some GCC testing on both ELF and Linux Nios II targets around 
the end of December and another round about a month ago, so I believe 
GCC 14 will pretty much be in working order.  Beyond that, though, I 
think it would be better to remove support promptly, rather than having 
it hang around in an unmaintained/untestable zombie state, getting ever 
more bit-rotten.

-Sandra

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Deprecation/removal of nios2 target support
  2024-04-18  3:27 Deprecation/removal of nios2 target support Sandra Loosemore
@ 2024-04-18  5:53 ` Thomas Huth
  2024-04-18 12:49   ` Marek Vasut
  2024-04-18 15:44 ` Joseph Myers
  1 sibling, 1 reply; 10+ messages in thread
From: Thomas Huth @ 2024-04-18  5:53 UTC (permalink / raw)
  To: Sandra Loosemore, gcc, binutils, gdb-patches, libc-alpha,
	Chung-Lin Tang, andrew, Yao Qi
  Cc: Dinh Nguyen, qemu-devel, newlib, Philippe Mathieu-Daudé,
	Chris Wulff, Marek Vasut

On 18/04/2024 05.27, Sandra Loosemore wrote:
> Tomorrow I plan to push patches to mark the nios2 target as obsolete in GCC 14.
> 
> Background: Intel has EOL'ed the Nios II processor IP and is now directing 
> their FPGA customers to a RISC-V platform instead.
> 
> https://www.intel.com/content/www/us/en/content-details/781327/intel-is-discontinuing-ip-ordering-codes-listed-in-pdn2312-for-nios-ii-ip.html
> 
> The Nios II hardware on loan from Intel that we were using for testing at 
> Mentor Graphics/Siemens was returned around the first of the year. For some 
> time we had been using QEMU to test the nios2-elf target, but we never had a 
> QEMU test harness set up that would boot the Linux kernel, and user-mode 
> QEMU on this target is too buggy/unmaintained to use for primary testing.  
> So the current situation is that none of the listed maintainers for any of 
> the GNU toolchain components have access to a fully working test 
> configuration any more, we have all moved on to new jobs and different 
> projects, Intel has also moved on to a different platform, and our former 
> contacts on Intel's Nios II team have moved on as well.  It seems like it's 
> time to pull the plug.
> 
> Therefore I'd like to mark Nios II as obsolete in GCC 14 now, and remove 
> support from all toolchain components after the release is made.  I'm not 
> sure there is an established process for obsoleting/removing support in 
> other components; besides binutils, GDB, and GLIBC, there's QEMU, 
> newlib/libgloss, and the Linux kernel.  But, we need to get the ball rolling 
> somewhere.

Thanks for the heads-up, Sandra! FWIW: QEMU already marked the nios2 target 
as deprecated, too, and plans to remove it in version 9.1 (in autumn this year).

  Thomas



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Deprecation/removal of nios2 target support
  2024-04-18  5:53 ` Thomas Huth
@ 2024-04-18 12:49   ` Marek Vasut
  0 siblings, 0 replies; 10+ messages in thread
From: Marek Vasut @ 2024-04-18 12:49 UTC (permalink / raw)
  To: Thomas Huth, Sandra Loosemore, gcc, binutils, gdb-patches,
	libc-alpha, Chung-Lin Tang, andrew, Yao Qi
  Cc: Dinh Nguyen, qemu-devel, newlib, Philippe Mathieu-Daudé,
	Chris Wulff

On 4/18/24 7:53 AM, Thomas Huth wrote:
> On 18/04/2024 05.27, Sandra Loosemore wrote:
>> Tomorrow I plan to push patches to mark the nios2 target as obsolete 
>> in GCC 14.
>>
>> Background: Intel has EOL'ed the Nios II processor IP and is now 
>> directing their FPGA customers to a RISC-V platform instead.
>>
>> https://www.intel.com/content/www/us/en/content-details/781327/intel-is-discontinuing-ip-ordering-codes-listed-in-pdn2312-for-nios-ii-ip.html
>>
>> The Nios II hardware on loan from Intel that we were using for testing 
>> at Mentor Graphics/Siemens was returned around the first of the year. 
>> For some time we had been using QEMU to test the nios2-elf target, but 
>> we never had a QEMU test harness set up that would boot the Linux 
>> kernel, and user-mode QEMU on this target is too buggy/unmaintained to 
>> use for primary testing. So the current situation is that none of the 
>> listed maintainers for any of the GNU toolchain components have access 
>> to a fully working test configuration any more, we have all moved on 
>> to new jobs and different projects, Intel has also moved on to a 
>> different platform, and our former contacts on Intel's Nios II team 
>> have moved on as well.  It seems like it's time to pull the plug.
>>
>> Therefore I'd like to mark Nios II as obsolete in GCC 14 now, and 
>> remove support from all toolchain components after the release is 
>> made.  I'm not sure there is an established process for 
>> obsoleting/removing support in other components; besides binutils, 
>> GDB, and GLIBC, there's QEMU, newlib/libgloss, and the Linux kernel.  
>> But, we need to get the ball rolling somewhere.
> 
> Thanks for the heads-up, Sandra! FWIW: QEMU already marked the nios2 
> target as deprecated, too, and plans to remove it in version 9.1 (in 
> autumn this year).

Thank you and sorry for being inactive for so long around nios2.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Deprecation/removal of nios2 target support
  2024-04-18  3:27 Deprecation/removal of nios2 target support Sandra Loosemore
  2024-04-18  5:53 ` Thomas Huth
@ 2024-04-18 15:44 ` Joseph Myers
  2024-04-18 15:57   ` Joel Sherrill
  2024-04-18 18:41   ` Arnd Bergmann
  1 sibling, 2 replies; 10+ messages in thread
From: Joseph Myers @ 2024-04-18 15:44 UTC (permalink / raw)
  To: Sandra Loosemore
  Cc: gcc, binutils, gdb-patches, libc-alpha, Chung-Lin Tang, andrew,
	Yao Qi, Dinh Nguyen, qemu-devel, newlib, Arnd Bergmann

On Wed, 17 Apr 2024, Sandra Loosemore wrote:

> Therefore I'd like to mark Nios II as obsolete in GCC 14 now, and remove
> support from all toolchain components after the release is made.  I'm not sure
> there is an established process for obsoleting/removing support in other
> components; besides binutils, GDB, and GLIBC, there's QEMU, newlib/libgloss,
> and the Linux kernel.  But, we need to get the ball rolling somewhere.

CC:ing Arnd Bergmann regarding the obsolescence in the Linux kernel.

-- 
Joseph S. Myers
josmyers@redhat.com


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Deprecation/removal of nios2 target support
  2024-04-18 15:44 ` Joseph Myers
@ 2024-04-18 15:57   ` Joel Sherrill
  2024-04-18 16:06     ` Jeff Law
  2024-04-18 18:41   ` Arnd Bergmann
  1 sibling, 1 reply; 10+ messages in thread
From: Joel Sherrill @ 2024-04-18 15:57 UTC (permalink / raw)
  To: Joseph Myers
  Cc: Sandra Loosemore, gcc, binutils, gdb-patches, libc-alpha,
	Chung-Lin Tang, andrew, Yao Qi, Dinh Nguyen, qemu-devel, newlib,
	Arnd Bergmann

[-- Attachment #1: Type: text/plain, Size: 791 bytes --]

On Thu, Apr 18, 2024 at 10:46 AM Joseph Myers <josmyers@redhat.com> wrote:

> On Wed, 17 Apr 2024, Sandra Loosemore wrote:
>
> > Therefore I'd like to mark Nios II as obsolete in GCC 14 now, and remove
> > support from all toolchain components after the release is made.  I'm
> not sure
> > there is an established process for obsoleting/removing support in other
> > components; besides binutils, GDB, and GLIBC, there's QEMU,
> newlib/libgloss,
> > and the Linux kernel.  But, we need to get the ball rolling somewhere.
>
> CC:ing Arnd Bergmann regarding the obsolescence in the Linux kernel.
>

Just an FYI that the RTEMS Project plans to drop NIOS II support based
on what happens with the tooling.

--joel

>
> --
> Joseph S. Myers
> josmyers@redhat.com
>
>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Deprecation/removal of nios2 target support
  2024-04-18 15:57   ` Joel Sherrill
@ 2024-04-18 16:06     ` Jeff Law
  2024-04-18 17:00       ` Sandra Loosemore
  0 siblings, 1 reply; 10+ messages in thread
From: Jeff Law @ 2024-04-18 16:06 UTC (permalink / raw)
  To: joel, Joseph Myers
  Cc: Sandra Loosemore, gcc, binutils, gdb-patches, libc-alpha,
	Chung-Lin Tang, andrew, Yao Qi, Dinh Nguyen, qemu-devel, newlib,
	Arnd Bergmann



On 4/18/24 9:57 AM, Joel Sherrill wrote:
> 
> 
> On Thu, Apr 18, 2024 at 10:46 AM Joseph Myers <josmyers@redhat.com 
> <mailto:josmyers@redhat.com>> wrote:
> 
>     On Wed, 17 Apr 2024, Sandra Loosemore wrote:
> 
>      > Therefore I'd like to mark Nios II as obsolete in GCC 14 now, and
>     remove
>      > support from all toolchain components after the release is made. 
>     I'm not sure
>      > there is an established process for obsoleting/removing support
>     in other
>      > components; besides binutils, GDB, and GLIBC, there's QEMU,
>     newlib/libgloss,
>      > and the Linux kernel.  But, we need to get the ball rolling
>     somewhere.
> 
>     CC:ing Arnd Bergmann regarding the obsolescence in the Linux kernel.
> 
> 
> Just an FYI that the RTEMS Project plans to drop NIOS II support based
> on what happens with the tooling.
ACK.  Just one more note to the wider audience.  I looked at QEMU's user 
mode support for nios2 on/off over the last couple years.  It never 
seemed to work well enough be able to run the GCC testsuite reliably.

As a result, my tester builds nios2 and will run the testsuite, but all 
the execution tests are only built, they're not actually run.  It's been 
fairly stable, but its not doing in-depth testing.

jeff


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Deprecation/removal of nios2 target support
  2024-04-18 16:06     ` Jeff Law
@ 2024-04-18 17:00       ` Sandra Loosemore
  0 siblings, 0 replies; 10+ messages in thread
From: Sandra Loosemore @ 2024-04-18 17:00 UTC (permalink / raw)
  To: Jeff Law, joel, Joseph Myers
  Cc: gcc, binutils, gdb-patches, libc-alpha, Chung-Lin Tang, andrew,
	Yao Qi, Dinh Nguyen, qemu-devel, newlib, Arnd Bergmann

On 4/18/24 10:06, Jeff Law wrote:
> 
> ACK.  Just one more note to the wider audience.  I looked at QEMU's user 
> mode support for nios2 on/off over the last couple years.  It never 
> seemed to work well enough be able to run the GCC testsuite reliably.

I looked at the problems with the nios2 user-mode support in QEMU in 
some detail a few years ago.  It looked like the problem was that it had 
copied the target syscall data structures from GLIBC and wasn't 
accounting for 32-bit target/64-bit host differences -- this 
particularly affected signal handling.  I'm pretty sure we asked Intel 
if they wanted this fixed and they were not interested in pursuing that. 
  The end result is that user-mode QEMU is not very useful for GLIBC or 
GDB testing.

> As a result, my tester builds nios2 and will run the testsuite, but all 
> the execution tests are only built, they're not actually run.  It's been 
> fairly stable, but its not doing in-depth testing.

Yes, as I noted in my previous message, there is nothing seriously wrong 
with the nios2 GCC port at present; it just seems kind of pointless to 
invest time in continuing to maintain it as a hobby when the 
architecture is dead.  I think legacy customers generally would prefer 
to keep using the toolchains previously distributed by Altera/Intel or 
Mentor/Siemens instead of trying to build a new bleeding-edge toolchain 
from scratch, too.

-Sandra

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Deprecation/removal of nios2 target support
  2024-04-18 15:44 ` Joseph Myers
  2024-04-18 15:57   ` Joel Sherrill
@ 2024-04-18 18:41   ` Arnd Bergmann
  2024-04-19  3:50     ` Marek Vasut
  2024-04-19 12:05     ` Dinh Nguyen
  1 sibling, 2 replies; 10+ messages in thread
From: Arnd Bergmann @ 2024-04-18 18:41 UTC (permalink / raw)
  To: Joseph Myers, Sandra Loosemore
  Cc: gcc, binutils, gdb-patches, Xi Ruoyao, Chung-Lin Tang, andrew,
	Yao Qi, Dinh Nguyen, qemu-devel, newlib, Andreas Oetken,
	Bernd Weiberg, Marek Vasut

On Thu, Apr 18, 2024, at 17:44, Joseph Myers wrote:
> On Wed, 17 Apr 2024, Sandra Loosemore wrote:
>
>> Therefore I'd like to mark Nios II as obsolete in GCC 14 now, and remove
>> support from all toolchain components after the release is made.  I'm not sure
>> there is an established process for obsoleting/removing support in other
>> components; besides binutils, GDB, and GLIBC, there's QEMU, newlib/libgloss,
>> and the Linux kernel.  But, we need to get the ball rolling somewhere.
>
> CC:ing Arnd Bergmann regarding the obsolescence in the Linux kernel.

We have not yet marked nios2 as deprecated in the kernel, but that
is mostly because the implementation does not get in the way too
much and Dinh Nguyen is still around as a maintainer and merging
bugfixes.

Almost all nios2 kernel changes I see in the past decade have been
done blindly without testing on hardware, either for treewide
changes, or by code inspection. The only notable exceptions I could
find are from Andreas Oetken and Bernd Weiberg at Siemens and
from Marek Vasut (all added to Cc in case they have something to add).

We should probably remove nios2 from the kernel in the near future,
but even if we decide not to, I think deprecating it from gcc is the
right idea: If there are a few remaining users that still plan
to update their kernels, gcc-14 will still be able to build new
kernels for several years.

     Arnd

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Deprecation/removal of nios2 target support
  2024-04-18 18:41   ` Arnd Bergmann
@ 2024-04-19  3:50     ` Marek Vasut
  2024-04-19 12:05     ` Dinh Nguyen
  1 sibling, 0 replies; 10+ messages in thread
From: Marek Vasut @ 2024-04-19  3:50 UTC (permalink / raw)
  To: Arnd Bergmann, Joseph Myers, Sandra Loosemore
  Cc: gcc, binutils, gdb-patches, Xi Ruoyao, Chung-Lin Tang, andrew,
	Yao Qi, Dinh Nguyen, qemu-devel, newlib, Andreas Oetken,
	Bernd Weiberg

On 4/18/24 8:41 PM, Arnd Bergmann wrote:
> On Thu, Apr 18, 2024, at 17:44, Joseph Myers wrote:
>> On Wed, 17 Apr 2024, Sandra Loosemore wrote:
>>
>>> Therefore I'd like to mark Nios II as obsolete in GCC 14 now, and remove
>>> support from all toolchain components after the release is made.  I'm not sure
>>> there is an established process for obsoleting/removing support in other
>>> components; besides binutils, GDB, and GLIBC, there's QEMU, newlib/libgloss,
>>> and the Linux kernel.  But, we need to get the ball rolling somewhere.
>>
>> CC:ing Arnd Bergmann regarding the obsolescence in the Linux kernel.
> 
> We have not yet marked nios2 as deprecated in the kernel, but that
> is mostly because the implementation does not get in the way too
> much and Dinh Nguyen is still around as a maintainer and merging
> bugfixes.
> 
> Almost all nios2 kernel changes I see in the past decade have been
> done blindly without testing on hardware, either for treewide
> changes, or by code inspection. The only notable exceptions I could
> find are from Andreas Oetken and Bernd Weiberg at Siemens and
> from Marek Vasut (all added to Cc in case they have something to add).

I might still have the 10M50 board, but it wasn't powered for a very 
long time.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Deprecation/removal of nios2 target support
  2024-04-18 18:41   ` Arnd Bergmann
  2024-04-19  3:50     ` Marek Vasut
@ 2024-04-19 12:05     ` Dinh Nguyen
  1 sibling, 0 replies; 10+ messages in thread
From: Dinh Nguyen @ 2024-04-19 12:05 UTC (permalink / raw)
  To: Arnd Bergmann, Joseph Myers, Sandra Loosemore
  Cc: gcc, binutils, gdb-patches, Xi Ruoyao, Chung-Lin Tang, andrew,
	Yao Qi, qemu-devel, newlib, Andreas Oetken, Bernd Weiberg,
	Marek Vasut



On 4/18/24 13:41, Arnd Bergmann wrote:
> On Thu, Apr 18, 2024, at 17:44, Joseph Myers wrote:
>> On Wed, 17 Apr 2024, Sandra Loosemore wrote:
>>
>>> Therefore I'd like to mark Nios II as obsolete in GCC 14 now, and remove
>>> support from all toolchain components after the release is made.  I'm not sure
>>> there is an established process for obsoleting/removing support in other
>>> components; besides binutils, GDB, and GLIBC, there's QEMU, newlib/libgloss,
>>> and the Linux kernel.  But, we need to get the ball rolling somewhere.
>>
>> CC:ing Arnd Bergmann regarding the obsolescence in the Linux kernel.
> 
> We have not yet marked nios2 as deprecated in the kernel, but that
> is mostly because the implementation does not get in the way too
> much and Dinh Nguyen is still around as a maintainer and merging
> bugfixes.
> 
> Almost all nios2 kernel changes I see in the past decade have been
> done blindly without testing on hardware, either for treewide
> changes, or by code inspection. The only notable exceptions I could
> find are from Andreas Oetken and Bernd Weiberg at Siemens and
> from Marek Vasut (all added to Cc in case they have something to add).
> 
> We should probably remove nios2 from the kernel in the near future,
> but even if we decide not to, I think deprecating it from gcc is the
> right idea: If there are a few remaining users that still plan
> to update their kernels, gcc-14 will still be able to build new
> kernels for several years.
> 

I'm planning to do this soon.

Dinh

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2024-04-19 12:05 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-18  3:27 Deprecation/removal of nios2 target support Sandra Loosemore
2024-04-18  5:53 ` Thomas Huth
2024-04-18 12:49   ` Marek Vasut
2024-04-18 15:44 ` Joseph Myers
2024-04-18 15:57   ` Joel Sherrill
2024-04-18 16:06     ` Jeff Law
2024-04-18 17:00       ` Sandra Loosemore
2024-04-18 18:41   ` Arnd Bergmann
2024-04-19  3:50     ` Marek Vasut
2024-04-19 12:05     ` Dinh Nguyen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).