[PATCH 1/2] Revert "Remove the unused sh4eb target"

Thomas Huth posted 2 patches 1 month ago
[PATCH 1/2] Revert "Remove the unused sh4eb target"
Posted by Thomas Huth 1 month ago
This reverts commit 73ceb12960e686b763415f0880cc5171ccce01cf.

The "r2d" machine can work in big endian mode, see:

 https://lore.kernel.org/qemu-devel/d6755445-1060-48a8-82b6-2f392c21f9b9@landley.net/

So the reasoning for removing sh4eb was wrong.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 configs/devices/sh4eb-softmmu/default.mak | 3 +++
 configs/targets/sh4eb-softmmu.mak         | 2 ++
 qapi/machine.json                         | 2 +-
 tests/qtest/endianness-test.c             | 1 +
 tests/qtest/machine-none-test.c           | 1 +
 .gitlab-ci.d/buildtest.yml                | 2 +-
 .gitlab-ci.d/cirrus.yml                   | 2 +-
 .gitlab-ci.d/crossbuilds.yml              | 2 +-
 .travis.yml                               | 2 +-
 tests/qemu-iotests/testenv.py             | 1 +
 tests/qtest/meson.build                   | 1 +
 11 files changed, 14 insertions(+), 5 deletions(-)
 create mode 100644 configs/devices/sh4eb-softmmu/default.mak
 create mode 100644 configs/targets/sh4eb-softmmu.mak

diff --git a/configs/devices/sh4eb-softmmu/default.mak b/configs/devices/sh4eb-softmmu/default.mak
new file mode 100644
index 0000000000..f18d1f6519
--- /dev/null
+++ b/configs/devices/sh4eb-softmmu/default.mak
@@ -0,0 +1,3 @@
+# Default configuration for sh4eb-softmmu
+
+include ../sh4-softmmu/default.mak
diff --git a/configs/targets/sh4eb-softmmu.mak b/configs/targets/sh4eb-softmmu.mak
new file mode 100644
index 0000000000..226b1fc698
--- /dev/null
+++ b/configs/targets/sh4eb-softmmu.mak
@@ -0,0 +1,2 @@
+TARGET_ARCH=sh4
+TARGET_BIG_ENDIAN=y
diff --git a/qapi/machine.json b/qapi/machine.json
index 3cc055b6ff..a6b8795b09 100644
--- a/qapi/machine.json
+++ b/qapi/machine.json
@@ -37,7 +37,7 @@
              'loongarch64', 'm68k', 'microblaze', 'microblazeel', 'mips', 'mips64',
              'mips64el', 'mipsel', 'or1k', 'ppc',
              'ppc64', 'riscv32', 'riscv64', 'rx', 's390x', 'sh4',
-             'sparc', 'sparc64', 'tricore',
+             'sh4eb', 'sparc', 'sparc64', 'tricore',
              'x86_64', 'xtensa', 'xtensaeb' ] }
 
 ##
