All of lore.kernel.org
 help / color / mirror / Atom feed
* Deprecation of the LM32 target
@ 2020-12-24  9:53 John Paul Adrian Glaubitz
  2020-12-26  8:39 ` Thomas Huth
  0 siblings, 1 reply; 6+ messages in thread
From: John Paul Adrian Glaubitz @ 2020-12-24  9:53 UTC (permalink / raw)
  To: QEMU Developers

Hello!

I was just browsing through the QEMU Christmas Calendar [1] and noticed
the announcement for the deprecation of the LM32 target.

I'm not sure what the motivation of the deprecation is, but isn't one of
the big selling points of QEMU to support deprecated targets?

If QEMU eventually ends up supporting commercially available targets only
and kicking out everything that is obsolete, I'm not sure what the point
of QEMU would be in the first place as products like VMWare and VirtualBox
already provide virtualization functionality.

Please don't deprecate targets just because they're old.

Thanks,
Adrian

> [1] https://www.qemu-advent-calendar.org/2020/

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaubitz@debian.org
`. `'   Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913


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

* Re: Deprecation of the LM32 target
  2020-12-24  9:53 Deprecation of the LM32 target John Paul Adrian Glaubitz
@ 2020-12-26  8:39 ` Thomas Huth
  2020-12-26  9:06   ` John Paul Adrian Glaubitz
  0 siblings, 1 reply; 6+ messages in thread
From: Thomas Huth @ 2020-12-26  8:39 UTC (permalink / raw)
  To: John Paul Adrian Glaubitz, QEMU Developers; +Cc: Peter Maydell, Michael Walle

On 24/12/2020 10.53, John Paul Adrian Glaubitz wrote:
> Hello!
> 
> I was just browsing through the QEMU Christmas Calendar [1] and noticed
> the announcement for the deprecation of the LM32 target.
> 
> I'm not sure what the motivation of the deprecation is, but isn't one of
> the big selling points of QEMU to support deprecated targets?
> 
> If QEMU eventually ends up supporting commercially available targets only
> and kicking out everything that is obsolete, I'm not sure what the point
> of QEMU would be in the first place as products like VMWare and VirtualBox
> already provide virtualization functionality.
> 
> Please don't deprecate targets just because they're old.

  Hi,

the problem is not that the target CPU is old, but rather that according to 
the (former?) maintainer, there are no users left:

  https://www.mail-archive.com/qemu-devel@nongnu.org/msg605024.html

So it got marked as deprecated in this commit here:

  https://git.qemu.org/?p=qemu.git;a=commitdiff;h=d84980051229fa43c96b3

Without maintainer and without users, there is no point in keeping this 
target, is there?

  Thomas



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

* Re: Deprecation of the LM32 target
  2020-12-26  8:39 ` Thomas Huth
@ 2020-12-26  9:06   ` John Paul Adrian Glaubitz
  2020-12-26 11:50     ` Michael Walle
  2020-12-29 10:38     ` Thomas Huth
  0 siblings, 2 replies; 6+ messages in thread
From: John Paul Adrian Glaubitz @ 2020-12-26  9:06 UTC (permalink / raw)
  To: Thomas Huth, QEMU Developers; +Cc: Peter Maydell, Michael Walle

Hello!

On 12/26/20 9:39 AM, Thomas Huth wrote:
> the problem is not that the target CPU is old, but rather that according to the (former?) maintainer, there are no users left:
> 
>  https://www.mail-archive.com/qemu-devel@nongnu.org/msg605024.html
> 
> So it got marked as deprecated in this commit here:
> 
>  https://git.qemu.org/?p=qemu.git;a=commitdiff;h=d84980051229fa43c96b3
> 
> Without maintainer and without users, there is no point in keeping this target, is there?

I'm not sure how you determine whether there are people using the code or not. There
is no really user tracking in QEMU, is there?

And the maintainer's claim that RISC-V takes over makes no sense either. The point of
emulators is to be able to run old and existing software. If a target had only a
justification to exist while it's commercially viable, you would have to remove 90%
of the targets in QEMU.

I mean, the whole point of an emulator is being able to run existing code on modern hardware,
usually because the old hardware is no longer available. And as long as the target is
functional, I don't see a point in taking away the functionality.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaubitz@debian.org
`. `'   Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913



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

* Re: Deprecation of the LM32 target
  2020-12-26  9:06   ` John Paul Adrian Glaubitz
@ 2020-12-26 11:50     ` Michael Walle
  2020-12-29 10:38     ` Thomas Huth
  1 sibling, 0 replies; 6+ messages in thread
From: Michael Walle @ 2020-12-26 11:50 UTC (permalink / raw)
  To: John Paul Adrian Glaubitz; +Cc: Peter Maydell, Thomas Huth, QEMU Developers

Hi,

Am 2020-12-26 10:06, schrieb John Paul Adrian Glaubitz:
> Hello!
> 
> On 12/26/20 9:39 AM, Thomas Huth wrote:
>> the problem is not that the target CPU is old, but rather that 
>> according to the (former?) maintainer, there are no users left:
>> 
>>  https://www.mail-archive.com/qemu-devel@nongnu.org/msg605024.html
>> 
>> So it got marked as deprecated in this commit here:
>> 
>>  https://git.qemu.org/?p=qemu.git;a=commitdiff;h=d84980051229fa43c96b3
>> 
>> Without maintainer and without users, there is no point in keeping 
>> this target, is there?
> 
> I'm not sure how you determine whether there are people using the code
> or not. There
> is no really user tracking in QEMU, is there?

That is correct, one cannot know if there are actually users of the
milkymist board or the lattice eval board. These are the two only
supported boards. The (or I should better say "my") main purpose to
add a qemu target for milkymist was to help the developers of the
board, e.g. to ease debugging, etc. But development has stopped
long time ago [1]. I've never seen a request to add a new board.

