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
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.
--
Yosinori Sato
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
---
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
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
>
--
Yosinori Sato
© 2016 - 2025 Red Hat, Inc.