Re: [PATCH] m68k/mac: Use '030 reset method on SE/30

From: Geert Uytterhoeven
Date: Sat Dec 22 2018 - 11:49:28 EST


Hi Finn,

On Sat, Dec 22, 2018 at 4:07 AM Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> wrote:
> The comment says that calling the ROM routine doesn't work. But testing
> shows that the 68030 fall-back reset method does work, so just use that.
>
> Tested-by: Stan Johnson <userm57@xxxxxxxxx>
> Signed-off-by: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx>

Thanks for your patch!

> --- a/arch/m68k/mac/misc.c
> +++ b/arch/m68k/mac/misc.c
> @@ -410,9 +410,8 @@ void mac_poweroff(void)
>
> void mac_reset(void)
> {
> - if (macintosh_config->adb_type == MAC_ADB_II) {
> - unsigned long flags;
> -
> + if (macintosh_config->adb_type == MAC_ADB_II &&
> + macintosh_config->ident != MAC_MODEL_SE30) {
> /* need ROMBASE in booter */
> /* indeed, plus need to MAP THE ROM !! */
>
> @@ -422,17 +421,8 @@ void mac_reset(void)
> /* works on some */
> rom_reset = (void *) (mac_bi_data.rombase + 0xa);
>
> - if (macintosh_config->ident == MAC_MODEL_SE30) {
> - /*
> - * MSch: Machines known to crash on ROM reset ...
> - */
> - } else {
> - local_irq_save(flags);
> -
> - rom_reset();
> -
> - local_irq_restore(flags);

I guess you removed the call to local_irq_restore() because you never
get there anyway?

> - }
> + local_irq_disable();
> + rom_reset();
> #ifdef CONFIG_ADB_CUDA
> } else if (macintosh_config->adb_type == MAC_ADB_EGRET ||
> macintosh_config->adb_type == MAC_ADB_CUDA) {

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