diff --git a/tests/qtest/endianness-test.c b/tests/qtest/endianness-test.c
index f4872b0283..222d116fae 100644
--- a/tests/qtest/endianness-test.c
+++ b/tests/qtest/endianness-test.c
@@ -41,6 +41,7 @@ static const TestCase test_cases[] = {
     { "ppc64", "pseries-2.7", 0x10080000000ULL,
       .bswap = true, .superio = "i82378" },
     { "sh4", "r2d", 0xfe240000, .superio = "i82378" },
+    { "sh4eb", "r2d", 0xfe240000, .bswap = true, .superio = "i82378" },
     { "sparc64", "sun4u", 0x1fe02000000LL, .bswap = true },
     { "x86_64", "pc", -1 },
     {}
diff --git a/tests/qtest/machine-none-test.c b/tests/qtest/machine-none-test.c
index 9cf95bea1e..159b2a705a 100644
--- a/tests/qtest/machine-none-test.c
+++ b/tests/qtest/machine-none-test.c
@@ -42,6 +42,7 @@ static struct arch2cpu cpus_map[] = {
     { "ppc64", "power8e_v2.1" },
     { "s390x", "qemu" },
     { "sh4", "sh7750r" },
+    { "sh4eb", "sh7751r" },
     { "sparc", "LEON2" },
     { "sparc64", "Fujitsu Sparc64" },
     { "tricore", "tc1796" },
diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
index 01e8470a69..b847196c3e 100644
--- a/.gitlab-ci.d/buildtest.yml
+++ b/.gitlab-ci.d/buildtest.yml
@@ -72,7 +72,7 @@ build-system-debian:
   variables:
     IMAGE: debian
     CONFIGURE_ARGS: --with-coroutine=sigaltstack
-    TARGETS: arm-softmmu i386-softmmu riscv64-softmmu sh4-softmmu
+    TARGETS: arm-softmmu i386-softmmu riscv64-softmmu sh4eb-softmmu
       sparc-softmmu xtensa-softmmu
     MAKE_CHECK_ARGS: check-build
 
diff --git a/.gitlab-ci.d/cirrus.yml b/.gitlab-ci.d/cirrus.yml
index 6a7bafac7b..9427302383 100644
--- a/.gitlab-ci.d/cirrus.yml
+++ b/.gitlab-ci.d/cirrus.yml
@@ -57,7 +57,7 @@ x64-freebsd-14-build:
     CIRRUS_VM_RAM: 8G
     UPDATE_COMMAND: pkg update; pkg upgrade -y
     INSTALL_COMMAND: pkg install -y
-    CONFIGURE_ARGS: --target-list-exclude=arm-softmmu,i386-softmmu,microblaze-softmmu,mips64el-softmmu,mipsel-softmmu,mips-softmmu,ppc-softmmu,xtensa-softmmu
+    CONFIGURE_ARGS: --target-list-exclude=arm-softmmu,i386-softmmu,microblaze-softmmu,mips64el-softmmu,mipsel-softmmu,mips-softmmu,ppc-softmmu,sh4eb-softmmu,xtensa-softmmu
     TEST_TARGETS: check
 
 aarch64-macos-build:
diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index 178f62869d..95dfc39224 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -176,7 +176,7 @@ cross-win64-system:
     EXTRA_CONFIGURE_OPTS: --enable-fdt=internal --disable-plugins
     CROSS_SKIP_TARGETS: alpha-softmmu avr-softmmu hppa-softmmu
                         m68k-softmmu microblazeel-softmmu
-                        or1k-softmmu rx-softmmu sh4-softmmu sparc64-softmmu
+                        or1k-softmmu rx-softmmu sh4eb-softmmu sparc64-softmmu
                         tricore-softmmu xtensaeb-softmmu
   artifacts:
     when: on_success
diff --git a/.travis.yml b/.travis.yml
index ad81bc5e1b..8fc1ae0cf2 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -223,7 +223,7 @@ jobs:
           - genisoimage
       env:
         - CONFIG="--disable-containers --audio-drv-list=sdl --disable-user
-            --target-list=arm-softmmu,avr-softmmu,microblaze-softmmu,sh4-softmmu,sparc64-softmmu,xtensaeb-softmmu"
+            --target-list=arm-softmmu,avr-softmmu,microblaze-softmmu,sh4eb-softmmu,sparc64-softmmu,xtensaeb-softmmu"
 
     - name: "[s390x] GCC (user)"
       arch: s390x
diff --git a/tests/qemu-iotests/testenv.py b/tests/qemu-iotests/testenv.py
index 8cd620c202..6326e46b7b 100644
--- a/tests/qemu-iotests/testenv.py
+++ b/tests/qemu-iotests/testenv.py
@@ -245,6 +245,7 @@ def __init__(self, source_dir: str, build_dir: str,
             ('riscv64', 'virt'),
             ('rx', 'gdbsim-r5f562n8'),
             ('sh4', 'r2d'),
+            ('sh4eb', 'r2d'),
             ('tricore', 'tricore_testboard')
         )
         for suffix, machine in machine_map:
diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build
index e8be8b3942..5c131754eb 100644
--- a/tests/qtest/meson.build
+++ b/tests/qtest/meson.build
@@ -186,6 +186,7 @@ qtests_ppc64 = \
   qtests_pci + ['migration-test', 'cpu-plug-test', 'drive_del-test']
 
 qtests_sh4 = (config_all_devices.has_key('CONFIG_ISA_TESTDEV') ? ['endianness-test'] : [])
+qtests_sh4eb = (config_all_devices.has_key('CONFIG_ISA_TESTDEV') ? ['endianness-test'] : [])
 
 qtests_sparc = ['prom-env-test', 'm48t59-test', 'boot-serial-test'] + \
   qtests_filter
-- 
2.47.0
Re: [PATCH 1/2] Revert "Remove the unused sh4eb target"
Posted by Rob Landley 4 weeks, 1 day ago
On 10/24/24 03:27, Thomas Huth wrote:
> This reverts commit 73ceb12960e686b763415f0880cc5171ccce01cf.
> 
> The "r2d" machine can work in big endian mode, see:
> 
>   https://lore.kernel.org/qemu-devel/d6755445-1060-48a8-82b6-2f392c21f9b9@landley.net/
> 
> So the reasoning for removing sh4eb was wrong.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>

Signed-off-by: Rob Landley <rob@landley.net>

Rob
Re: [PATCH 1/2] Revert "Remove the unused sh4eb target"
Posted by Thomas Huth 3 weeks, 3 days ago
On 25/10/2024 18.09, Rob Landley wrote:
> On 10/24/24 03:27, Thomas Huth wrote:
>> This reverts commit 73ceb12960e686b763415f0880cc5171ccce01cf.
>>
>> The "r2d" machine can work in big endian mode, see:
>>
>>   https://lore.kernel.org/qemu-devel/ 
>> d6755445-1060-48a8-82b6-2f392c21f9b9@landley.net/
>>
>> So the reasoning for removing sh4eb was wrong.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
> 
> Signed-off-by: Rob Landley <rob@landley.net>

I'll take that as a "Reviewed-by" ;-)

  Thanks,
   Thomas


Re: [PATCH 1/2] Revert "Remove the unused sh4eb target"
Posted by Daniel P. Berrangé 1 month ago
On Thu, Oct 24, 2024 at 10:27:34AM +0200, Thomas Huth wrote:
> This reverts commit 73ceb12960e686b763415f0880cc5171ccce01cf.
> 
> The "r2d" machine can work in big endian mode, see:
> 
>  https://lore.kernel.org/qemu-devel/d6755445-1060-48a8-82b6-2f392c21f9b9@landley.net/
> 
> So the reasoning for removing sh4eb was wrong.

This is a good example of why bypassing the deprecation process is generally
a bad idea. Even if we believe something is unusable, we may not be aware
of the full situation. The deprecation period gives us an opportunity to
solicit more diverse information with which we can make the final deletion
decision.

> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  configs/devices/sh4eb-softmmu/default.mak | 3 +++
>  configs/targets/sh4eb-softmmu.mak         | 2 ++
>  qapi/machine.json                         | 2 +-
>  tests/qtest/endianness-test.c             | 1 +
>  tests/qtest/machine-none-test.c           | 1 +
>  .gitlab-ci.d/buildtest.yml                | 2 +-
>  .gitlab-ci.d/cirrus.yml                   | 2 +-
>  .gitlab-ci.d/crossbuilds.yml              | 2 +-
>  .travis.yml                               | 2 +-
>  tests/qemu-iotests/testenv.py             | 1 +
>  tests/qtest/meson.build                   | 1 +
>  11 files changed, 14 insertions(+), 5 deletions(-)
>  create mode 100644 configs/devices/sh4eb-softmmu/default.mak
>  create mode 100644 configs/targets/sh4eb-softmmu.mak

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|