NetBSD Problem Report #55210

From flxd@netbsd.org  Sun Apr 26 16:40:51 2020
Return-Path: <flxd@netbsd.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 3EAD81A9217
	for <gnats-bugs@gnats.NetBSD.org>; Sun, 26 Apr 2020 16:40:51 +0000 (UTC)
Message-Id: <20200426164050.4ACE31A921A@mollari.NetBSD.org>
Date: Sun, 26 Apr 2020 16:40:50 +0000 (UTC)
From: flxd@NetBSD.org
Reply-To: flxd@NetBSD.org
To: gnats-bugs@NetBSD.org
Subject: virtio lacks support for non-transitional devices acc. to VIRTIO Spec. 1.1
X-Send-Pr-Version: 3.95

>Number:         55210
>Category:       kern
>Synopsis:       virtio lacks support for non-transitional devices acc. to VIRTIO Spec. 1.1
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          support
>Submitter-Id:   net
>Arrival-Date:   Sun Apr 26 16:45:00 +0000 2020
>Last-Modified:  Sun Apr 26 18:45:01 +0000 2020
>Originator:     Felix Deichmann
>Release:        NetBSD 9.0 (and -current)
>Organization:
NetBSD
>Environment:
NetBSD flex2-vm1.home.flxd.de 9.0 NetBSD 9.0 (GENERIC) #0: Fri Feb 14 00:06:28 UTC 2020  mkrepro@mkrepro.NetBSD.org:/usr/src/sys/arch/amd64/compile/GENERIC amd64
>Description:
In 9.0 (and also -current as it seems), our virtio driver seems to lack support for "non-transitional devices" according to Virtual I/O Device (VIRTIO) Version 1.1:

https://docs.oasis-open.org/virtio/virtio/v1.1/virtio-v1.1.html

The new devices seem to have a PCI Device ID in the range 0x1040 to 0x107f.
We only support "transitional devices" from 0x1000 to 0x103f.

In latest VirtualBox 6.1.6 with enabled virtio-scsi for example, the controller is not matched by our vioscsi driver:
vendor 1af4 product 1048 (SCSI mass storage, revision 0x01) at pci0 dev 15 function 0 not configured

vioif matches however, probably because VirtualBox still uses a "transitional" PCI ID for it.
>How-To-Repeat:
Boot NetBSD in VirtualBox 6.1.6 with enabled virtio-scsi controller.
>Fix:
Just adding/matching the new PCI IDs to be used by our existing drivers could be enough (hopefully)...

>Audit-Trail:
From: Martin Husemann <martin@duskware.de>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: kern/55210: virtio lacks support for non-transitional devices
 acc. to VIRTIO Spec. 1.1
Date: Sun, 26 Apr 2020 20:40:57 +0200

 It would be great to update our code to support virtio 1.1 in general,
 the old versions did strange endianess things...

 Martin

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.46 2020/01/03 16:35:01 leot Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2020 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.