Re: [PATCH 2/9] macintosh/via-macii: Poll the device most likely to respond

From: Finn Thain
Date: Sun Aug 09 2020 - 19:04:06 EST


On Sun, 9 Aug 2020, Guenter Roeck wrote:

> Hi,
>
> On Sun, Jun 28, 2020 at 02:23:12PM +1000, Finn Thain wrote:
> > Poll the most recently polled device by default, rather than the lowest
> > device address that happens to be enabled in autopoll_devs. This improves
> > input latency. Re-use macii_queue_poll() rather than duplicate that logic.
> > This eliminates a static struct and function.
> >
> > Fixes: d95fd5fce88f0 ("m68k: Mac II ADB fixes") # v5.0+
> > Tested-by: Stan Johnson <userm57@xxxxxxxxx>
> > Signed-off-by: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx>
>
> With this patch applied, the qemu "q800" emulation no longer works and
> is stuck in early boot. Any idea why that might be the case, and/or how
> to debug it ?
>

The problem you're seeing was mentioned in the cover letter,
https://lore.kernel.org/linux-m68k/cover.1593318192.git.fthain@xxxxxxxxxxxxxxxxxxx/

Since this series was merged, Linus' tree is no longer compatible with
long-standing QEMU bugs.

The best way to fix this is to upgrade QEMU (latest is 5.1.0-rc3). Or use
the serial console instead of the framebuffer console.

I regret the inconvenience but the alternative was worse: adding code to
Linux to get compatibility with QEMU bugs (which were added to QEMU due to
Linux bugs).

My main concern is correct operation on actual hardware, as always. But
some QEMU developers are working on support for operating systems besides
Linux.

Therefore, I believe that both QEMU and Linux should aim for compatibility
with actual hardware and not bug compatibility with each other.