> And the maintainer's claim that RISC-V takes over makes no sense
> either.

I've meant the ecosystem around the SoC. LM32 on linux never took of,
mostly because there is no MMU (we've worked on one though). There is
no official lm32 support in linux and g++ support is broken (or never
even worked). While for RISC-V there is huge userbase building all sorts
of tooling.

There is a project called LiteX [2], some sort of toolbox to build your
own SoC, which supports the LM32 as a CPU component. But I've never seen
anyone trying to add a board to qemu.

> The point of
> emulators is to be able to run old and existing software. If a target 
> had only a
> justification to exist while it's commercially viable, you would have
> to remove 90% of the targets in QEMU.
> I mean, the whole point of an emulator is being able to run existing
> code on modern hardware,
> usually because the old hardware is no longer available. And as long
> as the target is
> functional, I don't see a point in taking away the functionality.

I'm not arguing against this. In fact, I'd also like to keep the lm32
qemu target, but I personally don't have any time for that anymore. And
I don't know if its fair to put the burdon of unmaintained boards to all
the qemu developers. There are a lot of test cases for the LM32
target, but these only cover the CPU instructions. The last time I've
looked audio was broken. So without anyone caring about the target, it
won't also be much help for the user either.

-michael

[1] 
https://github.com/m-labs/milkymist/commit/7d944d3dcffb5e528a44937b10123ff65a0aecbc
[2] https://github.com/enjoy-digital/litex


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

* Re: Deprecation of the LM32 target
  2020-12-26  9:06   ` John Paul Adrian Glaubitz
  2020-12-26 11:50     ` Michael Walle
@ 2020-12-29 10:38     ` Thomas Huth
  2020-12-30 16:34       ` Peter Maydell
  1 sibling, 1 reply; 6+ messages in thread
From: Thomas Huth @ 2020-12-29 10:38 UTC (permalink / raw)
  To: John Paul Adrian Glaubitz, QEMU Developers; +Cc: Peter Maydell, Michael Walle

On 26/12/2020 10.06, John Paul Adrian Glaubitz wrote:
> Hello!
> 
> On 12/26/20 9:39 AM, Thomas Huth wrote:
>> the problem is not that the target CPU is old, but rather that according to the (former?) maintainer, there are no users left:
>>
>>   https://www.mail-archive.com/qemu-devel@nongnu.org/msg605024.html
>>
>> So it got marked as deprecated in this commit here:
>>
>>   https://git.qemu.org/?p=qemu.git;a=commitdiff;h=d84980051229fa43c96b3
>>
>> Without maintainer and without users, there is no point in keeping this target, is there?
> 
> I'm not sure how you determine whether there are people using the code or not. There
> is no really user tracking in QEMU, is there?
> 
> And the maintainer's claim that RISC-V takes over makes no sense either. The point of
> emulators is to be able to run old and existing software. If a target had only a
> justification to exist while it's commercially viable, you would have to remove 90%
> of the targets in QEMU.
> 
> I mean, the whole point of an emulator is being able to run existing code on modern hardware,
> usually because the old hardware is no longer available. And as long as the target is
> functional, I don't see a point in taking away the functionality.

You also have to consider that it takes some effort to keep code up to date, 
e.g. if there is a bigger restructuring of the code base going on, you also 
have to work on neglected targets, too. If there is no active maintainer 
left anymore, it's quite a burden for all the other developers.
So if there is no known user left (are *you* using lm32?), and there is no 
active maintainer anymore, it's IMHO adequate to mark a target as 
deprecated. If someone still wants to run old lm32 code, they still can use 
older versions of QEMU to do this.

  Thomas




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

* Re: Deprecation of the LM32 target
  2020-12-29 10:38     ` Thomas Huth
@ 2020-12-30 16:34       ` Peter Maydell
  0 siblings, 0 replies; 6+ messages in thread
From: Peter Maydell @ 2020-12-30 16:34 UTC (permalink / raw)
  To: Thomas Huth; +Cc: Michael Walle, QEMU Developers, John Paul Adrian Glaubitz

On Tue, 29 Dec 2020 at 10:38, Thomas Huth <thuth@redhat.com> wrote:
> On 26/12/2020 10.06, John Paul Adrian Glaubitz wrote:
> > I mean, the whole point of an emulator is being able to run existing code on modern hardware,
> > usually because the old hardware is no longer available. And as long as the target is
> > functional, I don't see a point in taking away the functionality.
>
> You also have to consider that it takes some effort to keep code up to date,
> e.g. if there is a bigger restructuring of the code base going on, you also
> have to work on neglected targets, too. If there is no active maintainer
> left anymore, it's quite a burden for all the other developers.
> So if there is no known user left (are *you* using lm32?), and there is no
> active maintainer anymore, it's IMHO adequate to mark a target as
> deprecated.

Right, the issue is not that the hardware being emulated is old,
it's that the code in QEMU to do that emulation is old and there's
no active maintainer for it and nobody helping to keep it up to
date with the rest of QEMU and its evolving APIs and practices.
"And we don't think there are likely to be any serious users either"
is just the cherry on the cake...

> If someone still wants to run old lm32 code, they still can use
> older versions of QEMU to do this.

Or they could put in the work to be the maintainer :-)

thanks
-- PMM


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

end of thread, other threads:[~2020-12-30 16:36 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-24  9:53 Deprecation of the LM32 target John Paul Adrian Glaubitz
2020-12-26  8:39 ` Thomas Huth
2020-12-26  9:06   ` John Paul Adrian Glaubitz
2020-12-26 11:50     ` Michael Walle
2020-12-29 10:38     ` Thomas Huth
2020-12-30 16:34       ` Peter Maydell

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.