[PATCH 16/17] Revert "hw/sh4/r2d: Realize IDE controller before accessing it"

Thomas Huth posted 17 patches 1 month, 1 week ago
[PATCH 16/17] Revert "hw/sh4/r2d: Realize IDE controller before accessing it"
Posted by Thomas Huth 1 month, 1 week ago
This reverts commit 3c5f86a22686ef475a8259c0d8ee714f61c770c9.

Changing the order here caused a regression with the "tuxrun"
kernels (from https://storage.tuxboot.com/20230331/) - ATA commands
fail with a "ata1: lost interrupt (Status 0x58)" message.
Apparently we need to wire the interrupt here first before
realizing the device, so revert the change to the original
behavior.

Reported-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 hw/sh4/r2d.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/sh4/r2d.c b/hw/sh4/r2d.c
index e5ac6751bd..7eecd79fcc 100644
--- a/hw/sh4/r2d.c
+++ b/hw/sh4/r2d.c
@@ -286,9 +286,9 @@ static void r2d_init(MachineState *machine)
     dinfo = drive_get(IF_IDE, 0, 0);
     dev = qdev_new("mmio-ide");
     busdev = SYS_BUS_DEVICE(dev);
+    sysbus_connect_irq(busdev, 0, irq[CF_IDE]);
     qdev_prop_set_uint32(dev, "shift", 1);
     sysbus_realize_and_unref(busdev, &error_fatal);
-    sysbus_connect_irq(busdev, 0, irq[CF_IDE]);
     sysbus_mmio_map(busdev, 0, 0x14001000);
     sysbus_mmio_map(busdev, 1, 0x1400080c);
     mmio_ide_init_drives(dev, dinfo, NULL);
-- 
2.46.1
Re: [PATCH 16/17] Revert "hw/sh4/r2d: Realize IDE controller before accessing it"
Posted by Philippe Mathieu-Daudé 1 month, 1 week ago
On 11/10/24 10:19, Thomas Huth wrote:
> This reverts commit 3c5f86a22686ef475a8259c0d8ee714f61c770c9.
> 
> Changing the order here caused a regression with the "tuxrun"
> kernels (from https://storage.tuxboot.com/20230331/) - ATA commands
> fail with a "ata1: lost interrupt (Status 0x58)" message.
> Apparently we need to wire the interrupt here first before
> realizing the device, so revert the change to the original
> behavior.
> 
> Reported-by: Guenter Roeck <linux@roeck-us.net>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   hw/sh4/r2d.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)

Acked-by: Philippe Mathieu-Daudé <philmd@linaro.org>