diff mbox series

tests/qemu-iotests/testenv: Use the "r2d" machine for sh4/sh4eb

Message ID 20240917194350.429971-1-thuth@redhat.com (mailing list archive)
State New, archived
Headers show
Series tests/qemu-iotests/testenv: Use the "r2d" machine for sh4/sh4eb | expand

Commit Message

Thomas Huth Sept. 17, 2024, 7:43 p.m. UTC
Commit 0ea0538fae516f9b4 removed the default machine of the sh4
binaries, so a lot of iotests are failing now without such a default
machine. Teach the iotest harness to use the "r2d" machine instead
to fix this problem.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 tests/qemu-iotests/testenv.py | 2 ++
 1 file changed, 2 insertions(+)

Comments

Yoshinori Sato Sept. 20, 2024, 8:06 a.m. UTC | #1
On Wed, 18 Sep 2024 04:43:50 +0900,
Thomas Huth wrote:
> 
> Commit 0ea0538fae516f9b4 removed the default machine of the sh4
> binaries, so a lot of iotests are failing now without such a default
> machine. Teach the iotest harness to use the "r2d" machine instead
> to fix this problem.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  tests/qemu-iotests/testenv.py | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/tests/qemu-iotests/testenv.py b/tests/qemu-iotests/testenv.py
> index 0b32eec119..6326e46b7b 100644
> --- a/tests/qemu-iotests/testenv.py
> +++ b/tests/qemu-iotests/testenv.py
> @@ -244,6 +244,8 @@ def __init__(self, source_dir: str, build_dir: str,
>              ('riscv32', 'virt'),
>              ('riscv64', 'virt'),
>              ('rx', 'gdbsim-r5f562n8'),
> +            ('sh4', 'r2d'),
> +            ('sh4eb', 'r2d'),
>              ('tricore', 'tricore_testboard')
>          )
>          for suffix, machine in machine_map:
> -- 
> 2.46.0
> 

r2d is works only sh4 little endian mode.
There was probably no other hardware that ran in big endian.
I think sh4 alone is sufficient for this test.
Thomas Huth Sept. 20, 2024, 8:12 a.m. UTC | #2
On 20/09/2024 10.06, Yoshinori Sato wrote:
> On Wed, 18 Sep 2024 04:43:50 +0900,
> Thomas Huth wrote:
>>
>> Commit 0ea0538fae516f9b4 removed the default machine of the sh4
>> binaries, so a lot of iotests are failing now without such a default
>> machine. Teach the iotest harness to use the "r2d" machine instead
>> to fix this problem.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>>   tests/qemu-iotests/testenv.py | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/tests/qemu-iotests/testenv.py b/tests/qemu-iotests/testenv.py
>> index 0b32eec119..6326e46b7b 100644
>> --- a/tests/qemu-iotests/testenv.py
>> +++ b/tests/qemu-iotests/testenv.py
>> @@ -244,6 +244,8 @@ def __init__(self, source_dir: str, build_dir: str,
>>               ('riscv32', 'virt'),
>>               ('riscv64', 'virt'),
>>               ('rx', 'gdbsim-r5f562n8'),
>> +            ('sh4', 'r2d'),
>> +            ('sh4eb', 'r2d'),
>>               ('tricore', 'tricore_testboard')
>>           )
>>           for suffix, machine in machine_map:
>> -- 
>> 2.46.0
>>
> 
> r2d is works only sh4 little endian mode.

Oh, that's interesting - since there is no other machine left for sh4/sh4eb.

> There was probably no other hardware that ran in big endian.

There used to be the "shix" machine, but it got removed, I assume that one 
worked in big endian mode, too?

Anyway, if the r2d machine only works in little endian mode, and there is 
apparently no other machine available anymore, I think we can disable the 
sh4eb target completely since it is of no use now? Or is there a reason to 
still keep it around?

  Thomas
