[PATCH 0/2] Deprecate the shix machine and the TC58128 flash device

The shix machine was a research project started around 2003 at Télécom Paris. Preliminary support in QEMU was added in 2005 back when the QEMU architecture was less structured than it is now. Unfortunately, the support for the shix machine and its peripherals, such as the TC58128 16MiB flash device, has never been maintained as the research project used the real machine. This project stopped around 2010 and to the best of my knowledge and after consulting with the original author Alexis Polti, I propose to deprecate it in QEMU as well as the TC58128 flash device which does not implement the QOM model and still contains debug fprintf statements. Samuel Tardieu (2): target/sh4: Deprecate the shix machine hw/block: Deprecate the TC58128 block device docs/about/deprecated.rst | 5 +++++ hw/block/tc58128.c | 1 + hw/sh4/shix.c | 1 + 3 files changed, 7 insertions(+) -- 2.42.0

The shix machine has been designed and used at Télécom Paris from 2003 to 2010. It had been added to QEMU in 2005 and has not been maintained since. Since nobody is using the physical board anymore nor interested in maintaining the QEMU port, it is time to deprecate it. Signed-off-by: Samuel Tardieu <sam@rfc1149.net> --- docs/about/deprecated.rst | 5 +++++ hw/sh4/shix.c | 1 + 2 files changed, 6 insertions(+) diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index 2e15040246..e6a12c9077 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -269,6 +269,11 @@ Nios II ``10m50-ghrd`` and ``nios2-generic-nommu`` machines (since 8.2) The Nios II architecture is orphan. +``shix`` (since 9.0) +'''''''''''''''''''' + +The machine is no longer in existence and has been long unmaintained +in QEMU. Backend options --------------- diff --git a/hw/sh4/shix.c b/hw/sh4/shix.c index aa812512f0..58530b8ede 100644 --- a/hw/sh4/shix.c +++ b/hw/sh4/shix.c @@ -80,6 +80,7 @@ static void shix_machine_init(MachineClass *mc) mc->init = shix_init; mc->is_default = true; mc->default_cpu_type = TYPE_SH7750R_CPU; + mc->deprecation_reason = "old and unmaintained - use a newer machine instead"; } DEFINE_MACHINE("shix", shix_machine_init) -- 2.42.0

On 1/8/24 18:15, Samuel Tardieu wrote:
The shix machine has been designed and used at Télécom Paris from 2003 to 2010. It had been added to QEMU in 2005 and has not been maintained since. Since nobody is using the physical board anymore nor interested in maintaining the QEMU port, it is time to deprecate it.
Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
Reviewed-by: Cédric Le Goater <clg@redhat.com> Thanks, C.
--- docs/about/deprecated.rst | 5 +++++ hw/sh4/shix.c | 1 + 2 files changed, 6 insertions(+)
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index 2e15040246..e6a12c9077 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -269,6 +269,11 @@ Nios II ``10m50-ghrd`` and ``nios2-generic-nommu`` machines (since 8.2)
The Nios II architecture is orphan.
+``shix`` (since 9.0) +'''''''''''''''''''' + +The machine is no longer in existence and has been long unmaintained +in QEMU.
Backend options --------------- diff --git a/hw/sh4/shix.c b/hw/sh4/shix.c index aa812512f0..58530b8ede 100644 --- a/hw/sh4/shix.c +++ b/hw/sh4/shix.c @@ -80,6 +80,7 @@ static void shix_machine_init(MachineClass *mc) mc->init = shix_init; mc->is_default = true; mc->default_cpu_type = TYPE_SH7750R_CPU; + mc->deprecation_reason = "old and unmaintained - use a newer machine instead"; }
DEFINE_MACHINE("shix", shix_machine_init)

Hi Samuel, On 8/1/24 18:15, Samuel Tardieu wrote:
The shix machine has been designed and used at Télécom Paris from 2003 to 2010. It had been added to QEMU in 2005 and has not been maintained since. Since nobody is using the physical board anymore nor interested in maintaining the QEMU port, it is time to deprecate it.
Signed-off-by: Samuel Tardieu <sam@rfc1149.net> --- docs/about/deprecated.rst | 5 +++++ hw/sh4/shix.c | 1 + 2 files changed, 6 insertions(+)
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index 2e15040246..e6a12c9077 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -269,6 +269,11 @@ Nios II ``10m50-ghrd`` and ``nios2-generic-nommu`` machines (since 8.2)
The Nios II architecture is orphan.
+``shix`` (since 9.0) +'''''''''''''''''''' + +The machine is no longer in existence and has been long unmaintained +in QEMU.
Backend options --------------- diff --git a/hw/sh4/shix.c b/hw/sh4/shix.c index aa812512f0..58530b8ede 100644 --- a/hw/sh4/shix.c +++ b/hw/sh4/shix.c @@ -80,6 +80,7 @@ static void shix_machine_init(MachineClass *mc) mc->init = shix_init; mc->is_default = true; mc->default_cpu_type = TYPE_SH7750R_CPU; + mc->deprecation_reason = "old and unmaintained - use a newer machine instead";
"use a newer machine instead" bugs me, what would that be? Could we stick to "old and unmaintained"?
}
DEFINE_MACHINE("shix", shix_machine_init)

