NetBSD Problem Report #59568

From www@netbsd.org  Sun Aug  3 13:35:56 2025
Return-Path: <www@netbsd.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits)
	 client-signature RSA-PSS (2048 bits))
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id D506F1A923A
	for <gnats-bugs@gnats.NetBSD.org>; Sun,  3 Aug 2025 13:35:56 +0000 (UTC)
Message-Id: <20250803133555.3F0271A923C@mollari.NetBSD.org>
Date: Sun,  3 Aug 2025 13:35:55 +0000 (UTC)
From: matthias@d2ux.net
Reply-To: matthias@d2ux.net
To: gnats-bugs@NetBSD.org
Subject: Kernel build failure with MICROVM config since import of viogpu
X-Send-Pr-Version: www-1.0

>Number:         59568
>Category:       kern
>Synopsis:       Kernel build failure with MICROVM config since import of viogpu
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Aug 03 13:40:00 +0000 2025
>Last-Modified:  Mon Aug 25 16:05:01 +0000 2025
>Originator:     Matthias Petermann
>Release:        NetBSD 11_BETA
>Organization:
>Environment:
NetBSD  11.0_BETA NetBSD 11.0_BETA (MICROVMMD) #7: Sun Aug  3 12:45:04 CEST 2025  mpeterma@x230.lan:/u/NetBSD/src/sys/arch/amd64/compile/obj/MICROVMMD amd64
>Description:
During the last couple of days, NetBSD 11 was branched and trunk tracks now 11.99.x. 

Just before this, the viogpu driver was imported. The driver depends wsdisplay, hence breaks build configs where this is not present. I observed this with the MICROVM profile on amd64. In this case, the build stops with:

```
#      link  MICROVM/netbsd
/u/NetBSD/src/obj/tooldir/bin/x86_64--netbsd-ld -Map netbsd.map --cref -T netbsd.ldscript -Ttext 0xffffffff80200000 -e start -z max-page-size=0x200000 -z noseparate-code -X -o netbsd ${SYSTEM_OBJ:[@]:Nswapnetbsd.o} ${EXTRA_OBJ} vers.o swapnetbsd.o
/u/NetBSD/src/obj/tooldir/bin/x86_64--netbsd-ld: viogpu.o: in function `viogpu_init_screen':
viogpu.c:(.text+0x290): undefined reference to `rasops_init'
/u/NetBSD/src/obj/tooldir/bin/x86_64--netbsd-ld: viogpu.c:(.text+0x2c6): undefined reference to `rasops_reconfig'
/u/NetBSD/src/obj/tooldir/bin/x86_64--netbsd-ld: viogpu.o: in function `viogpu_attach_postintr':
viogpu.c:(.text+0x15f8): undefined reference to `wsemuldisplaydevprint'
/u/NetBSD/src/obj/tooldir/bin/x86_64--netbsd-ld: viogpu.c:(.text+0x18ca): undefined reference to `wsdisplay_cnattach'
/u/NetBSD/src/obj/tooldir/bin/x86_64--netbsd-ld: viogpu.o: in function `viogpu_wsioctl':
viogpu.c:(.text+0x5af): undefined reference to `wsdisplayio_get_fbinfo'

*** Failed target: netbsd
*** In directory: /u/NetBSD/src/sys/arch/amd64/compile/obj/MICROVM
*** Failed commands:
	${SYSTEM_LD_HEAD}
	=> @rm -f netbsd 
	${SYSTEM_LD}
```
>How-To-Repeat:
Build a custom kernel at current or 11_BETA branch (code from 20250803):

```
./build.sh -u -U -j2 -T obj/tooldir -m amd64 kernel=MICROVM
```
>Fix:
Adding the following to the MICROVM profile:

```
wsdisplay*	at wsemuldisplaydev?
```

...fixes the problem for me. Anyway, folks in IRC recommended to better do a in depth review of the dependencies causing the issue.

