On Tue, Jul 29 2025, Daniel P. Berrangé <berra...@redhat.com> wrote:
> On Tue, Jul 29, 2025 at 06:01:25PM +0200, Cornelia Huck wrote: >> On Thu, Jul 17 2025, Daniel P. Berrangé <berra...@redhat.com> wrote: >> >> > On Thu, Jul 17, 2025 at 05:17:42PM +0200, Cornelia Huck wrote: >> >> On Tue, Jul 15 2025, Daniel P. Berrangé <berra...@redhat.com> wrote: >> >> >> >> > On Tue, Jul 15, 2025 at 09:16:24AM -0700, Andrea Bolognani wrote: >> >> >> You can point them to documentation over and over again, or you can >> >> >> work to prevent the confusion/annoyance from showing up in the first >> >> >> place. Which of the two approaches is a better use of anyone's time >> >> >> is up for debate. >> >> >> >> >> >> I for one am grateful that someone put the time in all those years >> >> >> ago and, as a result, PCI and USB controllers don't suffer from the >> >> >> problem today. Ultimately it's up to Connie though. >> >> > >> >> > The PCI/USB controller situation is not the same tradeoff though. >> >> > Those guest kernel drivers will identify and attach to these two >> >> > controllers regardless of their PCI vendor/product, via the PCI >> >> > class property. In that case changing the PCI ID and other device >> >> > metadata in QEMU is cheap as it has no negative impact on guest OS >> >> > driver compibility. >> >> > >> >> > In the case of 6300ESB though the guest driver is tied directly to >> >> > the currently used PCI device product/vendor ID. >> >> > >> >> > If we change this then we have actually created new functional >> >> > problems with guest/QEMU compatibility, in order to placate a >> >> > non-functional problem. That is not a good thing. >> >> >> >> I don't think the suggestion was to disable the existing driver on >> >> non-Intel setups, but to add a more generic one. Still, more work to get >> >> this actually propagated into guests than doing the change in >> >> QEMU. Before I start down that route, I'd like to know whether the issue >> >> is actually big enough to make investing time there worth it. >> > >> > If we're a mmgmt app provisioning a guest, we have to choose what >> > watchdog to create - either the old one which works everywhere >> > that currently has a driver, or the new one will will work in >> > far fewer places. We'll have to wire up guest OS info about >> > watchdogs into osinfo, and then wire up all the mgmt apps to >> > query this and take action based off it. All possible, but it >> > still feels like a huge waste of time to me. >> >> The fact that the device is something emulated and not the Intel >> hardware device is actually visible to the guest: >> >> 00:02.0 System peripheral: Intel Corporation 6300ESB Watchdog Timer >> Subsystem: Red Hat, Inc. QEMU Virtual Machine >> Flags: fast devsel >> Memory at 10804000 (32-bit, non-prefetchable) [size=16] >> Kernel driver in use: i6300ESB timer >> Kernel modules: i6300esb >> >> (lspci -v so unfortunately not immediately obvious, but still) >> >> AFAIK the BSDs do not have a driver for this device at the moment -- and >> given what turns up when searching for i6300ESB, someone implementing a >> driver is far more likely to pick the exising PCI ID. > > I see vague references (with unfortunately 404 links) to FreeBSD > supporting some ICH watchdogs, which might mean it is compatible > with the q35 built-in watchdog that all x86 q35 machines get by > default. That wouldn't help non-x86 BSD though. I found https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259673 -- I'm not sure if anyone has tried to implement something cross-arch. > >> Windows would also need some dance according to Yan's mail, for unclear >> benefits. > > Off-list, Richard Jones pointed to the ACPI Watchdog WADT specification > from Microsoft which appears to the most viable solution for Windows > guests - at least from x86 POV, but hopefully any future Wndows aarch64 > too: > > > https://download.microsoft.com/download/a/f/7/af7777e5-7dcd-4800-8a0a-b18336565f5b/HardwareWDTSpec.doc > > The ACPI watchdog sounds like potentially the best bet for a working > solution across Linux and Windows, on any arch that does ACPI.... if > we can just find someone to write a QEMU driver for it.... Yes, if someone(tm) wrote a QEMU device for that, we'd have something that should be quite useful across archs (well, excluding s390, which has its own watchdog anyway.) Given all of that, I still think that leaving i6300ESB as-is is the right thing, with a possible option of implementing the WADT watchdog.