On 27/03/2024 15.15, Philippe Mathieu-Daudé wrote:
On 27/3/24 14:19, Thomas Huth wrote:
> On 27/03/2024 13.45, Philippe Mathieu-Daudé wrote:
>> On 27/3/24 13:35, Philippe Mathieu-Daudé wrote:
>>> Remove the Nios II machines and the system emulation code
>>> (deprecated since v8.2 in commit 9997771bc1 "target/nios2:
>>> Deprecate the Nios II architecture").
>
> Please remind me, why didn't we deprecate the linux-user emulation, too?
Hmm I think we actually did (overall target), since there is
an issue with signals.
The placement in the deprecated.rst file seems a bit unfortunate in that
case, since the subchapter is called "System emulator CPUs" ?
Anyway, I just saw your v2, so let's continue discussion there...
>>> diff --git a/hw/nios2/Kconfig b/hw/nios2/Kconfig
>>> deleted file mode 100644
>>> index 4748ae27b6..0000000000
>>> --- a/hw/nios2/Kconfig
>>> +++ /dev/null
>>> @@ -1,13 +0,0 @@
>>> -config NIOS2_10M50
>>> - bool
>>> - select NIOS2
>>> - select SERIAL
>>> - select ALTERA_TIMER
>>
>> I forgot to mention I deliberately chose to keep the Altera
>> timer model in the tree, since it looks like a re-usable
>> IP component.
>
> But if it is not used anymore by any machine, this will happily bitrot,
> won't it? I think I'd rather remove it, too ... maybe in a separate patch,
> so that in case somebody later needs it again, it can be restored by
> simply reverting the patch again.
It is related to dynamic machines, how do we decide what components
to remove once there? I suppose we'd need to deprecate every single
component, like ALTERA_TIMER. But we are not yet generating dynamic
machines, so for now we can consider ALTERA_TIMER part of Nios II
sysemu removal. I like your idea of removing it as a separate patch.
Even if we switch to dynamic machines one day, the devices still need to be
somehow used and tested in the CI, e.g. by scripts that assemble a machine
dynamically. If there's a device that is never used at all, we can also
simply remove it until someone needs it again, I think.
Thomas