>Audit-Trail:
From: Martin Husemann <martin@duskware.de>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: kern/59568: Kernel build failure with MICROVM config since
 import of viogpu
Date: Sun, 3 Aug 2025 15:46:04 +0200

 I have no idea what scope the MICROVM config is supposed to have so can't
 fix this.

 The solution is either

  - add "no viogpu*" to MICROVM

 or

  - add "wsdisplay*    at wsemuldisplaydev?" to MICROVM


 Martin

From: "Matthias Petermann" <matthias@d2ux.net>
To: <gnats-bugs@netbsd.org>, <kern-bug-people@netbsd.org>,
 <gnats-admin@netbsd.org>, <netbsd-bugs@netbsd.org>
Cc: 
Subject: Re: kern/59568: Kernel build failure with MICROVM config since
 import of viogpu
Date: Sun, 03 Aug 2025 17:46:47 +0200

 Hello Martin,

 On Sun Aug 3, 2025 at 3:50 PM CEST, Martin Husemann via gnats wrote:
 >  I have no idea what scope the MICROVM config is supposed to have so can'=
 t
 >  fix this.
 > =20
 >  The solution is either
 > =20
 >   - add "no viogpu*" to MICROVM
 > =20
 >  or
 > =20
 >   - add "wsdisplay*    at wsemuldisplaydev?" to MICROVM
 > =20
 > =20
 >  Martin
 > =20

 With this in mind, I guess adding "no viogpu*" to MICROVM is the
 clean solution. I just tested this -> works.

 According to [1] Qemus machine type microvm doesn't
 provide a graphical console, hence guest support for this adds no
 value. Maybe someone with more in depth know how could this confirm?

 Thanks,=20
 Matthias

 [1] https://www.qemu.org/docs/master/system/i386/microvm.html


 --=20
 Think clearly. Build simply. Own your tools.
 Resist complexity. Respect users. Stay sovereign.

 Matthias Petermann
 E-Mail: matthias@d2ux.net

From: "Emile iMil Heitor" <imil@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/59568 CVS commit: src/sys/arch/x86/conf
Date: Thu, 21 Aug 2025 06:45:06 +0000

 Module Name:	src
 Committed By:	imil
 Date:		Thu Aug 21 06:45:06 UTC 2025

 Modified Files:
 	src/sys/arch/x86/conf: MICROVM.common

 Log Message:
 PR 59568: Disable viogpu in MICROVM kernel configuration as it is not
 supported for now.


 To generate a diff of this commit:
 cvs rdiff -u -r1.3 -r1.4 src/sys/arch/x86/conf/MICROVM.common

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: Christoph Badura <bad@bsd.de>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: kern/59568: Kernel build failure with MICROVM config since
 import of viogpu
Date: Thu, 21 Aug 2025 13:08:00 +0200

 Note that Isaki-san reported the same failure for virt68k:

 https://mail-index.netbsd.org/current-users/2025/08/19/msg046746.html

 We should be looking for a more generic solution.  Perhaps we should
 enable viogpu only if the prerequisite options are enabled?  Not sure what
 attributes would be the correct ones.  Perhaps just "wsdisplay" is enough?

 --chris

From: "Martin Husemann" <martin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/59568 CVS commit: [netbsd-11] src/sys/arch/x86/conf
Date: Mon, 25 Aug 2025 16:01:38 +0000

 Module Name:	src
 Committed By:	martin
 Date:		Mon Aug 25 16:01:38 UTC 2025

 Modified Files:
 	src/sys/arch/x86/conf [netbsd-11]: MICROVM.common

 Log Message:
 Pull up following revision(s) (requested by imil in ticket #13):

 	sys/arch/x86/conf/MICROVM.common: revision 1.4

 PR 59568: Disable viogpu in MICROVM kernel configuration as it is not
 supported for now.


 To generate a diff of this commit:
 cvs rdiff -u -r1.3 -r1.3.2.1 src/sys/arch/x86/conf/MICROVM.common

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.47 2022/09/11 19:34:41 kim Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2025 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.