Philippe Mathieu-Daudé <philmd@linaro.org> writes:
mc->default_cpu_type = TYPE_SH7750R_CPU; + mc->deprecation_reason = "old and unmaintained - use a newer machine instead";
"use a newer machine instead" bugs me, what would that be?
Could we stick to "old and unmaintained"?
You're right. I removed the extra part in both the shix and the tc58128 deprecation messages. Sam -- Samuel Tardieu

On Tue, 09 Jan 2024 02:15:21 +0900, Samuel Tardieu wrote:
The shix machine has been designed and used at Télécom Paris from 2003 to 2010. It had been added to QEMU in 2005 and has not been maintained since. Since nobody is using the physical board anymore nor interested in maintaining the QEMU port, it is time to deprecate it.
Signed-off-by: Samuel Tardieu <sam@rfc1149.net> --- docs/about/deprecated.rst | 5 +++++ hw/sh4/shix.c | 1 + 2 files changed, 6 insertions(+)
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index 2e15040246..e6a12c9077 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -269,6 +269,11 @@ Nios II ``10m50-ghrd`` and ``nios2-generic-nommu`` machines (since 8.2)
The Nios II architecture is orphan.
+``shix`` (since 9.0) +'''''''''''''''''''' + +The machine is no longer in existence and has been long unmaintained +in QEMU.
Backend options --------------- diff --git a/hw/sh4/shix.c b/hw/sh4/shix.c index aa812512f0..58530b8ede 100644 --- a/hw/sh4/shix.c +++ b/hw/sh4/shix.c @@ -80,6 +80,7 @@ static void shix_machine_init(MachineClass *mc) mc->init = shix_init; mc->is_default = true; mc->default_cpu_type = TYPE_SH7750R_CPU; + mc->deprecation_reason = "old and unmaintained - use a newer machine instead"; }
DEFINE_MACHINE("shix", shix_machine_init) -- 2.42.0
I can't maintain this either. Reviewed-by: Yoshinori Sato <ysato@users.sourceforge.jp> -- Yosinori Sato

The 16MiB flash device is only used by the deprecated shix machine. Its code it old and unmaintained, and has never been adapted to the QOM architecture. It still contains debug statements and uses global variables. It is time to deprecate it. Signed-off-by: Samuel Tardieu <sam@rfc1149.net> --- docs/about/deprecated.rst | 2 +- hw/block/tc58128.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index e6a12c9077..15e39f8bbb 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -273,7 +273,7 @@ The Nios II architecture is orphan. '''''''''''''''''''' The machine is no longer in existence and has been long unmaintained -in QEMU. +in QEMU. This also holds for the TC51828 16MiB flash that it uses. Backend options --------------- diff --git a/hw/block/tc58128.c b/hw/block/tc58128.c index d350126b27..354c13ccf0 100644 --- a/hw/block/tc58128.c +++ b/hw/block/tc58128.c @@ -202,6 +202,7 @@ static sh7750_io_device tc58128 = { int tc58128_init(struct SH7750State *s, const char *zone1, const char *zone2) { + warn_report_once("The TC58128 flash device is deprecated - use a newer component"); init_dev(&tc58128_devs[0], zone1); init_dev(&tc58128_devs[1], zone2); return sh7750_register_io_device(s, &tc58128); -- 2.42.0

On 1/8/24 18:15, Samuel Tardieu wrote:
The 16MiB flash device is only used by the deprecated shix machine. Its code it old and unmaintained, and has never been adapted to the QOM architecture. It still contains debug statements and uses global variables. It is time to deprecate it.
Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
Reviewed-by: Cédric Le Goater <clg@redhat.com> Thanks, C.
--- docs/about/deprecated.rst | 2 +- hw/block/tc58128.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index e6a12c9077..15e39f8bbb 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -273,7 +273,7 @@ The Nios II architecture is orphan. ''''''''''''''''''''
The machine is no longer in existence and has been long unmaintained -in QEMU. +in QEMU. This also holds for the TC51828 16MiB flash that it uses.
Backend options --------------- diff --git a/hw/block/tc58128.c b/hw/block/tc58128.c index d350126b27..354c13ccf0 100644 --- a/hw/block/tc58128.c +++ b/hw/block/tc58128.c @@ -202,6 +202,7 @@ static sh7750_io_device tc58128 = {
int tc58128_init(struct SH7750State *s, const char *zone1, const char *zone2) { + warn_report_once("The TC58128 flash device is deprecated - use a newer component"); init_dev(&tc58128_devs[0], zone1); init_dev(&tc58128_devs[1], zone2); return sh7750_register_io_device(s, &tc58128);
participants (4)
-
Cédric Le Goater
-
Philippe Mathieu-Daudé
-
Samuel Tardieu
-
Yoshinori Sato