Yoshinori Sato Sept. 25, 2024, 7:12 a.m. UTC | #3
On Fri, 20 Sep 2024 17:12:47 +0900,
Thomas Huth wrote:
> 
> On 20/09/2024 10.06, Yoshinori Sato wrote:
> > On Wed, 18 Sep 2024 04:43:50 +0900,
> > Thomas Huth wrote:
> >> 
> >> Commit 0ea0538fae516f9b4 removed the default machine of the sh4
> >> binaries, so a lot of iotests are failing now without such a default
> >> machine. Teach the iotest harness to use the "r2d" machine instead
> >> to fix this problem.
> >> 
> >> Signed-off-by: Thomas Huth <thuth@redhat.com>
> >> ---
> >>   tests/qemu-iotests/testenv.py | 2 ++
> >>   1 file changed, 2 insertions(+)
> >> 
> >> diff --git a/tests/qemu-iotests/testenv.py b/tests/qemu-iotests/testenv.py
> >> index 0b32eec119..6326e46b7b 100644
> >> --- a/tests/qemu-iotests/testenv.py
> >> +++ b/tests/qemu-iotests/testenv.py
> >> @@ -244,6 +244,8 @@ def __init__(self, source_dir: str, build_dir: str,
> >>               ('riscv32', 'virt'),
> >>               ('riscv64', 'virt'),
> >>               ('rx', 'gdbsim-r5f562n8'),
> >> +            ('sh4', 'r2d'),
> >> +            ('sh4eb', 'r2d'),
> >>               ('tricore', 'tricore_testboard')
> >>           )
> >>           for suffix, machine in machine_map:
> >> -- 
> >> 2.46.0
> >> 
> > 
> > r2d is works only sh4 little endian mode.
> 
> Oh, that's interesting - since there is no other machine left for sh4/sh4eb.
> 
> > There was probably no other hardware that ran in big endian.
> 
> There used to be the "shix" machine, but it got removed, I assume that
> one worked in big endian mode, too?

Since shix's only external device is memory, it will work in big endian.
r2d has some peripheral devices that do not support big endian.

> > Anyway, if the r2d machine only works in little endian mode, and there
> is apparently no other machine available anymore, I think we can
> disable the sh4eb target completely since it is of no use now? Or is
> there a reason to still keep it around?

You're right. I haven't used sh4eb in years, and I don't think anyone needs it.

>  Thomas
>
Philippe Mathieu-Daudé Oct. 3, 2024, 5:22 p.m. UTC | #4
On 20/9/24 10:06, Yoshinori Sato wrote:
> On Wed, 18 Sep 2024 04:43:50 +0900,
> Thomas Huth wrote:
>>
>> Commit 0ea0538fae516f9b4 removed the default machine of the sh4
>> binaries, so a lot of iotests are failing now without such a default
>> machine. Teach the iotest harness to use the "r2d" machine instead
>> to fix this problem.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>>   tests/qemu-iotests/testenv.py | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/tests/qemu-iotests/testenv.py b/tests/qemu-iotests/testenv.py
>> index 0b32eec119..6326e46b7b 100644
>> --- a/tests/qemu-iotests/testenv.py
>> +++ b/tests/qemu-iotests/testenv.py
>> @@ -244,6 +244,8 @@ def __init__(self, source_dir: str, build_dir: str,
>>               ('riscv32', 'virt'),
>>               ('riscv64', 'virt'),
>>               ('rx', 'gdbsim-r5f562n8'),
>> +            ('sh4', 'r2d'),
>> +            ('sh4eb', 'r2d'),
>>               ('tricore', 'tricore_testboard')
>>           )
>>           for suffix, machine in machine_map:
>> -- 
>> 2.46.0
>>
> 
> r2d is works only sh4 little endian mode.
> There was probably no other hardware that ran in big endian.
> I think sh4 alone is sufficient for this test.
> 

We can enforce that with:

-- >8 --
diff --git a/hw/sh4/Kconfig b/hw/sh4/Kconfig
index 1660d292d53..01517e5c29f 100644
--- a/hw/sh4/Kconfig
+++ b/hw/sh4/Kconfig
@@ -12,6 +12,7 @@ config R2D
      select SM501
      select SH7750
      select SH_PCI
+    depends on !TARGET_BIG_ENDIAN

  config SH7750
      bool
---
diff mbox series

Patch

diff --git a/tests/qemu-iotests/testenv.py b/tests/qemu-iotests/testenv.py
index 0b32eec119..6326e46b7b 100644
--- a/tests/qemu-iotests/testenv.py
+++ b/tests/qemu-iotests/testenv.py
@@ -244,6 +244,8 @@  def __init__(self, source_dir: str, build_dir: str,
             ('riscv32', 'virt'),
             ('riscv64', 'virt'),
             ('rx', 'gdbsim-r5f562n8'),
+            ('sh4', 'r2d'),
+            ('sh4eb', 'r2d'),
             ('tricore', 'tricore_testboard')
         )
         for suffix, machine in machine_map: