Re: [PATCH] m68k/mac: Fix reboot hang on Mac IIci

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, May 4, 2024 at 6:43 AM Finn Thain <fthain@xxxxxxxxxxxxxx> wrote:
Calling mac_reset() on a Mac IIci does reset the system, but what
follows is a POST failure that requires a manual reset to resolve.
Avoid that by using the 68030 asm implementation instead of the C
implementation.

Apparently the SE/30 has a similar problem as it has used the asm
implementation since before git. This patch extends that solution to
other systems with a similar ROM.

After this patch, the only systems still using the C implementation are
68040 systems where adb_type is either MAC_ADB_IOP or MAC_ADB_II. This
implies a 1 MiB Quadra ROM.

This now includes the Quadra 900/950, which previously fell through to
the "should never get here" catch-all.

Reported-and-tested-by: Stan Johnson <userm57@xxxxxxxxx>
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Finn Thain <fthain@xxxxxxxxxxxxxx>
---
Tested on Mac IIci & IIfx, Quadra 630 & 650, Daystar Mac II, QEMU.

Some corner cases remain problematic. For example, a stock Mac II or
a Mac IIci with a 68040 accelerator will still use the C routine, because
mac_reset() lacks an asm implementation for '020 and '040 systems.

LGTM, so
Reviewed-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
i.e. will queue in the m68k tree for v6.10.

However, amiga_reset(), atari_reset() and mac_reset() do have a lot in
common, which suggests that a generic asm reset function parameterized by
final JMP location may be a useful refactoring. This would provide the
'020 and '040 handling missing here and could potentially replace
hp300_reset(), dn_dummy_reset() and q40_reset().

Sounds like a good idea!

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds





[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux