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.


Reply via email to