NetBSD Problem Report #58032

From reinoud@gorilla.13thmonkey.org  Tue Mar 12 17:14:45 2024
Return-Path: <reinoud@gorilla.13thmonkey.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))
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 0B9FD1A923F
	for <gnats-bugs@gnats.NetBSD.org>; Tue, 12 Mar 2024 17:14:45 +0000 (UTC)
Message-Id: <20240312171440.A98472FF078A@gorilla.13thmonkey.org>
Date: Tue, 12 Mar 2024 18:14:40 +0100 (CET)
From: reinoud@13thmonkey.org
Reply-To: reinoud@13thmonkey.org
To: gnats-bugs@NetBSD.org
Subject: machine with amdgpu panics on starting X
X-Send-Pr-Version: 3.95

>Number:         58032
>Category:       kern
>Synopsis:       machine with amdgpu panics on starting X
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Mar 12 17:15:00 +0000 2024
>Last-Modified:  Fri Mar 15 15:40:01 +0000 2024
>Originator:     Reinoud Zandijk
>Release:        NetBSD 10.99.10 / NetBSD_RC*
>Organization:

>Environment:


System: NetBSD gorilla.13thmonkey.org 10.99.10 NetBSD 10.99.10 (GENERIC) #6: Tue Mar 12 17:57:31 CET 2024 root@gorilla.13thmonkey.org:/usr/sources/cvs.netbsd.org/src-sfs/obj/sys/arch/amd64/compile/GENERIC amd64
Architecture: x86_64
Machine: amd64
>Description:
On starting X the kernel panics with the following trace:
vpanic() at netbsd:vpanic+0x183
panic() at netbsd:panic+0x3c
linux_ww_mutex_unlock() at netbsd:linux_ww_mutex_unlock+0x9e
ttm_bo_release() at netbsd:ttm_bo_release+0xf3
amdgpu_bo_unref() at amdgpu:amdgpu_bo_unref+0x1d
amdgpu_vm_free_table() at amdgpu:amdgpu_vm_free_table+0x53
amdgpu_vm_free_pts() at amdgpu:amdgpu_vm_free_pts+0x6a
amdgpu_vm_fini() at amdgpu:amdgpu_vm_fini+0x28c
amdgpu_driver_postclose_kms() at amdgpu:amdgpu_driver_postclose_kms+0x133
drm_file_free() at netbsd:drm_file_free+0x1fb
drm_close() at netbsd:drm_close+0x60
closef() at netbsd:closef+0x58
fd_close() at netbsd:fd_close+0x140
sys_close() at netbsd:sys_close+0x22
syscall() at netbsd:syscall+0x1fc
[  89.1831539] --- syscall (number 6) ---
netbsd:syscall+0x1fc[  89.1831539] :



>How-To-Repeat:
Install precompiled kernel and start X

>Fix:

Compile a kernel with accompanied modules with options DIAGNOSTIC to be able
to start X and for good measures disable composer to get a working system.



>Audit-Trail:
From: Reinoud Zandijk <reinoud@gorilla.13thmonkey.org>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: kern/58032: machine with amdgpu panics on starting X
Date: Tue, 12 Mar 2024 19:16:32 +0100

 On Tue, Mar 12, 2024 at 05:15:00PM +0000, gnats-admin@netbsd.org wrote:

 The process crashing is:
 2109 >2109 7   0         0   ffff8426a7097640                  X

 all other cpu's were conveniently idle,

 For completion, here is some info spewed in dmesg from amdgpu:

 [     1.020049] amdgpu0 at pci9 dev 0 function 0: ATI Technologies Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X (rev. 0xcf)
 [     1.020049] pci_mem_find: reserved mapping register type
 ...
 [     4.216913] kern.module.path=/stand/amd64/10.99.10/modules
 [     4.226154] [drm] initializing kernel modesetting (POLARIS11 0x1002:0x67EF 0x1458:0x22D6 0xCF).
 [     4.226995] [drm] register mmio base: 0xFCE00000
 [     4.226995] [drm] register mmio size: 262144
 [     4.226995] [drm] PCIE atomic ops is not supported
 [     4.226995] [drm] add ip block number 0 <vi_common>
 [     4.226995] [drm] add ip block number 1 <gmc_v8_0>
 [     4.226995] [drm] add ip block number 2 <tonga_ih>
 [     4.226995] [drm] add ip block number 3 <gfx_v8_0>
 [     4.226995] [drm] add ip block number 4 <sdma_v3_0>
 [     4.226995] [drm] add ip block number 5 <powerplay>
 [     4.226995] [drm] add ip block number 6 <dm>
 [     4.226995] [drm] add ip block number 7 <uvd_v6_0>
 [     4.226995] [drm] add ip block number 8 <vce_v3_0>
 [     4.396915] ATOM BIOS: 113-TIC15322-X01
 [     4.396915] [drm] UVD is enabled in VM mode
 [     4.396915] [drm] UVD ENC is enabled in VM mode
 [     4.396915] [drm] VCE enabled in VM mode
 [     4.396915] [drm] vm size is 256 GB, 2 levels, block size is 10-bit, fragment size is 9-bit
 [     4.396915] amdgpu0: VRAM: 2048M 0x000000F400000000 - 0x000000F47FFFFFFF (2048M used)
 [     4.406982] amdgpu0: GART: 256M 0x000000FF00000000 - 0x000000FF0FFFFFFF
 [     4.406982] [drm] Detected VRAM RAM=2048M, BAR=4096M
 [     4.417072] [drm] RAM width 128bits GDDR5
 [     4.417072] Zone  kernel: Available graphics memory: 9007199252282162 KiB
 [     4.417072] Zone   dma32: Available graphics memory: 2097152 KiB
 [     4.417072] [drm] amdgpu: 2048M of VRAM memory ready
 [     4.417072] [drm] amdgpu: 3072M of GTT memory ready.
 [     4.417072] [drm] GART: num cpu pages 65536, num gpu pages 65536
 [     4.417072] [drm] PCIE GART of 256M enabled (table at 0x000000F400300000).
 [     4.427041] amdgpu0: interrupting at msi10 vec 0 (amdgpu0)
 [     4.427041] [drm] Chained IB support enabled!
 [     4.427041] hwmgr_sw_init smu backed is polaris10_smu
 [     4.427041] powerplay sw init successfully
 [     4.427041] [drm] Found UVD firmware Version: 1.130 Family ID: 16
 [     4.427041] [drm] Found VCE firmware Version: 35.1a Binary ID: 3
 [     4.496911] Can't find requested voltage id in vdd_dep_on_sclk table
 [     4.496911] message 308 was not supported
 [     4.506996] last message was not supported
 [     4.516912] [HW_AUDIO]:AUDIO:read_indirect_azalia_reg: index: 86  data: 408289520
 [     4.516912] [HW_AUDIO]:AUDIO:read_indirect_azalia_reg: index: 86  data: 408289520
 [     4.516912] [HW_AUDIO]:AUDIO:read_indirect_azalia_reg: index: 86  data: 408289520
 [     4.527249] [HW_AUDIO]:AUDIO:read_indirect_azalia_reg: index: 86  data: 408289520
 [     4.527249] [HW_AUDIO]:AUDIO:read_indirect_azalia_reg: index: 86  data: 408289520
 [     4.527249] [drm] DM_PPLIB: values for Engine clock
 [     4.527249] [drm] DM_PPLIB:  214000
 [     4.527249] [drm] DM_PPLIB:  481000
 [     4.538602] [drm] DM_PPLIB:  760000
 [     4.538602] [drm] DM_PPLIB:  1020000
 [     4.538602] [drm] DM_PPLIB:  1102000
 [     4.538602] [drm] DM_PPLIB:  1138000
 [     4.547566] [drm] DM_PPLIB:  1172000
 [     4.547566] [drm] DM_PPLIB:  1212000
 [     4.547566] [drm] DM_PPLIB: Validation clocks:
 [     4.547566] [drm] DM_PPLIB:    engine_max_clock: 121200
 [     4.547566] [drm] DM_PPLIB:    memory_max_clock: 175000
 [     4.558838] [drm] DM_PPLIB:    level           : 8
 [     4.558838] [drm] DM_PPLIB: values for Memory clock
 [     4.558838] [drm] DM_PPLIB:  300000
 [     4.558838] [drm] DM_PPLIB:  1750000
 [     4.567841] [drm] DM_PPLIB: Validation clocks:
 [     4.567841] [drm] DM_PPLIB:    engine_max_clock: 121200
 [     4.567841] [drm] DM_PPLIB:    memory_max_clock: 175000
 [     4.567841] [drm] DM_PPLIB:    level           : 8
 [     4.576910] warning: [drm] dce110_link_encoder_construct: Failed to get encoder_cap_info from VBIOS with error code 4!
 [     4.576910] warning: [drm] dce110_link_encoder_construct: Failed to get encoder_cap_info from VBIOS with error code 4!
 [     4.576910] [drm] Display Core initialized with v3.2.69!
 [     4.576910] [HW_AUDIO]:AUDIO:read_indirect_azalia_reg: index: 84  data: 0
 [     4.588055] [HW_AUDIO]:AUDIO:write_indirect_azalia_reg: index: 84  data: 1
 [     4.588055] [HW_AUDIO]:AUDIO:write_indirect_azalia_reg: index: 84  data: 0
 [     4.616910] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
 [     4.616910] [drm] Driver supports precise vblank timestamp query.
 [     4.646910] [drm] UVD and UVD ENC initialized successfully.
 [     4.746909] [drm] VCE initialized successfully.
 [     4.756910] amdgpufb0 at amdgpu0
 [     4.756910] [drm] Initialized amdgpu 3.36.0 20150101 for amdgpu0 on minor 0
 [     4.756910] amdgpufb0: framebuffer at 0x7e00830000, size 3840x2160, depth 32, stride 15360
 [     4.756910] [SCALER]:resource_build_scaling_params: Viewport:
 [     4.756910] height:2160 width:3840 x:0 y:0
 [     4.756910]  dst_rect:
 [     4.756910] height:2160 width:3840 x:0 y:0
 [     4.768607] [BANDWIDTH_CALCS]:dce112_validate_bandwidth: start[BANDWIDTH_CALCS]:dce112_validate_bandwidth: finish,
 [     4.768607] nbpMark_b: 60137 nbpMark_a: 62733 urgentMark_b: 18350 urgentMark_a: 20975
 [     4.768607] stutMark_b: 20350 stutMark_a: 22975
 [     4.768607] nbpMark_b: 0 nbpMark_a: 0 urgentMark_b: 0 urgentMark_a: 0
 [     4.768607] stutMark_b: 0 stutMark_a: 0
 [     4.768607] nbpMark_b: 0 nbpMark_a: 0 urgentMark_b: 0 urgentMark_a: 0
 [     4.768607] stutMark_b: 0 stutMark_a: 0 stutter_mode_enable: 1
 [     4.768607] cstate: 1 pstate: 1 nbpstate: 1 sync: 0 dispclk: 311850
 [     4.768607] sclk: 214000 sclk_sleep: 22414 yclk: 1200000 blackout_recovery_time_us: 0
 [     4.776910] [HW_AUDIO]:
 [     4.776910] dce_aud_wall_dto_setup:Input::requested_pixel_clock_100Hz = 2970000calculated_pixel_clock_100Hz =2970000
 [     4.776910] audio_dto_module = 2970000 audio_dto_phase =240000

 [     4.789235] [HW_AUDIO]:
 [     4.789235] dce110_se_setup_hdmi_audio:Input::requested_pixel_clock_100Hz = 2970000calculated_pixel_clock_100Hz = 2970000
 ...
 [     4.817253] [SURFACE]:Pipe:0 0xffff808bd442e308: addr hi:0xf4, addr low:0x830000, src: 0, 0, 3840, 2160; dst: 0, 0, 3840, 2160;clip: 0, 0, 3840, 2160
 [     4.817253] [SURFACE]:Pipe 0: width, height, x, y
 [     4.817253] viewport:3840, 2160, 0, 0
 [     4.817253] recout:  3840, 2160, 0, 0
 [     4.836909] [SURFACE]:Pipe:0 0xffff808bd442e308: addr hi:0xf4, addr low:0x830000, src: 0, 0, 3840, 2160; dst: 0, 0, 3840, 2160;clip: 0, 0, 3840, 2160
 [     4.848155] [SURFACE]:Pipe 0: width, height, x, y
 [     4.848155] viewport:3840, 2160, 0, 0
 [     4.848155] recout:  3840, 2160, 0, 0
 [     4.848155] no data for est. mode 640x480x67
 ...
     91.906422] [SCALER]:resource_build_scaling_params: Viewport:
 [    91.906422] height:2160 width:3840 x:0 y:0
 [    91.906422]  dst_rect:
 [    91.906422] height:2160 width:3840 x:0 y:0
 [    91.906422] [BANDWIDTH_CALCS]:dce112_validate_bandwidth: start[SURFACE]:Pipe:0 0xffff808bdcd321c8: addr hi:0xf4, addr low:0x830000, src: 0, 0, 3840, 2160; dst: 0, 0, 3840, 2160;clip: 0, 0, 3840, 2160
 [    91.906422] [SURFACE]:Pipe 0: width, height, x, y
 [    91.906422] viewport:3840, 2160, 0, 0
 [    91.906422] recout:  3840, 2160, 0, 0
 [    91.926422] [SCALER]:resource_build_scaling_params: Viewport:
 [    91.926422] height:2160 width:3840 x:0 y:0
 [    91.926422]  dst_rect:
 [    91.926422] height:2160 width:3840 x:0 y:0
 [    91.926422] [BANDWIDTH_CALCS]:dce112_validate_bandwidth: start[SURFACE]:Pipe:0 0xffff808bd5b14a08: addr hi:0xf4, addr low:0x830000, src: 0, 0, 3840, 2160; dst: 0, 0, 3840, 2160;clip: 0, 0, 3840, 2160
 [    91.926422] [SURFACE]:Pipe 0: width, height, x, y
 [    91.926422] viewport:3840, 2160, 0, 0
 [    91.926422] recout:  3840, 2160, 0, 0
 [    91.946422] [SCALER]:resource_build_scaling_params: Viewport:
 [    91.946422] height:2160 width:3840 x:0 y:0
 [    91.946422]  dst_rect:
 [    91.946422] height:2160 width:3840 x:0 y:0
 [    91.946422] [BANDWIDTH_CALCS]:dce112_validate_bandwidth: start[SURFACE]:Pipe:0 0xffff808bd5b6eb88: addr hi:0xf4, addr low:0x830000, src: 0, 0, 3840, 2160; dst: 0, 0, 3840, 2160;clip: 0, 0, 3840, 2160
 [    91.946422] [SURFACE]:Pipe 0: width, height, x, y
 [    91.946422] viewport:3840, 2160, 0, 0
 [    91.946422] recout:  3840, 2160, 0, 0
 [    92.206421] [SCALER]:resource_build_scaling_params: Viewport:
 [    92.206421] height:2160 width:3840 x:0 y:0
 [    92.206421]  dst_rect:
 [    92.206421] height:2160 width:3840 x:0 y:0
 [    92.206421] [BANDWIDTH_CALCS]:dce112_validate_bandwidth: start[SURFACE]:Pipe:0 0xffff808bd6cb2608: addr hi:0xf4, addr low:0x830000, src: 0, 0, 3840, 2160; dst: 0, 0, 3840, 2160;clip: 0, 0, 3840, 2160
 [    92.206421] [SURFACE]:Pipe 0: width, height, x, y
 [    92.206421] viewport:3840, 2160, 0, 0
 [    92.206421] recout:  3840, 2160, 0, 0
 [    92.266420] [SCALER]:resource_build_scaling_params: Viewport:
 [    92.266420] height:2160 width:3840 x:0 y:0
 [    92.266420]  dst_rect:
 [    92.266420] height:2160 width:3840 x:0 y:0
 [    92.266420] [BANDWIDTH_CALCS]:dce112_validate_bandwidth: start[SURFACE]:Pipe:0 0xffff808bdfa3e308: addr hi:0xf4, addr low:0x830000, src: 0, 0, 3840, 2160; dst: 0, 0, 3840, 2160;clip: 0, 0, 3840, 2160
 [    92.266420] [SURFACE]:Pipe 0: width, height, x, y
 [    92.266420] viewport:3840, 2160, 0, 0
 [    92.266420] recout:  3840, 2160, 0, 0
 [    92.346420] [SCALER]:resource_build_scaling_params: Viewport:
 [    92.346420] height:2160 width:3840 x:0 y:0
 [    92.346420]  dst_rect:
 [    92.346420] height:2160 width:3840 x:0 y:0
 [    92.346420] [BANDWIDTH_CALCS]:dce112_validate_bandwidth: start[SURFACE]:Pipe:0 0xffff808bda752448: addr hi:0xf4, addr low:0x7b820000, src: 0, 0, 3840, 2160; dst: 0, 0, 3840, 2160;clip: 0, 0, 3840, 2160
 [    92.356420] [SURFACE]:Pipe 0: width, height, x, y
 [    92.356420] viewport:3840, 2160, 0, 0
 [    92.356420] recout:  3840, 2160, 0, 0
 [   103.286359] [SCALER]:resource_build_scaling_params: Viewport:
 [   103.286359] height:2160 width:3840 x:0 y:0
 [   103.286359]  dst_rect:
 [   103.286359] height:2160 width:3840 x:0 y:0
 [   103.286359] [BANDWIDTH_CALCS]:dce112_validate_bandwidth: start[SURFACE]:Pipe:0 0xffff808bf279c048: addr hi:0xf4, addr low:0x7b820000, src: 0, 0, 3840, 2160; dst: 0, 0, 3840, 2160;clip: 0, 0, 3840, 2160
 [   103.286359] [SURFACE]:Pipe 0: width, height, x, y
 [   103.286359] viewport:3840, 2160, 0, 0
 [   103.286359] recout:  3840, 2160, 0, 0
 [   424.034566] [SCALER]:resource_build_scaling_params: Viewport:
 [   424.034566] height:2160 width:3840 x:0 y:0
 [   424.034566]  dst_rect:
 [   424.034566] height:2160 width:3840 x:0 y:0
 [   424.034566] [BANDWIDTH_CALCS]:dce112_validate_bandwidth: start[SURFACE]:Pipe:0 0xffff808bf68124c8: addr hi:0xf4, addr low:0x7b820000, src: 0, 0, 3840, 2160; dst: 0, 0, 3840, 2160;clip: 0, 0, 3840, 2160
 [   424.034566] [SURFACE]:Pipe 0: width, height, x, y
 [   424.034566] viewport:3840, 2160, 0, 0
 [   424.034566] recout:  3840, 2160, 0, 0
 [   448.254430] [SCALER]:resource_build_scaling_params: Viewport:
 [   448.254430] height:2160 width:3840 x:0 y:0
 [   448.254430]  dst_rect:
 [   448.254430] height:2160 width:3840 x:0 y:0
 [   448.254430] [BANDWIDTH_CALCS]:dce112_validate_bandwidth: start[SURFACE]:Pipe:0 0xffff808bfcb14088: addr hi:0xf4, addr low:0x7b820000, src: 0, 0, 3840, 2160; dst: 0, 0, 3840, 2160;clip: 0, 0, 3840, 2160
 [   448.254430] [SURFACE]:Pipe 0: width, height, x, y
 [   448.254430] viewport:3840, 2160, 0, 0
 [   448.254430] recout:  3840, 2160, 0, 0
 [   449.874421] [SCALER]:resource_build_scaling_params: Viewport:
 [   449.874421] height:2160 width:3840 x:0 y:0
 [   449.874421]  dst_rect:
 [   449.874421] height:2160 width:3840 x:0 y:0
 [   449.874421] [BANDWIDTH_CALCS]:dce112_validate_bandwidth: start[SURFACE]:Pipe:0 0xffff808bf2dd0548: addr hi:0xf4, addr low:0x7b820000, src: 0, 0, 3840, 2160; dst: 0, 0, 3840, 2160;clip: 0, 0, 3840, 2160
 [   449.874421] [SURFACE]:Pipe 0: width, height, x, y
 [   449.874421] viewport:3840, 2160, 0, 0
 [   449.874421] recout:  3840, 2160, 0, 0
 [  1051.361059] [BANDWIDTH_CALCS]:dce112_validate_bandwidth: start[BANDWIDTH_CALCS]:dce112_validate_bandwidth: finish,
 [  1051.361059] nbpMark_b: 60137 nbpMark_a: 62733 urgentMark_b: 18350 urgentMark_a: 20975
 [  1051.361059] stutMark_b: 20350 stutMark_a: 22975
 [  1051.361059] nbpMark_b: 0 nbpMark_a: 0 urgentMark_b: 0 urgentMark_a: 0
 [  1051.361059] stutMark_b: 0 stutMark_a: 0
 [  1051.361059] nbpMark_b: 0 nbpMark_a: 0 urgentMark_b: 0 urgentMark_a: 0
 [  1051.361059] stutMark_b: 0 stutMark_a: 0 stutter_mode_enable: 1
 [  1051.361059] cstate: 1 pstate: 1 nbpstate: 1 sync: 0 dispclk: 0
 [  1051.361059] sclk: 0 sclk_sleep: 22414 yclk: 1200000 blackout_recovery_time_us: 0
 [  1051.361059] [HW_AUDIO]:AUDIO:read_indirect_azalia_reg: index: 84  data: 2147483648
 [  1051.361059] [HW_AUDIO]:AUDIO:write_indirect_azalia_reg: index: 84  data: 2147483649
 [  1051.361059] [HW_AUDIO]:AUDIO:write_indirect_azalia_reg: index: 84  data: 1
 [  1051.361059] [HW_AUDIO]:AUDIO:write_indirect_azalia_reg: index: 84  data: 0
 [  1051.361059] [HW_AUDIO]:AUDIO:read_indirect_azalia_reg: index: 84  data: 0
 [  1051.361059] [HW_AUDIO]:
 [  1051.361059]         ========= AUDIO:dce_aud_az_disable: index: 3  data: 0x0
 [  1061.861000] [SCALER]:resource_build_scaling_params: Viewport:
 [  1061.861000] height:2160 width:3840 x:0 y:0
 [  1061.861000]  dst_rect:
 [  1061.861000] height:2160 width:3840 x:0 y:0
 [  1061.861000] [BANDWIDTH_CALCS]:dce112_validate_bandwidth: start[BANDWIDTH_CALCS]:dce112_validate_bandwidth: finish,
 [  1061.861000] nbpMark_b: 60137 nbpMark_a: 62733 urgentMark_b: 18350 urgentMark_a: 20975
 [  1061.861000] stutMark_b: 20350 stutMark_a: 22975
 [  1061.861000] nbpMark_b: 0 nbpMark_a: 0 urgentMark_b: 0 urgentMark_a: 0
 [  1061.861000] stutMark_b: 0 stutMark_a: 0
 [  1061.861000] nbpMark_b: 0 nbpMark_a: 0 urgentMark_b: 0 urgentMark_a: 0
 [  1061.861000] stutMark_b: 0 stutMark_a: 0 stutter_mode_enable: 1
 [  1061.861000] cstate: 1 pstate: 1 nbpstate: 1 sync: 0 dispclk: 311850
 [  1061.861000] sclk: 214000 sclk_sleep: 22414 yclk: 1200000 blackout_recovery_time_us: 0
 ...
 [  1061.871000] [SURFACE]:Pipe:0 0xffff808c0342bb48: addr hi:0xf4, addr low:0x7b820000, src: 0, 0, 3840, 2160; dst: 0, 0, 3840, 2160;clip: 0, 0, 3840, 2160
 [  1061.871000] [SURFACE]:Pipe 0: width, height, x, y
 [  1061.871000] viewport:3840, 2160, 0, 0
 [  1061.871000] recout:  3840, 2160, 0, 0
 [  1061.901000] [SURFACE]:Pipe:0 0xffff808c0342bb48: addr hi:0xf4, addr low:0x7b820000, src: 0, 0, 3840, 2160; dst: 0, 0, 3840, 2160;clip: 0, 0, 3840, 2160
 [  1061.901000] [SURFACE]:Pipe 0: width, height, x, y
 [  1061.901000] viewport:3840, 2160, 0, 0
 [  1061.901000] recout:  3840, 2160, 0, 0
 [  1668.057612] [BANDWIDTH_CALCS]:dce112_validate_bandwidth: start[BANDWIDTH_CALCS]:dce112_validate_bandwidth: finish,
 [  1668.057612] nbpMark_b: 60137 nbpMark_a: 62733 urgentMark_b: 18350 urgentMark_a: 20975
 [  1668.057612] stutMark_b: 20350 stutMark_a: 22975
 [  1668.057612] nbpMark_b: 0 nbpMark_a: 0 urgentMark_b: 0 urgentMark_a: 0
 [  1668.057612] stutMark_b: 0 stutMark_a: 0
 [  1668.057612] nbpMark_b: 0 nbpMark_a: 0 urgentMark_b: 0 urgentMark_a: 0
 [  1668.057612] stutMark_b: 0 stutMark_a: 0 stutter_mode_enable: 1
 [  1668.057612] cstate: 1 pstate: 1 nbpstate: 1 sync: 0 dispclk: 0
 [  1668.057612] sclk: 0 sclk_sleep: 22414 yclk: 1200000 blackout_recovery_time_us: 0


From: Taylor R Campbell <riastradh@NetBSD.org>
To: Reinoud Zandijk <reinoud@13thmonkey.org>
Cc: gnats-bugs@NetBSD.org, netbsd-bugs@NetBSD.org
Subject: Re: kern/58032: machine with amdgpu panics on starting X
Date: Wed, 13 Mar 2024 13:31:26 +0000

 Can you please provide the following?

 1. the panic message
 2. the gdb stack trace
 3. `info line *(netbsd:ttm_bo_release+0xf3)' from `gdb netbsd.gdb' on
    the kernel you booted
 4. the exact kernel configuration (config -x)
 5. the exact steps you used to trigger this, including whatever
    changes to config or init files you meant by `disable composer'

From: matthew green <mrg@eterna23.net>
To: Taylor R Campbell <riastradh@NetBSD.org>
Cc: gnats-bugs@NetBSD.org, netbsd-bugs@NetBSD.org,
    Reinoud Zandijk <reinoud@13thmonkey.org>
Subject: re: kern/58032: machine with amdgpu panics on starting X
Date: Thu, 14 Mar 2024 10:14:44 +1100

 Taylor R Campbell writes:
 > Can you please provide the following?
 >
 > 1. the panic message
 > 2. the gdb stack trace
 > 3. `info line *(netbsd:ttm_bo_release+0xf3)' from `gdb netbsd.gdb' on
 >    the kernel you booted
 > 4. the exact kernel configuration (config -x)
 > 5. the exact steps you used to trigger this, including whatever
 >    changes to config or init files you meant by `disable composer'

 also -

 6. are you using UEFI or BIOS?


 .mrg.

From: Reinoud Zandijk <reinoud@dropje.13thmonkey.org>
To: gnats-bugs@netbsd.org
Cc: kern-bug-people@netbsd.org, gnats-admin@netbsd.org,
	netbsd-bugs@netbsd.org, reinoud@13thmonkey.org
Subject: Re: kern/58032: machine with amdgpu panics on starting X
Date: Fri, 15 Mar 2024 12:07:22 +0100

 Panic message and stacktrace as recovered with crash :

 [  16.1073300] wsdisplay0: screen 4 added (default, vt100 emulation)
 [ 505.6730444] panic: unlocking unlocked wait/wound mutex: 0xfffff8f19d9cf120
 [ 505.6730444] cpu0: Begin traceback...
 [ 505.6730444] vpanic() at netbsd:vpanic+0x173
 [ 505.6730444] panic() at netbsd:panic+0x3c
 [ 505.6730444] linux_ww_mutex_unlock() at netbsd:linux_ww_mutex_unlock+0x9c
 [ 505.6730444] ttm_bo_release() at netbsd:ttm_bo_release+0xf3
 [ 505.6730444] amdgpu_bo_unref() at amdgpu:amdgpu_bo_unref+0x1d
 [ 505.6730444] amdgpu_vm_free_table() at amdgpu:amdgpu_vm_free_table+0x53
 [ 505.6730444] amdgpu_vm_free_pts() at amdgpu:amdgpu_vm_free_pts+0x6a
 [ 505.6730444] amdgpu_vm_fini() at amdgpu:amdgpu_vm_fini+0x270
 [ 505.6730444] amdgpu_driver_postclose_kms() at amdgpu:amdgpu_driver_postclose_kms+0x133
 [ 505.6730444] drm_file_free() at netbsd:drm_file_free+0x1fb
 [ 505.6730444] drm_close() at netbsd:drm_close+0x60
 [ 505.6730444] closef() at netbsd:closef+0x93
 [ 505.6730444] fd_close() at netbsd:fd_close+0x138
 [ 505.6730444] sys_close() at netbsd:sys_close+0x22
 [ 505.6730444] syscall() at netbsd:syscall+0x1d5
 [ 505.6730444] --- syscall (number 6) ---
 [ 505.6730444] netbsd:syscall+0x1d5:
 [ 505.6730444] cpu0: End traceback...
 [ 505.6730444] fatal breakpoint trap in supervisor mode
 [ 505.6730444] trap type 1 code 0 rip 0xffffffff80235375 cs 0x8 rflags 0x202 cr2 0x7f7ff7e34000 ileve
 l 0x8 rsp 0xffffd19129156bb0
 [ 505.6730444] curlwp 0xfffff8f199932c00 pid 2272.2272 lowest kstack 0xffffd191291522c0
 Stopped in pid 2272.2272 (X) at netbsd:breakpoint+0x5:  leave
 breakpoint() at netbsd:breakpoint+0x5
 vpanic() at netbsd:vpanic+0x173
 panic() at netbsd:panic+0x3c
 linux_ww_mutex_unlock() at netbsd:linux_ww_mutex_unlock+0x9c
 ttm_bo_release() at netbsd:ttm_bo_release+0xf3
 amdgpu_bo_unref() at amdgpu:amdgpu_bo_unref+0x1d
 amdgpu_vm_free_table() at amdgpu:amdgpu_vm_free_table+0x53
 amdgpu_vm_free_pts() at amdgpu:amdgpu_vm_free_pts+0x6a
 amdgpu_vm_fini() at amdgpu:amdgpu_vm_fini+0x270
 amdgpu_driver_postclose_kms() at amdgpu:amdgpu_driver_postclose_kms+0x133
 drm_file_free() at netbsd:drm_file_free+0x1fb
 drm_close() at netbsd:drm_close+0x60
 closef() at netbsd:closef+0x93
 fd_close() at netbsd:fd_close+0x138
 sys_close() at netbsd:sys_close+0x22
 syscall() at netbsd:syscall+0x1d5
 [ 505.6730444] --- syscall (number 6) ---
 netbsd:syscall+0x1d5[ 505.6730444] :

 [ 505.6730444] dumping to dev 168,3 (offset=8, size=16756734):
 [ 505.6730444] dump
 yy-----------------

 (gdb) info line *(ttm_bo_release+0xf3)
 Line 57 of "/usr/sources/cvs.netbsd.org/src-sfs/sys/external/bsd/drm2/include/linux/kref.h"
    starts at address 0xffffffff80e56e9f <ttm_bo_release+243>
    and ends at 0xffffffff80e56ea4 <ttm_bo_release+248>.

 -----------------

 For the exact kernel config see appendage

 As for triggering this and it triggers always is to run a kernel without
 the DIAGNOSTIC option. After logging in just starting X with startx is enough
 to crash it reliable. It never gets to init the screen and the panic is
 displayed immediately after issueing startx. Nothing is preconfigured for root
 in this case.

 Its a fairly recent UEFI machine with a even more recent UEFI.

 -----------------
 Config diff:

 Index: GENERIC
 ===================================================================
 RCS file: /cvsroot/src/sys/arch/amd64/conf/GENERIC,v
 retrieving revision 1.609
 diff -u -p -r1.609 GENERIC
 --- GENERIC	29 Jan 2024 18:27:10 -0000	1.609
 +++ GENERIC	15 Mar 2024 11:06:18 -0000
 @@ -112,10 +112,11 @@ xbd*		at xenbus?		# Xen virtual block de
  options 	BUFQ_PRIOCSCAN

  # Diagnostic/debugging support options
 -options 	DIAGNOSTIC	# inexpensive kernel consistency checks
 +#options 	DIAGNOSTIC	# inexpensive kernel consistency checks
  				# XXX to be commented out on release branch
  #options 	DEBUG		# expensive debugging checks/support
  #options 	LOCKDEBUG	# expensive locking checks/support
 +#options		VNODE_LOCKDEBUG

  #
  # Because gcc omits the frame pointer for any -O level, the line below
 @@ -129,7 +130,7 @@ options 	DDB_HISTORY_SIZE=512	# enable h
  #options 	KGDB		# remote debugger
  #options 	KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0x3f8,KGDB_DEVRATE=9600
  makeoptions	DEBUG="-g"	# compile full symbol table for CTF
 -options DDB_COMMANDONENTER="trace;show registers"
 +options DDB_COMMANDONENTER="trace;show registers;reboot"
  #options 	SYSCALL_STATS	# per syscall counts
  #options 	SYSCALL_TIMES	# per syscall times
  #options 	SYSCALL_TIMES_HASCOUNTER	# use 'broken' rdtsc (soekris)
 @@ -194,10 +195,10 @@ options 	EXEC_ELF32
  # Wedge support
  options 	DKWEDGE_AUTODISCOVER	# Automatically add dk(4) instances
  options 	DKWEDGE_METHOD_GPT	# Supports GPT partitions as wedges
 -#options 	DKWEDGE_METHOD_BSDLABEL	# Support disklabel entries as wedges
 -#options 	DKWEDGE_METHOD_MBR	# Support MBR partitions as wedges
 +options 	DKWEDGE_METHOD_BSDLABEL	# Support disklabel entries as wedges
 +options 	DKWEDGE_METHOD_MBR	# Support MBR partitions as wedges
  options 	DKWEDGE_METHOD_APPLE	# Support Apple partitions as wedges
 -#options 	DKWEDGE_METHOD_RDB	# Support RDB partitions as wedges
 +options 	DKWEDGE_METHOD_RDB	# Support RDB partitions as wedges

  # File systems
  include "conf/filesystems.config"
 @@ -1236,7 +1237,7 @@ include "dev/veriexec.config"
  options 	PAX_SEGVGUARD=0		# PaX Segmentation fault guard
  options 	PAX_MPROTECT=1		# PaX mprotect(2) restrictions
  options 	PAX_MPROTECT_DEBUG=1	# PaX mprotect debug
 -options 	PAX_ASLR=1		# PaX Address Space Layout Randomization
 +options 	PAX_ASLR=0		# PaX Address Space Layout Randomization
  options 	PAX_ASLR_DEBUG=1	# PaX ASLR debug

  # Pull in optional local configuration - always at end

 -----------------

 Complete config -x

 ### START CONFIG FILE "/usr/sources/cvs.netbsd.org/src-sfs/sys/arch/amd64/conf/GENERIC"
 # $NetBSD: GENERIC,v 1.609 2024/01/29 18:27:10 christos Exp $
 #
 # GENERIC machine description file
 #
 # This machine description file is used to generate the default NetBSD
 # kernel.  The generic kernel does not include all options, subsystems
 # and device drivers, but should be useful for most applications.
 #
 # The machine description file can be customised for your specific
 # machine to reduce the kernel size and improve its performance.
 #
 # For further information on compiling NetBSD kernels, see the config(8)
 # man page.
 #
 # For further information on hardware support for this architecture, see
 # the intro(4) man page.  For further information about kernel options
 # for this architecture, see the options(4) man page.  For an explanation
 # of each device driver in this file see the section 4 man page for the
 # device.

 include 	"arch/amd64/conf/std.amd64"

 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary

 #ident		"GENERIC-$Revision: 1.609 $"

 maxusers	64		# estimated number of users

 # delay between "rebooting ..." message and hardware reset, in milliseconds
 #options 	CPURESET_DELAY=2000

 # This option allows you to force a serial console at the specified
 # I/O address.   see console(4) for details.
 #options 	CONSDEVNAME="\"com\"",CONADDR=0x2f8,CONSPEED=57600
 #	you don't want the option below ON iff you are using the
 #	serial console option of the new boot strap code.
 #options 	CONS_OVERRIDE	# Always use above! independent of boot info

 # The following options override the memory sizes passed in from the boot
 # block.  Use them *only* if the boot block is unable to determine the correct
 # values.  Note that the BIOS may *correctly* report less than 640k of base
 # memory if the extended BIOS data area is located at the top of base memory
 # (as is the case on most recent systems).
 #options 	REALBASEMEM=639		# size of base memory (in KB)
 #options 	REALEXTMEM=15360	# size of extended memory (in KB)

 # The following options limit the overall size of physical memory
 # and/or the maximum address used by the system.
 # Contrary to REALBASEMEM and REALEXTMEM, they still use the BIOS memory map
 # and can deal with holes in the memory layout.
 #options 	PHYSMEM_MAX_SIZE=64	# max size of physical memory (in MB)
 #options 	PHYSMEM_MAX_ADDR=2048	# don't use memory above this (in MB)

 # Standard system options

 options 	INSECURE	# disable kernel security levels - X needs this

 options 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
 options 	NTP		# NTP phase/frequency locked loop

 options 	KTRACE		# system call tracing via ktrace(1)

 options 	CPU_UCODE	# cpu ucode loading support

 # Note: SysV IPC parameters could be changed dynamically, see sysctl(8).
 options 	SYSVMSG		# System V-like message queues
 options 	SYSVSEM		# System V-like semaphores
 options 	SYSVSHM		# System V-like memory sharing

 options 	MODULAR		# new style module(7) framework
 options 	MODULAR_DEFAULT_AUTOLOAD
 options 	USERCONF	# userconf(4) support
 #options 	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
 options 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel

 # CPU-related options
 options 	USER_LDT	# User-settable LDT, used by Wine
 options 	SVS		# Separate Virtual Space
 options 	PCPU_IDT	# Per CPU IDTs

 # GCC Spectre variant 2 mitigation
 makeoptions	SPECTRE_V2_GCC_MITIGATION=1
 options 	SPECTRE_V2_GCC_MITIGATION

 # CPU features
 acpicpu*	at cpu?		# ACPI CPU (including frequency scaling)
 coretemp*	at cpu?		# Intel on-die thermal sensor
 est0		at cpu0		# Intel Enhanced SpeedStep (non-ACPI)
 hyperv0 	at cpu0		# Microsoft Hyper-V
 #odcm0		at cpu0		# On-demand clock modulation
 powernow0	at cpu0		# AMD PowerNow! and Cool'n'Quiet (non-ACPI)
 vmt0		at cpu0		# VMware Tools

 #Xen PV support for PVH and HVM guests
 options 	XENPVHVM
 options 	XEN
 hypervisor*	at mainbus?		# Xen hypervisor
 xenbus*	 	at hypervisor?		# Xen virtual bus
 xencons*	at hypervisor?		# Xen virtual console
 xennet*  	at xenbus?		# Xen virtual network interface
 xbd*		at xenbus?		# Xen virtual block device
 # experimental: PVH dom0 support
 #options 	DOM0OPS
 #pseudo-device  xenevt
 #pseudo-device  xvif
 #pseudo-device  xbdback


 # Alternate buffer queue strategies for better responsiveness under high
 # disk I/O load.
 #options 	BUFQ_READPRIO
 options 	BUFQ_PRIOCSCAN

 # Diagnostic/debugging support options
 #options 	DIAGNOSTIC	# inexpensive kernel consistency checks
 				# XXX to be commented out on release branch
 #options 	DEBUG		# expensive debugging checks/support
 #options 	LOCKDEBUG	# expensive locking checks/support
 #options		VNODE_LOCKDEBUG

 #
 # Because gcc omits the frame pointer for any -O level, the line below
 # is needed to make backtraces in DDB work.
 #
 makeoptions	COPTS="-O2 -fno-omit-frame-pointer"
 options 	DDB		# in-kernel debugger
 #options 	DDB_COMMANDONENTER="bt"	# execute command when ddb is entered
 #options 	DDB_ONPANIC=1	# see also sysctl(7): `ddb.onpanic'
 options 	DDB_HISTORY_SIZE=512	# enable history editing in DDB
 #options 	KGDB		# remote debugger
 #options 	KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0x3f8,KGDB_DEVRATE=9600
 makeoptions	DEBUG="-g"	# compile full symbol table for CTF
 options DDB_COMMANDONENTER="trace;show registers;reboot"
 #options 	SYSCALL_STATS	# per syscall counts
 #options 	SYSCALL_TIMES	# per syscall times
 #options 	SYSCALL_TIMES_HASCOUNTER	# use 'broken' rdtsc (soekris)
 options 	KDTRACE_HOOKS	# kernel DTrace hooks

 # Kernel Undefined Behavior Sanitizer (kUBSan).
 #options 	KUBSAN			# mandatory
 #options 	UBSAN_ALWAYS_FATAL	# optional: panic on all kUBSan reports

 # Kernel Address Sanitizer (kASan). You need to disable SVS to use it.
 # The quarantine is optional and can help KASAN find more use-after-frees.
 # Use KASAN_PANIC if you want panics instead of warnings.
 #makeoptions 	KASAN=1		# mandatory
 #options 	KASAN		# mandatory
 #no options 	SVS		# mandatory
 #options 	POOL_QUARANTINE	# optional
 #options 	KASAN_PANIC	# optional

 # Kernel Concurrency Sanitizer (kCSan).
 #makeoptions 	KCSAN=1		# mandatory
 #options 	KCSAN		# mandatory
 #options 	KCSAN_PANIC	# optional

 # Kernel Memory Sanitizer (kMSan). You need to disable SVS and kernel modules
 # to use it. POOL_NOCACHE is optional and can help KMSAN find uninitialized
 # memory in pool caches. Note that KMSAN requires at least 4GB of RAM.
 #makeoptions 	KMSAN=1		# mandatory
 #options 	KMSAN		# mandatory
 #no options 	SVS		# mandatory
 #no options 	MODULAR		# mandatory
 #no options 	MODULAR_DEFAULT_AUTOLOAD	# mandatory
 #options 	POOL_NOCACHE	# optional
 #options 	KMSAN_PANIC	# optional

 # Kernel Code Coverage Driver.
 #makeoptions	KCOV=1
 #options 	KCOV

 # Fault Injection Driver.
 #options 	FAULT

 # Heartbeat checks
 options 	HEARTBEAT
 options 	HEARTBEAT_MAX_PERIOD_DEFAULT=15

 # Compatibility options
 # x86_64 never shipped with a.out binaries; the two options below are
 # only relevant to 32-bit i386 binaries
 #options 	EXEC_AOUT	# required by binaries from before 1.5
 #options 	COMPAT_NOMID	# NetBSD 0.8, 386BSD, and BSDI

 # NetBSD backward compatibility. Support goes from COMPAT_15 up until
 # the latest release. Note that really old compat (< COMPAT_16) is only
 # useful for 32-bit i386 binaries.
 include 	"conf/compat_netbsd15.config"

 #options 	COMPAT_386BSD_MBRPART # recognize old partition ID

 options 	COMPAT_NETBSD32
 options 	EXEC_ELF32

 # Wedge support
 options 	DKWEDGE_AUTODISCOVER	# Automatically add dk(4) instances
 options 	DKWEDGE_METHOD_GPT	# Supports GPT partitions as wedges
 options 	DKWEDGE_METHOD_BSDLABEL	# Support disklabel entries as wedges
 options 	DKWEDGE_METHOD_MBR	# Support MBR partitions as wedges
 options 	DKWEDGE_METHOD_APPLE	# Support Apple partitions as wedges
 options 	DKWEDGE_METHOD_RDB	# Support RDB partitions as wedges

 # File systems
 include "conf/filesystems.config"

 # File system options
 # ffs
 options 	FFS_EI		# FFS Endian Independent support
 #options 	FFS_NO_SNAPSHOT	# No FFS snapshot support
 options 	QUOTA		# legacy UFS quotas
 options 	QUOTA2		# new, in-filesystem UFS quotas
 options 	UFS_ACL		# UFS Access Control Lists
 options 	UFS_DIRHASH	# UFS Large Directory Hashing
 options 	UFS_EXTATTR	# Extended attribute support for UFS1
 options 	WAPBL		# File system journaling support
 # lfs
 options 	LFS_DIRHASH	# LFS version of UFS_DIRHASH
 # ext2fs
 # other
 options 	DISKLABEL_EI	# disklabel Endian Independent support
 options 	NFSSERVER	# Network File System server

 # Networking options
 #options 	GATEWAY		# packet forwarding
 options 	INET		# IP + ICMP + TCP + UDP
 options 	INET6		# IPV6
 options 	IPSEC		# IP security
 #options 	IPSEC_DEBUG	# debug for IP security
 #options 	MPLS		# MultiProtocol Label Switching (needs mpls)
 #options 	MROUTING	# IP multicast routing
 #options 	PIM		# Protocol Independent Multicast
 options 	NETATALK	# AppleTalk networking protocols
 #options 	CAN		# Controller Area Network protocol
 options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
 options 	PPP_DEFLATE	# Deflate compression support for PPP
 options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
 #options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
 #options 	TCP_SIGNATURE	# Enable RFC-2385 TCP md5 signatures

 #options 	ALTQ		# Manipulate network interfaces' output queues
 #options 	ALTQ_BLUE	# Stochastic Fair Blue
 #options 	ALTQ_CBQ	# Class-Based Queueing
 #options 	ALTQ_CDNR	# Diffserv Traffic Conditioner
 #options 	ALTQ_FIFOQ	# First-In First-Out Queue
 #options 	ALTQ_FLOWVALVE	# RED/flow-valve (red-penalty-box)
 #options 	ALTQ_HFSC	# Hierarchical Fair Service Curve
 #options 	ALTQ_LOCALQ	# Local queueing discipline
 #options 	ALTQ_PRIQ	# Priority Queueing
 #options 	ALTQ_RED	# Random Early Detection
 #options 	ALTQ_RIO	# RED with IN/OUT
 #options 	ALTQ_WFQ	# Weighted Fair Queueing

 # These options enable verbose messages for several subsystems.
 # Warning, these may compile large string tables into the kernel!
 #options 	ACPIVERBOSE	# verbose ACPI configuration messages
 #options 	MIIVERBOSE	# verbose PHY autoconfig messages
 options 	PCIVERBOSE	# verbose PCI device autoconfig messages
 #options 	PCI_CONFIG_DUMP	# verbosely dump PCI config space
 #options 	PCMCIAVERBOSE	# verbose PCMCIA configuration messages
 options 	SCSIVERBOSE	# human readable SCSI error messages
 #options 	USBVERBOSE	# verbose USB device autoconfig messages
 options 	HDAUDIOVERBOSE	# human readable HDAUDIO device names

 options 	NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM

 #
 # wscons options
 #
 # builtin terminal emulations
 options 	WSEMUL_VT100		# VT100 / VT220 emulation
 #options 	WSEMUL_SUN		# sun terminal emulation
 #options 	WSEMUL_DEFAULT="\"vt100\""  # NB: default is "sun" if enabled
 # different kernel output - see dev/wscons/wsdisplayvar.h
 options 	WSDISPLAY_CUSTOM_OUTPUT	# color customization from wsconsctl(8)
 options 	WS_KERNEL_FG=WSCOL_GREEN
 #options 	WS_KERNEL_BG=WSCOL_BLACK
 # customization of console border color
 options 	WSDISPLAY_CUSTOM_BORDER	# custom border colors via wsconsctl(8)
 # compatibility to other console drivers
 options 	WSDISPLAY_COMPAT_PCVT		# emulate some ioctls
 options 	WSDISPLAY_COMPAT_SYSCONS	# emulate some ioctls
 options 	WSDISPLAY_COMPAT_USL		# wsconscfg VT handling
 options 	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
 # don't attach pckbd as the console if no PS/2 keyboard is found
 options 	PCKBD_CNATTACH_MAY_FAIL
 # see dev/pckbport/wskbdmap_mfii.c for implemented layouts
 #options 	PCKBD_LAYOUT="(KB_DE | KB_NODEAD)"
 # allocate a number of virtual screens at autoconfiguration time
 #options 	WSDISPLAY_DEFAULTSCREENS=4
 # use a large software cursor that doesn't blink
 options 	PCDISPLAY_SOFTCURSOR
 # modify the screen type of the console; defaults to "80x25"
 #options 	VGA_CONSOLE_SCREENTYPE="\"80x24\""
 # work around a hardware bug that loaded fonts don't work; found on ATI cards
 #options 	VGA_CONSOLE_ATI_BROKEN_FONTSEL
 # console scrolling support.
 options 	WSDISPLAY_SCROLLSUPPORT
 # enable VGA raster mode capable of displaying multilingual text on console
 #options 	VGA_RASTERCONSOLE
 # enable splash screen support; requires genfb or radeonfb
 #options 	SPLASHSCREEN

 # Kernel root file system and dump configuration.
 config		netbsd	root on ? type ?
 #config		netbsd	root on sd0a type ffs
 #config		netbsd	root on ? type nfs

 #
 # Device configuration
 #

 # IPMI support
 ipmi0		at mainbus?
 ipmi_acpi*	at acpi?
 ipmi0		at ipmi_acpi?

 # ACPI will be used if present. If not it will fall back to MPBIOS
 acpi0		at mainbus0
 options 	ACPI_SCANPCI		# find PCI roots using ACPI
 options 	MPBIOS			# configure CPUs and APICs using MPBIOS
 options 	MPBIOS_SCANPCI		# MPBIOS configures PCI roots
 #options 	PCI_INTR_FIXUP		# fixup PCI interrupt routing via ACPI
 #options 	PCI_BUS_FIXUP		# fixup PCI bus numbering
 #options 	PCI_ADDR_FIXUP		# fixup PCI I/O addresses
 #options 	ACPI_ACTIVATE_DEV	# If set, activate inactive devices
 options 	VGA_POST		# in-kernel support for VGA POST

 # ACPI devices
 acpiacad*	at acpi?		# ACPI AC Adapter
 acpibat*	at acpi?		# ACPI Battery
 acpibut*	at acpi?		# ACPI Button
 acpidalb*	at acpi?		# ACPI Direct Application Launch Button
 acpiec* 	at acpi?		# ACPI Embedded Controller (late)
 acpiecdt*	at acpi?		# ACPI Embedded Controller (early)
 acpifan*	at acpi?		# ACPI Fan
 acpilid*	at acpi?		# ACPI Lid Switch
 #acpipmtr*	at acpi?		# ACPI Power Meter (experimental)
 #acpismbus*	at acpi?		# ACPI SMBus CMI (experimental)
 acpitz* 	at acpi?		# ACPI Thermal Zone
 acpivga*	at acpi?		# ACPI Display Adapter
 acpiout*	at acpivga?		# ACPI Display Output Device
 acpiwdrt*	at acpi?		# ACPI Watchdog Resource Table
 acpiwmi*	at acpi?		# ACPI WMI Mapper

 # Mainboard devices
 aibs*		at acpi?		# ASUSTeK AI Booster hardware monitor
 asus*		at acpi?		# ASUS hotkeys
 attimer*	at acpi?		# AT Timer
 com0		at acpi?		# Serial communications interface
 com1		at acpi?		# Serial communications interface
 com*		at acpi?		# Serial communications interface
 fdc*		at acpi?		# Floppy disk controller
 fd*		at fdc? drive ?		# the drives themselves
 fujbp*		at acpi?		# Fujitsu Brightness & Pointer
 fujhk*		at acpi?		# Fujitsu Hotkeys
 #hpacel* 	at acpi?		# HP 3D DriveGuard accelerometer
 #hpqlb*		at acpi?		# HP Quick Launch Buttons
 hpet*		at acpihpetbus?		# High Precision Event Timer (table)
 hpet*		at acpinodebus?		# High Precision Event Timer (device)
 joy*		at acpi?		# Joystick/Game port
 lpt0		at acpi?		# Parallel port
 lpt1		at acpi?		# Parallel port
 lpt*		at acpi?		# Parallel port
 mpu*		at acpi?		# Roland MPU-401 MIDI UART
 pckbc*		at acpi?		# PC keyboard controller
 pcppi*		at acpi?		# AT-style speaker sound
 qemufwcfg*	at acpi?		# QEMU Firmware Configuration device
 sdhc*		at acpi?		# SD Host Controller
 sony*		at acpi?		# Sony Notebook Controller
 spic*		at acpi?		# Sony Programmable I/O Controller
 wsmouse*	at spic?		# mouse
 thinkpad*	at acpi?		# IBM/Lenovo Thinkpad hotkeys
 tpm*		at acpi?		# ACPI TPM (Experimental)
 ug*		at acpi?		# Abit uGuru Hardware monitor
 valz*		at acpi?		# Toshiba Dynabook hotkeys
 wb*		at acpi?		# Winbond W83L518D SD/MMC reader
 sdmmc*		at wb?			# SD/MMC bus
 wmidell*	at acpiwmibus?		# Dell WMI mappings
 wmieeepc*	at acpiwmibus?		# Asus Eee PC WMI mappings
 wmihp*		at acpiwmibus?		# HP WMI mappings
 wmimsi* 	at acpiwmibus?		# MSI WMI mappings

 # Basic Bus Support

 # PCI bus support
 pci*	at mainbus? bus ?
 pci*	at pchb? bus ?
 pci*	at ppb? bus ?

 # PCI bridges
 pchb*	at pci? dev ? function ?	# PCI-Host bridges
 options 	AGP_X86
 pcib*	at pci? dev ? function ?	# PCI-ISA bridges
 ppb*	at pci? dev ? function ?	# PCI-PCI bridges
 # XXX 'puc's aren't really bridges, but there's no better place for them here
 puc*	at pci? dev ? function ?	# PCI "universal" comm. cards

 amdpcib* at pci? dev ? function ?	# AMD 8111 PCI-ISA w/ HPET
 hpet*	at amdpcib?

 pwdog*	at pci? dev ? function ?	# QUANCOM PWDOG1

 ichlpcib* at pci? dev ? function ?	# Intel ICH PCI-LPC w/ timecounter,
 					# watchdog, gpio, Speedstep and HPET
 fwhrng* at ichlpcib?		# Intel 82802 FWH Random Number Generator
 #hpet*	at ichlpcib?
 tco*	at tcoichbus?		# TCO watch dog timer

 aapic*	at pci? dev ? function ?	# AMD 8131 IO apic

 agp*	at pchb?

 # ISA bus support
 isa0	at mainbus?
 isa0	at pcib?
 #isa0	at amdpcib?
 isa0	at ichlpcib?

 # CardBus bridge support
 cbb*		at pci? dev ? function ?
 cardslot*	at cbb?

 # CardBus bus support
 cardbus*	at cardslot?
 pcmcia* 	at cardslot?

 # Console Devices

 # wscons
 pckbc0		at isa?			# pc keyboard controller
 pckbd*		at pckbc?		# PC keyboard
 pms*		at pckbc?		# PS/2 mouse for wsmouse
 #options 	PMS_DISABLE_POWERHOOK	# Disable PS/2 reset on resume
 options 	PMS_SYNAPTICS_TOUCHPAD	# Enable support for Synaptics Touchpads
 options 	PMS_ELANTECH_TOUCHPAD	# Enable support for Elantech Touchpads
 options 	PMS_ALPS_TOUCHPAD	# Enable support for Alps Touchpads
 vga*		at pci? dev ? function ?
 genfb*		at pci? dev ? function ?
 options 	VCONS_DRAW_INTR
 wsdisplay*	at vga? console ?
 wsdisplay*	at wsemuldisplaydev?
 wskbd*		at pckbd? console ?
 wsmouse*	at pms? mux 0
 wsmouse*	at wsmousedev?

 attimer0	at isa?
 pcppi0		at isa?
 sysbeep0	at pcppi?

 # DRI legacy drivers
 #i915drm*	at drm?		# Intel i915, i945 DRM driver
 #mach64drm*	at drm?		# mach64 (3D Rage Pro, Rage) DRM driver
 #mgadrm* 	at drm?		# Matrox G[24]00, G[45]50 DRM driver
 #r128drm*	at drm?		# ATI Rage 128 DRM driver
 #radeondrm*	at drm?		# ATI Radeon DRM driver
 #savagedrm*	at drm?		# S3 Savage DRM driver
 #sisdrm* 	at drm?		# SiS DRM driver
 #tdfxdrm*	at drm?		# 3dfx (voodoo) DRM driver

 # DRMKMS drivers
 i915drmkms*	at pci? dev ? function ?
 intelfb*	at intelfbbus?

 radeon* 	at pci? dev ? function ?
 radeondrmkmsfb* at radeonfbbus?

 #amdgpu*	at pci? dev ? function ?
 #amdgpufb*	at amdgpufbbus?

 nouveau*	at pci? dev ? function ?
 nouveaufb*	at nouveaufbbus?

 # DRMUMS drivers -- make them loadable, but not statically linked in
 options 	DRM_LEGACY
 #viadrmums*	at drm?

 #options 	DRM_MAX_RESOLUTION_HORIZONTAL=1920	# Limit DRM size in horizontal dimension
 #options 	DRM_MAX_RESOLUTION_VERTICAL=1080	# Limit DRM size in vertical dimension

 # Cryptographic Devices

 # PCI cryptographic devices
 amdccp*	at pci? dev ? function ?	# AMD Cryptographic Coprocessor
 hifn*	at pci? dev ? function ?	# Hifn 7755/7811/795x
 #qat*	at pci? dev ? function ?	# Intel QuickAssist
 ubsec*	at pci? dev ? function ?	# Broadcom 5501/5601/580x/582x

 # Trusted Platform Module
 tpm*	at isa? iomem 0xfed40000 irq 7

 # Serial Devices

 # PCI serial interfaces
 com*	at puc? port ?			# 16x50s on "universal" comm boards
 cy*	at pci? dev ? function ?	# Cyclades Cyclom-Y serial boards
 cz*	at pci? dev ? function ?	# Cyclades-Z multi-port serial boards

 # PCMCIA serial interfaces
 com*	at pcmcia? function ?		# Modems and serial cards

 pcmcom* at pcmcia? function ?		# PCMCIA multi-port serial cards
 com*	at pcmcom? slave ?		# ...and the slave devices

 # CardBus serial interfaces
 com*	at cardbus? function ?	# Modems and serial cards

 # ISA serial interfaces
 #options 	COM_HAYESP		# adds Hayes ESP serial board support
 com0	at isa? port 0x3f8 irq 4	# Standard PC serial ports
 com1	at isa? port 0x2f8 irq 3

 # Parallel Printer Interfaces

 # PCI parallel printer interfaces
 lpt*	at puc? port ?			# || ports on "universal" comm boards

 # ISA parallel printer interfaces
 lpt0	at isa? port 0x378 irq 7	# standard PC parallel ports
 lpt1	at isa? port 0x278

 # Hardware monitors

 amdnb_misc* at pci?			# AMD NB Misc Configuration
 amdtemp* at amdnb_misc?  		# AMD CPU Temperature sensors

 amdsmn* at pci?				# AMD SMN Configuration
 amdzentemp* at amdsmnbus?		# AMD Ryzen Family 17h CPU temp sensors

 # Winbond LPC Super I/O
 #wbsio*	at isa? port 0x2e
 #wbsio*	at isa? port 0x4e

 # IBM Hawk Integrated Systems Management Processor
 #ibmhawk0	at iic? addr 0x37

 # LM7[89] and compatible hardware monitors
 # Use flags to select temp sensor type (see lm(4) man page for details)
 #lm0	at isa?	port 0x290 flags 0x0	# other common ports: 0x280, 0x310
 #lm*	at wbsio?

 # SMSC LPC47B397 hardware monitor functions
 #smsc0	at isa? port 0x02e

 # SMSC LPC47M192 hardware monitor
 #smscmon*	at iic? addr 0x2c
 #smscmon*	at iic? addr 0x2d	# (alternate address)

 # AMD 768 and 8111 power/ACPI controllers
 amdpm*	at pci? dev ? function ?	# RNG and SMBus 1.0 interface
 #iic*	at amdpm?			# sensors below are on this bus

 # NVIDIA nForce2/3/4 SMBus controller
 nfsmbc* at pci? dev ? function ?
 nfsmb*	at nfsmbc?
 iic*	at nfsmb?

 # Intel PIIX4 power management controllers
 piixpm* at pci? dev ? function ?	# PIIX4 compatible PM controller
 iic*	at piixpm?			# SMBus on PIIX4

 # Intel ICH SMBus controller
 ichsmb* at pci? dev ? function ?
 iic*	at ichsmb?

 # Intel S1200,C2000 (non-pch) SMBus controller
 ismt* at pci? dev ? function ?
 iic*	at ismt?

 # DesignWare I2C controller as found in some Intel PCH and AMD FCH devices.
 dwiic*		at acpi?		# DesignWare I2C controller
 dwiic*		at pci?			# DesignWare I2C controller
 iic*		at dwiic?

 # Thermal monitor and fan controller
 #dbcool* at iic? addr 0x2C		# Unknown other motherboard(s)
 #dbcool* at iic? addr 0x2D		# Tyan S2881
 #dbcool* at iic? addr 0x2E		# Tyan S2882-D

 # IBM Thinkpad Active Protection System
 #aps0	at isa? port 0x1600

 # Fintek Super I/O with hardware monitor
 #finsio0 	at isa? port 0x4e

 # iTE IT87xxF Super I/O with watchdog and sensors support
 #itesio0 	at isa? port 0x2e

 # Abit uGuru Hardware system monitor
 #ug0	at isa? port 0xe0

 # Serial Presence Detect capable memory modules
 #spdmem* at iic? addr 0x50
 #spdmem* at iic? addr 0x51
 #spdmem* at iic? addr 0x52
 #spdmem* at iic? addr 0x53
 #spdmem* at iic? addr 0x54
 #spdmem* at iic? addr 0x55
 #spdmem* at iic? addr 0x56
 #spdmem* at iic? addr 0x57
 #sdtemp* at iic? addr 0x18
 #sdtemp* at iic? addr 0x19
 #sdtemp* at iic? addr 0x1a
 #sdtemp* at iic? addr 0x1b
 #sdtemp* at iic? addr 0x1c
 #sdtemp* at iic? addr 0x1d
 #sdtemp* at iic? addr 0x1e
 #sdtemp* at iic? addr 0x1f

 # Intel GPIO
 igpio*         at acpi? 

 # I2C HID devices
 ihidev* at iic?

 # I2C Mice
 ims*	at ihidev? reportid ?
 wsmouse* at ims? mux 0

 # I2O devices
 iop*	at pci? dev ? function ?	# I/O processor
 iopsp*	at iop? tid ?			# SCSI/FC-AL ports
 ld*	at iop? tid ?			# block devices
 # XXX dpti.c wants a processor type that is not assigned for x86-64
 #dpti*	at iop? tid 0			# DPT/Adaptec control interface

 # GPIO devices
 gpio*		at gpiobus?

 # 1- Wire support
 #gpioow* 	at gpio? offset ? mask ?	# 1-wire bitbanging via gpio
 gpioow* 	at gpio?
 onewire*	at gpioow?

 # 1-Wire devices
 owtemp* 	at onewire?			# Temperature sensors

 # I2C support
 #gpioiic*	at gpio?
 #iic*		at gpioiic?

 # Keylock support
 #gpiolock*	at gpio?

 # Pulsing GPIO pins in software
 #gpiopwm*	at gpio?

 # Soekris 6501 GPIO/LED driver (provides gpiobus, needs gpio)
 #soekrisgpio0	at isa? port 0x680

 # Nuvoton NCT5104D SuperIO providing GPIO
 nct0		at isa? port ?

 # SCSI Controllers and Devices

 # PCI SCSI controllers
 adv*	at pci? dev ? function ?	# AdvanSys 1200[A,B], 9xx[U,UA] SCSI
 adw*	at pci? dev ? function ?	# AdvanSys 9x0UW[D], 3940U[2,3]W SCSI
 ahc*	at pci? dev ? function ?	# Adaptec [23]94x, aic78x0 SCSI
 ahd*	at pci? dev ? function ?	# Adaptec aic790x SCSI
 bha*	at pci? dev ? function ?	# BusLogic 9xx SCSI
 dpt*	at pci? dev ? function ?	# DPT SmartCache/SmartRAID
 iha*	at pci? dev ? function ?	# Initio INIC-940/950 SCSI
 isp*	at pci? dev ? function ?	# Qlogic ISP [12]0x0 SCSI/FibreChannel
 mfi*	at pci? dev ? function ?	# LSI MegaRAID SAS
 mfii*	at pci? dev ? function ?	# LSI MegaRAID SAS (Fusion and newer)
 mly*	at pci? dev ? function ?	# Mylex AcceleRAID and eXtremeRAID
 mpt*	at pci? dev ? function ?	# LSILogic 9x9 and 53c1030 (Fusion-MPT)
 mpii*	at pci? dev ? function ?	# LSI Logic Fusion-MPT II
 njs*	at pci? dev ? function ?	# Workbit NinjaSCSI-32
 pcscp*	at pci? dev ? function ?	# AMD 53c974 PCscsi-PCI SCSI
 siop*	at pci? dev ? function ?	# Symbios 53c8xx SCSI
 esiop*	at pci? dev ? function ?	# Symbios 53c875 and newer SCSI
 #options 	SIOP_SYMLED		# drive the act. LED in software
 trm*	at pci? dev ? function ?	# Tekram DC-395U/UW/F, DC-315/U SCSI

 # PCMCIA SCSI controllers
 aic*	at pcmcia? function ?		# Adaptec APA-1460 SCSI
 esp*	at pcmcia? function ?		# Qlogic ESP406/FAS408 SCSI
 spc*	at pcmcia? function ?		# Fujitsu MB87030/MB89352 SCSI

 # CardBus SCSI cards
 adv*	at cardbus? function ?	# AdvanSys 1200[A,B], 9xx[U,UA] SCSI
 ahc*	at cardbus? function ?	# Adaptec ADP-1480
 njs*	at cardbus? function ?	# Workbit NinjaSCSI-32

 # SCSI bus support
 scsibus* at scsi?

 # SCSI devices
 sd*	at scsibus? target ? lun ?	# SCSI disk drives
 st*	at scsibus? target ? lun ?	# SCSI tape drives
 cd*	at scsibus? target ? lun ?	# SCSI CD-ROM drives
 ch*	at scsibus? target ? lun ?	# SCSI autochangers
 ses*	at scsibus? target ? lun ?	# SCSI Enclosure Services devices
 ss*	at scsibus? target ? lun ?	# SCSI scanners
 uk*	at scsibus? target ? lun ?	# SCSI unknown


 # RAID controllers and devices
 aac*	at pci? dev ? function ?	# Adaptec AAC family
 amr*	at pci? dev ? function ?	# AMI/LSI Logic MegaRAID
 arcmsr* at pci? dev ? function ?	# Areca SATA RAID controllers
 cac*	at pci? dev ? function ?	# Compaq PCI array controllers
 ciss*	at pci? dev ? function ?	# HP Smart Array controllers
 icp*	at pci? dev ? function ?	# ICP-Vortex GDT & Intel RAID
 mlx*	at pci? dev ? function ?	# Mylex DAC960 & DEC SWXCR family
 twe*	at pci? dev ? function ?	# 3ware Escalade RAID controllers
 twa*	at pci? dev ? function ?	# 3ware Escalade 9xxx RAID controllers

 ld*	at aac? unit ?
 ld*	at amr? unit ?
 ld*	at cac? unit ?
 ld*	at icp? unit ?
 ld*	at twe? unit ?
 ld*	at twa? unit ?
 ld*	at mlx? unit ?

 icpsp*	at icp? unit ?			# SCSI pass-through

 # IDE and related devices
 # PCI IDE controllers - see pciide(4) for supported hardware.
 # The 0x0001 flag force the driver to use DMA, even if the driver doesn't know
 # how to set up DMA modes for this chip. This may work, or may cause
 # a machine hang with some controllers.
 pciide* at pci? dev ? function ? flags 0x0000	# GENERIC pciide driver
 acardide* at pci? dev ? function ?	# Acard IDE controllers
 aceride* at pci? dev ? function ?	# Acer Lab IDE controllers
 ahcisata* at pci? dev ? function ?	# AHCI SATA controllers
 artsata* at pci? dev ? function ?	# Intel i31244 SATA controller
 cmdide* at pci? dev ? function ?	# CMD tech IDE controllers
 cypide* at pci? dev ? function ?	# Cypress IDE controllers
 hptide* at pci? dev ? function ?	# Triones/HighPoint IDE controllers
 iteide* at pci? dev ? function ?	# IT Express IDE controllers
 ixpide* at pci? dev ? function ?	# ATI IXP IDE controllers
 jmide*	at pci? dev ? function ?	# JMicron PCI-e PATA/SATA controllers
 ahcisata* at jmide?
 mvsata* at pci? dev ? function ?	# Marvell Hercules-I/II
 optiide* at pci? dev ? function ?	# Opti IDE controllers
 piixide* at pci? dev ? function ?	# Intel IDE controllers
 pdcide* at pci? dev ? function ?	# Promise IDE controllers
 pdcsata* at pci? dev ? function ?	# Promise SATA150 controllers
 satalink* at pci? dev ? function ?	# SiI SATALink controllers
 siisata* at pci? dev ? function ?	# SiI SteelVine controllers
 siside* at pci? dev ? function ?	# SiS IDE controllers
 slide*	at pci? dev ? function ?	# Symphony Labs IDE controllers
 svwsata* at pci? dev ? function ?	# ServerWorks SATA controllers
 toshide* at pci? dev ? function ?	# TOSHIBA PICCOLO controllers
 viaide* at pci? dev ? function ?	# VIA/AMD/Nvidia IDE controllers

 # PCMCIA IDE controllers
 wdc*	at pcmcia? function ?

 # CardBus IDE controllers
 njata*	at cardbus? function ? flags 0x01	# Workbit NinjaATA-32
 siisata* at cardbus? function ? 	# SiI SteelVine controllers

 # ISA ST506, ESDI, and IDE controllers
 # Use flags 0x01 if you want to try to use 32bits data I/O (the driver will
 # fall back to 16bits I/O if 32bits I/O are not functional).
 # Some controllers pass the initial 32bit test, but will fail later.
 wdc0	at isa? port 0x1f0 irq 14 flags 0x00
 wdc1	at isa? port 0x170 irq 15 flags 0x00

 # ATA (IDE) bus support
 atabus* at ata?
 options 	ATADEBUG

 # IDE drives
 # Flags are used only with controllers that support DMA operations
 # and mode settings (e.g. some pciide controllers)
 # The lowest order four bits (rightmost digit) of the flags define the PIO
 # mode to use, the next set of four bits the DMA mode and the third set the
 # UltraDMA mode. For each set of four bits, the 3 lower bits define the mode
 # to use, and the last bit must be 1 for this setting to be used.
 # For DMA and UDMA, 0xf (1111) means 'disable'.
 # 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
 # (0xc=1100, 0xa=1010, 0xf=1111)
 # 0x0000 means "use whatever the drive claims to support".
 wd*	at atabus? drive ? flags 0x0000

 # ATAPI bus support
 atapibus* at atapi?


 # ATA RAID configuration support, as found on some Promise controllers.
 pseudo-device ataraid
 ld*	at ataraid? vendtype ? unit ?

 # ATAPI devices
 # flags have the same meaning as for IDE drives.
 cd*	at atapibus? drive ? flags 0x0000	# ATAPI CD-ROM drives
 sd*	at atapibus? drive ? flags 0x0000	# ATAPI disk drives
 st*	at atapibus? drive ? flags 0x0000	# ATAPI tape drives
 uk*	at atapibus? drive ? flags 0x0000	# ATAPI unknown


 # NVM Express controllers and devices
 nvme*	at pci? dev ? function ?
 ld*	at nvme? nsid ?


 # Miscellaneous mass storage devices

 # ISA floppy
 #fdc0	at isa? port 0x3f0 irq 6 drq 2	# standard PC floppy controllers
 #fdc1	at isa? port 0x370 irq ? drq ?

 # Network Interfaces

 # PCI network interfaces
 age*	at pci? dev ? function ?	# Attansic/Atheros L1 Gigabit Ethernet
 alc*	at pci? dev ? function ?	# Attansic/Atheros L1C/L2C Ethernet
 ale*	at pci? dev ? function ?	# Attansic/Atheros L1E Ethernet
 an*	at pci? dev ? function ?	# Aironet PC4500/PC4800 (802.11)
 aq*	at pci? dev ? function ?	# Aquantia AQC 10 gigabit
 ath*	at pci? dev ? function ?	# Atheros 5210/5211/5212 802.11
 athn*	at pci? dev ? function ?	# Atheros AR9k (802.11a/g/n)
 atw*	at pci? dev ? function ?	# ADMtek ADM8211 (802.11)
 bce*	at pci? dev ? function ?	# Broadcom 440x 10/100 Ethernet
 bge*	at pci? dev ? function ?	# Broadcom 570x gigabit Ethernet
 bnx*	at pci? dev ? function ?	# Broadcom NetXtremeII gigabit Ethernet
 bwi*	at pci? dev ? function ?	# Broadcom BCM43xx wireless
 bwfm*	at pci? dev ? function ?	# Broadcom FullMAC
 cas*	at pci? dev ? function ?	# Sun Cassini/Cassini+ Ethernet
 dge*	at pci? dev ? function ?	# Intel 82597 10GbE LR
 ena*	at pci? dev ? function ?	# Amazon.com Elastic Network Adapter
 ep*	at pci? dev ? function ?	# 3Com 3c59x
 epic*	at pci? dev ? function ?	# SMC EPIC/100 Ethernet
 #eqos*	at pci? dev ? function ?	# DesignWare Ethernet QoS
 et*	at pci? dev ? function ?	# Agere/LSI ET1310/ET1301 Gigabit
 ex*	at pci? dev ? function ?	# 3Com 90x[BC]
 fxp*	at pci? dev ? function ?	# Intel EtherExpress PRO 10+/100B
 gem*	at pci? dev ? function ?	# Apple GMAC and Sun ERI gigabit enet
 gsip*	at pci? dev ? function ?	# NS83820 Gigabit Ethernet
 hme*	at pci? dev ? function ?	# Sun Microelectronics STP2002-STQ
 iavf*	at pci? dev ? function ?	# Intel Adaptive Virtual Function
 igc*	at pci? dev ? function ?	# Intel I225 2.5 gigabit
 ipw*	at pci? dev ? function ?	# Intel PRO/Wireless 2100
 iwi*	at pci? dev ? function ?	# Intel PRO/Wireless 2200BG
 iwm*	at pci? dev ? function ?	# Intel Centrino 7260
 iwn*	at pci? dev ? function ?	# Intel PRO/Wireless 4965AGN
 ixg*	at pci? dev ? function ?	# Intel 8259x 10 gigabit
 ixl*	at pci? dev ? function ?	# Intel Ethernet 700 Series
 ixv*	at pci? dev ? function ?	# Intel 8259x 10G virtual function
 jme*	at pci? dev ? function ?	# JMicron JMC2[56]0 ethernet
 kse*	at pci? dev ? function ?	# Micrel KSZ8841/8842 ethernet
 lii*	at pci? dev ? function ?	# Atheros L2 Fast-Ethernet
 malo*	at pci? dev ? function ?	# Marvell Libertas Wireless
 mcx*	at pci? dev ? function ?	# Mellanox 5th generation Ethernet
 mskc*	at pci? dev ? function ?	# Marvell Yukon 2 Gigabit Ethernet
 msk*	at mskc?			# Marvell Yukon 2 Gigabit Ethernet
 mtd*	at pci? dev ? function ?	# Myson MTD803 3-in-1 Ethernet
 ne*	at pci? dev ? function ?	# NE2000-compatible Ethernet
 nfe*	at pci?	dev ? function ?	# NVIDIA nForce Ethernet
 ntwoc*	at pci? dev ? function ?	# Riscom/N2 PCI Sync Serial
 pcn*	at pci? dev ? function ?	# AMD PCnet-PCI Ethernet
 ral*	at pci? dev ? function ?	# Ralink Technology RT25x0 802.11a/b/g
 re*	at pci? dev ? function ?	# Realtek 8139C+/8169/8169S/8110S
 rge*	at pci? dev ? function ?	# Realtek 8125
 rtk*	at pci? dev ? function ?	# Realtek 8129/8139
 rtw*	at pci? dev ? function ?	# Realtek 8180L (802.11)
 rtwn*	at pci? dev ? function ?	# Realtek 8188CE/8192CE 802.11b/g/n
 sf*	at pci? dev ? function ?	# Adaptec AIC-6915 Ethernet
 sip*	at pci? dev ? function ?	# SiS 900/DP83815 Ethernet
 skc*	at pci? dev ? function ?	# SysKonnect SK9821 Gigabit Ethernet
 sk*	at skc?				# SysKonnect SK9821 Gigabit Ethernet
 ste*	at pci? dev ? function ?	# Sundance ST-201 Ethernet
 stge*	at pci? dev ? function ?	# Sundance/Tamarack TC9021 Gigabit
 ti*	at pci? dev ? function ?	# Alteon ACEnic gigabit Ethernet
 tl*	at pci? dev ? function ?	# ThunderLAN-based Ethernet
 tlp*	at pci? dev ? function ?	# DECchip 21x4x and clones
 txp*	at pci? dev ? function ?	# 3com 3cr990
 vge*	at pci? dev ? function ?	# VIATech VT612X Gigabit Ethernet
 vmx*	at pci? dev ? function ?	# VMware VMXNET3
 vr*	at pci? dev ? function ?	# VIA Rhine Fast Ethernet
 wi*	at pci? dev ? function ?	# Intersil Prism Mini-PCI (802.11b)
 wm*	at pci? dev ? function ?	# Intel 82543/82544 gigabit
 wpi*	at pci? dev ? function ?	# Intel PRO/Wireless 3945ABG
 xge*	at pci? dev ? function ?	# Neterion (S2io) Xframe-I 10GbE

 # PCMCIA network interfaces
 an*	at pcmcia? function ?		# Aironet PC4500/PC4800 (802.11)
 awi*	at pcmcia? function ?		# BayStack 650/660 (802.11FH/DS)
 cnw*	at pcmcia? function ?		# Xircom/Netwave AirSurfer
 cs*	at pcmcia? function ?		# CS89xx Ethernet
 ep*	at pcmcia? function ?		# 3Com 3c589 and 3c562 Ethernet
 malo*	at pcmcia? function ?		# Marvell Libertas
 mbe*	at pcmcia? function ?		# MB8696x based Ethernet
 ne*	at pcmcia? function ?		# NE2000-compatible Ethernet
 ray*	at pcmcia? function ?		# Raytheon Raylink (802.11)
 sm*	at pcmcia? function ?		# Megahertz Ethernet
 wi*	at pcmcia? function ?		# Lucent/Intersil WaveLan IEEE (802.11)
 xirc*	at pcmcia? function ?		# Xircom CreditCard Ethernet
 com*	at xirc?
 xi*	at xirc?

 mhzc*	at pcmcia? function ?		# Megahertz Ethernet/Modem combo cards
 com*	at mhzc?
 sm*	at mhzc?

 # CardBus network cards
 ath*	at cardbus? function ?	# Atheros 5210/5211/5212 802.11
 athn*	at cardbus? function ?	# Atheros AR9k (802.11a/g/n) - UNTESTED
 atw*	at cardbus? function ?	# ADMtek ADM8211 (802.11)
 ex*	at cardbus? function ?	# 3Com 3C575TX
 fxp*	at cardbus? function ?	# Intel i8255x
 malo*	at cardbus? function ?	# Marvell Libertas Wireless
 ral*	at cardbus? function ?	# Ralink Technology RT25x0 802.11a/b/g
 re*	at cardbus? function ?	# Realtek 8139C+/8169/8169S/8110S
 rtk*	at cardbus? function ?	# Realtek 8129/8139
 rtw*	at cardbus? function ?	# Realtek 8180L (802.11)
 tlp*	at cardbus? function ?	# DECchip 21143

 # MII/PHY support
 acphy*	at mii? phy ?			# DAltima AC101 and AMD Am79c874 PHYs
 amhphy* at mii? phy ?			# AMD 79c901 Ethernet PHYs
 atphy*	at mii?	phy ?			# Attansic/Atheros PHYs
 bmtphy* at mii? phy ?			# Broadcom BCM5201 and BCM5202 PHYs
 brgphy* at mii? phy ?			# Broadcom BCM5400-family PHYs
 ciphy*	at mii? phy ?			# Cicada CS8201 Gig-E PHYs
 dmphy*	at mii? phy ?			# Davicom DM9101 PHYs
 etphy*	at mii? phy ?			# Agere/LSI ET1011 TruePHY Gig-E PHYs
 exphy*	at mii? phy ?			# 3Com internal PHYs
 gentbi* at mii? phy ?			# Generic Ten-Bit 1000BASE-[CLS]X PHYs
 glxtphy* at mii? phy ?			# Level One LXT-1000 PHYs
 gphyter* at mii? phy ?			# NS83861 Gig-E PHY
 icsphy* at mii? phy ?			# Integrated Circuit Systems ICS189x
 igphy*	at mii? phy ?			# Intel IGP01E1000
 ihphy*	at mii? phy ?			# Intel 82577 PHYs
 ikphy*	at mii? phy ?			# Intel 82563 PHYs
 inphy*	at mii? phy ?			# Intel 82555 PHYs
 iophy*	at mii? phy ?			# Intel 82553 PHYs
 ipgphy* at mii? phy ?			# IC PLUS IP1000A/IP1001 PHYs
 jmphy*	at mii? phy ?			# Jmicron JMP202/211 PHYs
 lxtphy* at mii? phy ?			# Level One LXT-970 PHYs
 makphy* at mii? phy ?			# Marvell Semiconductor 88E1000 PHYs
 micphy* at mii? phy ?			# Micrel KSZ[89]xxx PHYs
 nsphy*	at mii? phy ?			# NS83840 PHYs
 nsphyter* at mii? phy ? 		# NS83843 PHYs
 pnaphy* at mii? phy ?			# generic HomePNA PHYs
 qsphy*	at mii? phy ?			# Quality Semiconductor QS6612 PHYs
 rgephy* at mii? phy ?			# Realtek 8169S/8110 internal PHYs
 rlphy*	at mii? phy ?			# Realtek 8139/8201L PHYs
 smscphy* at mii? phy ?			# SMSC LAN87xx PHYs
 sqphy*	at mii? phy ?			# Seeq 80220/80221/80223 PHYs
 tlphy*	at mii? phy ?			# ThunderLAN PHYs
 tqphy*	at mii? phy ?			# TDK Semiconductor PHYs
 ukphy*	at mii? phy ?			# generic unknown PHYs
 urlphy* at mii? phy ?			# Realtek RTL8150L internal PHYs


 # USB Controller and Devices

 # Virtual USB controller
 #pseudo-device	vhci

 # PCI USB controllers
 xhci*	at pci?	dev ? function ?	# eXtensible Host Controller
 ehci*	at pci?	dev ? function ?	# Enhanced Host Controller
 ohci*	at pci?	dev ? function ?	# Open Host Controller
 uhci*	at pci?	dev ? function ?	# Universal Host Controller (Intel)

 # CardBus USB controllers
 ehci*	at cardbus? function ?	# Enhanced Host Controller
 ohci*	at cardbus? function ?	# Open Host Controller
 uhci*	at cardbus? function ?		# Universal Host Controller (Intel)

 # ISA USB controllers
 #slhci0	at isa? port 0x300 irq 5	# ScanLogic SL811HS

 # PCMCIA USB controllers
 slhci*	at pcmcia? function ?		# ScanLogic SL811HS

 # USB bus support
 #usb*	at vhci?
 usb*	at xhci?
 usb*	at ehci?
 usb*	at ohci?
 usb*	at uhci?
 usb*	at slhci?

 include "dev/usb/usbdevices.config"

 # PCI IEEE1394 controllers
 fwohci* at pci? dev ? function ?	# IEEE1394 Open Host Controller

 # CardBus IEEE1394 controllers
 fwohci* at cardbus? function ?		# IEEE1394 Open Host Controller

 ieee1394if* at fwohci?
 fwip*	at ieee1394if?			# IP over IEEE1394
 sbp*	at ieee1394if? euihi ? euilo ?

 # Audio Devices

 # PCI audio devices
 auacer* at pci? dev ? function ?	# ALi M5455 integrated AC'97 Audio
 auich*	at pci? dev ? function ?	# Intel/AMD/nVidia AC'97 Audio
 auixp*	at pci? dev ? function ?	# ATI IXP AC'97 Audio
 autri*	at pci? dev ? function ?	# Trident 4DWAVE based AC'97 Audio
 auvia*	at pci? dev ? function ?	# VIA AC'97 audio
 clcs*	at pci? dev ? function ?	# Cirrus Logic CS4280
 clct*	at pci? dev ? function ?	# Cirrus Logic CS4281
 cmpci*	at pci? dev ? function ?	# C-Media CMI8338/8738
 eap*	at pci? dev ? function ?	# Ensoniq AudioPCI
 emuxki* at pci? dev ? function ?	# Creative SBLive! and PCI512
 esa*	at pci? dev ? function ?	# ESS Allegro-1 / Maestro-3 PCI Audio
 esm*	at pci? dev ? function ?	# ESS Maestro-1/2/2e PCI Audio Accelerator
 eso*	at pci? dev ? function ?	# ESS Solo-1 PCI AudioDrive
 fms*	at pci? dev ? function ?	# Forte Media FM801
 neo*	at pci? dev ? function ?	# NeoMagic 256 AC'97 Audio
 sv*	at pci? dev ? function ?	# S3 SonicVibes
 yds*	at pci? dev ? function ?	# Yamaha DS-1 PCI Audio

 # OPL[23] FM synthesizers
 #opl0	at isa? port 0x388	# use only if not attached to sound card
 opl*	at cmpci? flags 1
 opl*	at eso?
 opl*	at fms?
 opl*	at sv?

 # High Definition Audio
 hdaudio*	at pci? dev ? function ?	# High Definition Audio
 hdafg*		at hdaudiobus?

 # Audio support
 audio*	at audiobus?

 # The spkr driver provides a simple tone interface to the built in speaker.
 spkr*	at pcppi?		# PC speaker
 spkr*	at audio?		# PC speaker (synthesized)
 #wsbell* at spkr?		# Bell for wscons display (module by default)

 # MPU 401 UARTs
 #mpu*	at isa? port 0x330 irq 9	# MPU401 or compatible card
 mpu*	at cmpci?
 mpu*	at eso?
 mpu*	at yds?

 # MIDI support
 midi*	at midibus?
 midi*	at pcppi?		# MIDI interface to the PC speaker

 # FM-Radio devices
 # PCI radio devices
 #gtp*	at pci? dev ? function ? # Guillemot Maxi Radio FM 2000 Radio Card

 # Radio support
 #radio*	at gtp?


 # Video capture devices

 coram*	at pci? dev ? function ?	# Conexant CX23885 PCI-E TV
 cxdtv*	at pci? dev ? function ?	# Conexant CX2388[0-3] PCI TV

 video*	at videobus?			# Analog capture interface
 dtv*	at dtvbus?			# Digital capture interface


 # TV cards

 # Brooktree 848/849/878/879 based TV cards
 bktr* at pci? dev ? function ?
 radio* at bktr?


 # Bluetooth Controller and Device support

 # Bluetooth PCMCIA Controllers
 bt3c* at pcmcia? function ?		# 3Com 3CRWB6096-A
 btbc* at pcmcia? function ?		# AnyCom BlueCard LSE041/039/139

 # Bluetooth SDIO Controllers
 sbt* at sdmmc?

 # Bluetooth USB Controllers
 ubt* at uhub? port ?
 aubtfwl* at uhub? port ?

 # Bluetooth Device Hub
 bthub* at bcsp?
 bthub* at bt3c?
 bthub* at btbc?
 bthub* at btuart?
 bthub* at sbt?
 bthub* at ubt?

 # Bluetooth HID support
 bthidev* at bthub?

 # Bluetooth Mouse
 btms* at bthidev? reportid ?
 wsmouse* at btms? mux 0

 # Bluetooth Keyboard
 btkbd* at bthidev? reportid ?
 wskbd* at btkbd? console ? mux 1

 # Bluetooth Apple Magic Mouse
 btmagic* at bthub?
 wsmouse* at btmagic? mux 0

 # Bluetooth Audio support
 btsco* at bthub?


 # SD/MMC/SDIO Controller and Device support

 # SD/MMC controller
 sdhc*	at pci?		# SD Host Controller
 rtsx*	at pci?		# Realtek RTS5209/RTS5229 Card Reader
 sdhc*	at cardbus?	# SD Host Controller
 sdmmc*	at sdhc?	# SD/MMC bus
 sdmmc*	at rtsx?	# SD/MMC bus

 ld*	at sdmmc?


 # Middle Digital, Inc. PCI-Weasel serial console board control
 # devices (watchdog timer, etc.)
 weasel* at pci?

 # Virtio devices
 virtio* at pci? dev ? function ?	# Virtio PCI device
 viomb*	at virtio?			# Virtio memory balloon device
 ld*	at virtio?			# Virtio disk device
 vioif*	at virtio?			# Virtio network device
 viornd* at virtio?			# Virtio entropy device
 vioscsi* at virtio?			# Virtio SCSI device
 #vio9p*	at virtio?			# Virtio 9P device

 # Hyper-V devices
 vmbus*		at acpi?		# Hyper-V VMBus
 genfb*		at vmbus?		# Hyper-V Synthetic Video Framebuffer
 hvkbd*		at vmbus?		# Hyper-V Synthetic Keyboard
 wskbd*		at hvkbd? console ? mux 1
 hvn*		at vmbus?		# Hyper-V NetVSC
 hvs*		at vmbus?		# Hyper-V StorVSC
 hvheartbeat*	at vmbus?		# Hyper-V Heartbeat Service
 hvshutdown*	at vmbus?		# Hyper-V Guest Shutdown Service
 hvtimesync*	at vmbus?		# Hyper-V Time Synchronization Service
 #hvkvp*		at vmbus?		# Hyper-V Data Exchange Service

 # Pseudo-Devices

 pseudo-device	crypto			# /dev/crypto device
 pseudo-device	swcrypto		# software crypto implementation

 # disk/mass storage pseudo-devices
 pseudo-device	bio			# RAID control device driver
 pseudo-device	ccd			# concatenated/striped disk devices
 pseudo-device	cgd			# cryptographic disk devices
 pseudo-device	raid			# RAIDframe disk driver
 options 	RAID_AUTOCONFIG		# auto-configuration of RAID components
 # Options to enable various other RAIDframe RAID types.
 #options 	RF_INCLUDE_EVENODD=1
 #options 	RF_INCLUDE_RAID5_RS=1
 #options 	RF_INCLUDE_PARITYLOGGING=1
 #options 	RF_INCLUDE_CHAINDECLUSTER=1
 #options 	RF_INCLUDE_INTERDECLUSTER=1
 #options 	RF_INCLUDE_PARITY_DECLUSTERING=1
 #options 	RF_INCLUDE_PARITY_DECLUSTERING_DS=1
 pseudo-device	fss			# file system snapshot device

 pseudo-device	md			# memory disk device (ramdisk)
 options 	MEMORY_DISK_HOOKS	# enable md specific hooks
 options 	MEMORY_DISK_DYNAMIC	# enable dynamic resizing

 pseudo-device	vnd			# disk-like interface to files
 options 	VND_COMPRESSION		# compressed vnd(4)


 # network pseudo-devices
 pseudo-device	bpfilter		# Berkeley packet filter
 pseudo-device	carp			# Common Address Redundancy Protocol
 pseudo-device	loop			# network loopback
 #pseudo-device	mpls			# MPLS pseudo-interface
 pseudo-device	ppp			# Point-to-Point Protocol
 pseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
 pseudo-device	sl			# Serial Line IP
 pseudo-device	irframetty		# IrDA frame line discipline
 pseudo-device	tun			# network tunneling over tty
 pseudo-device	tap			# virtual Ethernet
 pseudo-device	gre			# generic L3 over IP tunnel
 pseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC1933)
 pseudo-device	ipsecif			# tunnel interface for routing based ipsec
 #pseudo-device	faith			# IPv[46] tcp relay translation i/f
 pseudo-device	stf			# 6to4 IPv6 over IPv4 encapsulation
 pseudo-device	vlan			# IEEE 802.1q encapsulation
 pseudo-device	bridge			# simple inter-network bridging
 pseudo-device	vether			# Virtual Ethernet for bridge
 pseudo-device	agr			# IEEE 802.3ad link aggregation
 pseudo-device	l2tp			# L2TPv3 interface
 pseudo-device	lagg			# Link aggregation interface
 pseudo-device	npf			# NPF packet filter

 #pseudo-device	canloop			# CAN loopback interface

 #
 # accept filters
 pseudo-device	accf_data		# "dataready" accept filter
 pseudo-device	accf_http		# "httpready" accept filter

 # miscellaneous pseudo-devices
 pseudo-device	pty			# pseudo-terminals
 pseudo-device	sequencer		# MIDI sequencer
 # rnd works; RND_COM does not on port i386 yet.
 #options 	RND_COM			# use "com" randomness as well (BROKEN)
 pseudo-device	clockctl		# user control of clock subsystem
 pseudo-device	ksyms			# /dev/ksyms
 pseudo-device	lockstat		# lock profiling
 pseudo-device	bcsp			# BlueCore Serial Protocol
 pseudo-device	btuart			# Bluetooth HCI UART (H4)
 #pseudo-device	nvmm			# NetBSD Virtual Machine Monitor
 pseudo-device 	swwdog			# software watchdog timer -- swwdog(4)

 # wscons pseudo-devices
 pseudo-device	wsmux			# mouse & keyboard multiplexor
 pseudo-device	wsfont
 # Give us a choice of fonts based on monitor size
 options 	FONT_BOLD8x16
 options 	FONT_BOLD16x32

 # pseudo audio device driver
 pseudo-device	pad

 # userland interface to drivers, including autoconf and properties retrieval
 pseudo-device	drvctl

 # EFI runtime support
 options 	EFI_RUNTIME
 pseudo-device 	efi			# /dev/efi

 include "dev/veriexec.config"

 options 	PAX_SEGVGUARD=0		# PaX Segmentation fault guard
 options 	PAX_MPROTECT=1		# PaX mprotect(2) restrictions
 options 	PAX_MPROTECT_DEBUG=1	# PaX mprotect debug
 options 	PAX_ASLR=0		# PaX Address Space Layout Randomization
 options 	PAX_ASLR_DEBUG=1	# PaX ASLR debug

 # Pull in optional local configuration - always at end
 cinclude	"arch/amd64/conf/GENERIC.local"
 ### END CONFIG FILE "/usr/sources/cvs.netbsd.org/src-sfs/sys/arch/amd64/conf/GENERIC"
 ### (included from "arch/amd64/conf/std.amd64")
 ###> # $NetBSD: std.amd64,v 1.13 2023/05/05 00:34:41 manu Exp $
 ###> #
 ###> # standard, required NetBSD/amd64 'options'
 ###> 
 ###> machine amd64 x86 xen
 ###> include 	"conf/std"	# MI standard options
 ###> include 	"arch/xen/conf/std.xenversion"
 ###> 
 ###> options 	CPU_IN_CKSUM
 ###> options 	EXEC_ELF64	# exec ELF binaries
 ###> options 	EXEC_SCRIPT	# exec #! scripts
 ###> options 	MTRR
 ###> options 	MULTIPROCESSOR
 ###> 
 ###> options 	CHILD_MAX=1024	# 160 is too few
 ###> options 	OPEN_MAX=1024	# 128 is too few
 ###> 
 ###> options 	SELFRELOC
 ###> 
 ###> mainbus0 at root
 ###> cpu* at mainbus?
 ###> ioapic* at mainbus? apid ?
 ###> 
 ###> # Atheros HAL options
 ###> include "external/isc/atheros_hal/conf/std.ath_hal"
 ### (end include "arch/amd64/conf/std.amd64")
 ### (included from "conf/std")
 ###> # $NetBSD: std,v 1.23 2019/01/27 02:08:41 pgoyette Exp $
 ###> #
 ###> # standard MI 'options'
 ###> #
 ###> # this file is for options which can't be off-by-default for some reasons.
 ###> # "it's commonly used" is NOT a good reason to enable options here.
 ###> 
 ###> #
 ###> # Always include "kern" attribute (module).  Other attributes don't need to
 ###> # depend on "kern".
 ###> #
 ###> select	kern
 ###> 
 ###> # Always include the "vfs" attribute (module).  Although all of the
 ###> # ufs/xxx file systems depend on the vfs attribute, it is not required
 ###> # that any file system actually be built-in to the kernel.  (At least
 ###> # on some architectures, file system modules can be loaded at boot
 ###> # time.)
 ###> 
 ###> select vfs
 ###> 
 ###> select	net		# XXX Clean up dependency
 ###> 
 ###> # the following options are on-by-default to keep
 ###> # kernel config file compatibility.
 ###> options	VMSWAP		# Swap device/file support
 ###> options	BUFQ_FCFS	# First-come First-serve strategy
 ###> options	BUFQ_DISKSORT	# Traditional min seek sort strategy
 ###> options	RFC2292		# Previous version of Adv. Sockets API for IPv6 
 ###> options	PTRACE		# Include ptrace(2) syscall
 ###> options	PTRACE_HOOKS	# Include ptrace hooks
 ###> options	COREDUMP	# allow processes to coredump.
 ###> options	AIO		# POSIX asynchronous I/O
 ###> options	MQUEUE		# POSIX message queues
 ###> 
 ###> # Common compatibility functions. They happen to be needed even when
 ###> # no compatibility option is explicitly enabled.
 ###> #
 ###> options        COMPAT_UTILS
 ###> 
 ###> #
 ###> # Security model.
 ###> #
 ###> options	secmodel_bsd44	# Traditional 4.4BSD security model
 ###> 
 ###> #
 ###> # Scheduling algorithm
 ###> #
 ###> options	SCHED_4BSD
 ###> 
 ###> pseudo-device	cpuctl
 ###> 
 ###> #
 ###> # Kernel entropy pool and random-number generator pseudodevice.
 ###> # The pseudodevice might stop being "std" when the two are torn
 ###> # apart some day but the entropy pool itself never will (they are
 ###> # presently implemented in the same source file)
 ###> #
 ###> pseudo-device	rnd
 ### (end include "conf/std")
 ### (included from "arch/xen/conf/std.xenversion")
 ###> # $NetBSD: std.xenversion,v 1.3 2020/04/25 15:26:17 bouyer Exp $
 ###> #
 ###> # Xen options shared for all archs (i386, amd64)
 ###> 
 ###> options 	__XEN_INTERFACE_VERSION__=0x0003020a # Xen 3.2.10 interface
 ###> 
 ### (end include "arch/xen/conf/std.xenversion")
 ### (included from "external/isc/atheros_hal/conf/std.ath_hal")
 ###> #options ATHHAL_ASSERT
 ###> #options ATHHAL_DEBUG
 ###> #options ATHHAL_DEBUG_ALQ
 ###> 
 ###> # Atheros HAL Chipset Support
 ###> #
 ###> options ATHHAL_AR5210
 ###> options ATHHAL_AR5211
 ###> options ATHHAL_AR5212
 ###> options ATHHAL_AR5311
 ###> #options ATHHAL_AR5312
 ###> #options ATHHAL_AR2316
 ###> #options ATHHAL_AR2317
 ###> options ATHHAL_AR5416
 ###> options ATHHAL_AR9280
 ###> options ATHHAL_AR9285
 ###> 
 ###> # Atheros AR5212/AR5312 RF Support
 ###> #
 ###> options ATHHAL_RF2316
 ###> options ATHHAL_RF2317
 ###> options ATHHAL_RF2413
 ###> options ATHHAL_RF2425
 ###> options ATHHAL_RF5111
 ###> options ATHHAL_RF5112
 ###> options ATHHAL_RF5413
 ### (end include "external/isc/atheros_hal/conf/std.ath_hal")
 ### (included from "conf/compat_netbsd15.config")
 ###> #	$NetBSD: compat_netbsd15.config,v 1.2 2018/01/15 07:20:10 mrg Exp $
 ###> 
 ###> # Common fragment for all NetBSD targets wanting NetBSD 1.5 and newer
 ###> # compatibility support.
 ###> #
 ###> # Note that COMPAT_15 implies all newer COMPAT_XX options.
 ###> 
 ###> include        "conf/compat_netbsd.config"
 ###> options 	COMPAT_15	# NetBSD 1.5 and beyond.
 ### (end include "conf/compat_netbsd15.config")
 ### (included from "conf/compat_netbsd.config")
 ###> # $NetBSD: compat_netbsd.config,v 1.1 2017/09/14 07:58:44 mrg Exp $
 ###> 
 ###> # Traditional NetBSD options enabled for most kernels.
 ###> 
 ###> options 	COMPAT_43	# 4.3BSD system interfaces
 ###> options 	COMPAT_44	# 4.4BSD system interfaces
 ###> options 	COMPAT_BSDPTY	# /dev/[pt]ty?? ptys.
 ### (end include "conf/compat_netbsd.config")
 ### (included from "conf/filesystems.config")
 ###> # $NetBSD: filesystems.config,v 1.16 2022/04/06 14:47:54 reinoud Exp $
 ###> #file-system	ADOSFS		# AmigaDOS-compatible file system
 ###> #options 	APPLE_UFS	# Apple UFS support in FFS
 ###> #file-system	AUTOFS		# Automounter Filesystem
 ###> #pseudo-device	autofs		# experimental - AUTOFS
 ###> file-system	CD9660		# ISO 9660 + Rock Ridge file system
 ###> #file-system	CHFS		# Chip File System
 ###> file-system	CODA		# Coda File System; also needs vcoda (below)
 ###> pseudo-device	vcoda		# coda minicache <-> venus comm.
 ###> file-system	EFS		# Silicon Graphics Extent File System
 ###> file-system	EXT2FS		# second extended file system (linux)
 ###> file-system	FDESC		# /dev/fd
 ###> file-system 	FFS		# UFS
 ###> #file-system	FILECORE	# Acorn filecore file system
 ###> #file-system	HFS		# experimental - Apple HFS+ (read-only)
 ###> file-system	KERNFS		# /kern
 ###> file-system	LFS		# log-structured file system
 ###> file-system	MFS		# memory file system
 ###> file-system	MSDOSFS		# MS-DOS file system
 ###> file-system 	NFS		# Network File System client
 ###> #file-system	NILFS		# experimental - NTT's NiLFS(2)
 ###> file-system	NTFS		# Windows/NT file system (experimental)
 ###> file-system	NULLFS		# loopback file system
 ###> file-system	OVERLAY		# overlay file system
 ###> file-system	PROCFS		# /proc
 ###> file-system	PTYFS		# /dev/ptm support
 ###> file-system	PUFFS		# Userspace file systems (e.g. ntfs-3g & sshfs)
 ###> pseudo-device	putter		# for puffs and pud
 ###> #file-system	SYSVBFS		# sysvfs
 ###> file-system	TMPFS		# Efficient memory file-system
 ###> file-system	SFS		# SFS
 ###> #file-system	UDF		# OSTA UDF CD/DVD file-system
 ###> file-system	UMAPFS		# NULLFS + uid and gid remapping
 ###> file-system	UNION		# union file system
 ###> #file-system	V7FS		# 7th Edition(V7) File System
 ###> #file-system	ZFS		# Solaris ZFS
 ### (end include "conf/filesystems.config")
 ### (included from "dev/usb/usbdevices.config")
 ###> #	$NetBSD: usbdevices.config,v 1.42 2021/06/29 10:22:37 nia Exp $
 ###> #
 ###> # This file contains all USB related configuration.
 ###> # It is suitable for inclusion in a kernel config(5) file.
 ###> #
 ###> 
 ###> # USB Controller and Devices
 ###> 
 ###> # PCI USB controllers
 ###> #ehci*	at pci?	dev ? function ?	# Enhanced Host Controller
 ###> #ohci*	at pci?	dev ? function ?	# Open Host Controller
 ###> #uhci*	at pci?	dev ? function ?	# Universal Host Controller (Intel)
 ###> 
 ###> # CardBus USB controllers
 ###> #ehci*	at cardbus? function ?		# Enhanced Host Controller
 ###> #ohci*	at cardbus? function ?		# Open Host Controller
 ###> #uhci*	at cardbus? function ?		# Universal Host Controller (Intel)
 ###> 
 ###> # ISA USB controllers
 ###> #slhci0	at isa? port 0x300 irq 5	# ScanLogic SL811HS
 ###> 
 ###> # USB bus support
 ###> #usb*	at ehci?
 ###> #usb*	at ohci?
 ###> #usb*	at uhci?
 ###> #usb*	at slhci?
 ###> 
 ###> 
 ###> # USB Hubs
 ###> uhub*	at usb?
 ###> uhub*	at uhub? port ? configuration ? interface ?
 ###> 
 ###> # USB HID device
 ###> uhidev*	at uhub? port ? configuration ? interface ?
 ###> 
 ###> # USB Mice
 ###> ums*	at uhidev? reportid ?
 ###> wsmouse* at ums? mux 0
 ###> 
 ###> # USB Touchscreens
 ###> uts*	at uhidev? reportid ?
 ###> wsmouse* at uts? mux 0
 ###> 
 ###> # USB Keyboards
 ###> ukbd*	at uhidev? reportid ?
 ###> wskbd*	at ukbd? console ? mux 1
 ###> 
 ###> # USB TEMPer and TEMPerHUM
 ###> uthum*	at uhidev? reportid ?
 ###> 
 ###> # USB serial adapter
 ###> ucycom* at uhidev? reportid ?
 ###> 
 ###> # USB Generic HID devices
 ###> uhid*	at uhidev? reportid ?
 ###> 
 ###> # USB eGalax touch-panel
 ###> uep*	at uhub? port ?
 ###> wsmouse* at uep? mux 0
 ###> 
 ###> # USB LCDs and USB-VGA adapters
 ###> udl*	at uhub? port ?		# DisplayLink DL-1x0/1x5
 ###> wsdisplay* at udl?
 ###> 
 ###> # USB Printer
 ###> ulpt*	at uhub? port ? configuration ? interface ?
 ###> 
 ###> # USB Modem
 ###> umodem*	at uhub? port ? configuration ?
 ###> ucom*	at umodem?
 ###> 
 ###> # Option N.V. Wireless WAN modems
 ###> uhso*	at uhub? port ? configuration ?
 ###> 
 ###> # USB Mass Storage
 ###> umass*	at uhub? port ? configuration ? interface ?
 ###> scsibus* at umass?
 ###> cd*	at scsibus? target ? lun ?
 ###> sd*	at scsibus? target ? lun ?
 ###> st*	at scsibus? target ? lun ?
 ###> uk*	at scsibus? target ? lun ?
 ###> atapibus* at umass?
 ###> # flags have the same meaning as for IDE drives.
 ###> cd*	at atapibus? drive ? flags 0x0000       # ATAPI CD-ROM drives
 ###> sd*	at atapibus? drive ? flags 0x0000       # ATAPI disk drives
 ###> st*	at atapibus? drive ? flags 0x0000       # ATAPI tape drives
 ###> uk*	at atapibus? drive ? flags 0x0000       # ATAPI unknown
 ###> 
 ###> # USB audio
 ###> uaudio*	at uhub? port ? configuration ?
 ###> uaudio* at usbifif?
 ###> audio*	at uaudio?
 ###> 
 ###> # USB MIDI
 ###> umidi* at uhub? port ? configuration ?
 ###> 
 ###> # USB IrDA
 ###> # USB-IrDA bridge spec
 ###> uirda* at uhub? port ? configuration ? interface ?
 ###> irframe* at uirda?
 ###> 
 ###> # SigmaTel STIr4210/4220/4116 USB/IrDA Bridge - not quite UIRDA
 ###> stuirda* at uhub? port ?
 ###> irframe* at stuirda?
 ###> 
 ###> # SigmaTel STIr4200 USB/IrDA Bridge
 ###> ustir* at uhub? port ?
 ###> irframe* at ustir?
 ###> 
 ###> # KingSun/DonShine USB/IrDA Bridge
 ###> udsir*  at uhub? port ?
 ###> irframe* at udsir?
 ###> 
 ###> # Windows Media Center IR transceiver
 ###> irmce*	at uhub? port ?
 ###> cir*	at irmce?
 ###> 
 ###> # Toshiba Oboe
 ###> #oboe*	at pci? dev ? function ?	# broken -- vtophys
 ###> #irframe* at oboe?
 ###> 
 ###> # USB Ethernet adapters
 ###> aue*	at uhub? port ?		# ADMtek AN986 Pegasus based adapters
 ###> axe*	at uhub? port ?		# ASIX AX88172 based adapters
 ###> axen*	at uhub? port ?		# ASIX AX88178a/AX88179 based adapters
 ###> cdce*	at uhub? port ?		# CDC, Ethernet Networking Control Model
 ###> cue*	at uhub? port ?		# CATC USB-EL1201A based adapters
 ###> kue*	at uhub? port ?		# Kawasaki LSI KL5KUSB101B based adapters
 ###> mos*	at uhub? port ?		# Moschip MCS7730/MCS7830/MCS7832 based adapters
 ###> mue*	at uhub? port ?		# Microchip LAN75xx/LAN78xx based adapters
 ###> udav*	at uhub? port ?		# Davicom DM9601 based adapters
 ###> #umb*	at uhub? port ?		# Mobile Broadband Interface Model (EXPERIMENTAL)
 ###> ure*	at uhub? port ?		# Realtek RTL8152/RTL8153 based adapters
 ###> url*	at uhub? port ?		# Realtek RTL8150L based adapters
 ###> urndis*	at uhub? port ?		# Microsoft RNDIS specification
 ###> usmsc*	at uhub? port ?		# SMSC95xx based adapters
 ###> 
 ###> # USB 802.11 adapters
 ###> athn*	at uhub? port ?		# Atheros AR9002U
 ###> atu*	at uhub? port ?		# Atmel AT76C50XX based adapters
 ###> bwfm*	at uhub? port ?		# Broadcom FullMAC
 ###> otus*	at uhub? port ?		# Atheros AR9001U
 ###> rum*	at uhub? port ?		# Ralink Technology RT2501/RT2601 802.11a/b/g
 ###> run*	at uhub? port ?		# Ralink Technology RT(2[78]|30)00 802.11a/b/g/n
 ###> upgt*	at uhub? port ?		# Intersil PrismGT
 ###> ural*	at uhub? port ?		# Ralink Technology RT2500USB 802.11a/b/g
 ###> urtw*	at uhub? port ?		# Realtek RTL8187/RTL8187B 802.11b/g
 ###> urtwn*	at uhub? port ?		# Realtek RTL8188CU/RTL8192CU 802.11b/g/n
 ###> zyd*	at uhub? port ?		# Zydas ZD1211
 ###> 
 ###> # Prolific PL2301/PL2302 host-to-host adapter
 ###> upl*	at uhub? port ?
 ###> 
 ###> # Serial adapters
 ###> uark*	at uhub? port ?		# ArkMicroChips 3116 serial adapter
 ###> ucom*	at uark? portno?
 ###> 
 ###> ubsa*	at uhub? port ?		# Belkin serial adapter
 ###> ucom*	at ubsa? portno ?
 ###> 
 ###> uchcom*	at uhub? port ?		# WinChipHead CH340/CH341 serial adapter
 ###> ucom*	at uchcom? portno ?
 ###> 
 ###> uftdi*	at uhub? port ?		# FTDI FT8U100AX serial adapter
 ###> ucom*	at uftdi? portno ?
 ###> 
 ###> #uhmodem* at uhub? port ?	# Huawei E220 3G/HSDPA modem
 ###> #ucom* at uhmodem?
 ###> 
 ###> uipaq*	at uhub? port ?		# iPAQ PDAs
 ###> ucom*	at uipaq? portno ?
 ###> 
 ###> umct*	at uhub? port ?		# MCT USB-RS232 serial adapter
 ###> ucom*	at umct? portno ?
 ###> 
 ###> uplcom* at uhub? port ? 	# I/O DATA USB-RSAQ2 serial adapter
 ###> ucom*	at uplcom? portno ?
 ###> 
 ###> uslsa*	at uhub? port ?		# Silicon Labs serial adapters
 ###> ucom*	at uslsa? portno ?
 ###> 
 ###> uvscom* at uhub? port ? 	# SUNTAC Slipper U VS-10U serial adapter
 ###> ucom*	at uvscom? portno ?
 ###> 
 ###> # All chips supported by this driver are also supported by umcs(4).
 ###> # moscom* at uhub? port ? 	# Moschip MCS7xxx serial adapter
 ###> # ucom*	at moscom? portno ?
 ###> 
 ###> umcs* at uhub? port ?	 	# Moschip MCS7xxx serial adapter
 ###> ucom*	at umcs? portno ?
 ###> 
 ###> uxrcom*	at uhub? port ?		# Exar XR21V141x serial adapter
 ###> ucom*	at uxrcom? portno ?
 ###> 
 ###> # RIM BlackBerry
 ###> uberry* at uhub? port ?
 ###> 
 ###> # Apple iPad
 ###> uipad* at uhub? port ?
 ###> 
 ###> # USB Handspring Visor
 ###> uvisor*	at uhub? port ?
 ###> ucom*	at uvisor?
 ###> 
 ###> # Kyocera AIR-EDGE PHONE
 ###> ukyopon* at uhub? port ?
 ###> ucom*	at ukyopon? portno ?
 ###> 
 ###> # USB scanners that use SCSI emulation, e.g., HP5300
 ###> usscanner* at uhub? port ?
 ###> scsibus* at usscanner?
 ###> ss* at scsibus?
 ###> 
 ###> # Topfield TF5000PVR range of DVB recorders
 ###> utoppy*	at uhub? port ?
 ###> 
 ###> # D-Link DSB-R100 USB radio
 ###> udsbr*	at uhub? port ?
 ###> radio*	at udsbr?
 ###> 
 ###> # Silicon Labs-based USB radio modules
 ###> slurm*	at uhub? port ?
 ###> radio*	at slurm?
 ###> 
 ###> # USB Generic driver
 ###> ugen*	at uhub? port ?
 ###> 
 ###> # USB 3G datacards
 ###> umodeswitch* at uhub? port ?
 ###> u3g*	at uhub? port ?
 ###> ucom*	at u3g?
 ###> 
 ###> # USB generic serial port (e.g., data over cellular)
 ###> ugensa*	at uhub? port ?
 ###> ucom*	at ugensa?
 ###> 
 ###> # USB Video capture devices
 ###> pseye*	at uhub?		# Sony PLAYSTATION(R) Eye webcam
 ###> uvideo* at uhub?		# USB Video Class capture devices
 ###> auvitek* at uhub?		# Auvitek AU0828 video capture devices
 ###> emdtv* at uhub?			# Empia EM28xx video capture devices
 ###> cir* at emdtv?			# Empia EM28xx infrared remote
 ###> video* at videobus?
 ###> dtv* at dtvbus?
 ###> 
 ###> # USB Bluetooth controllers
 ###> ubt* at uhub? port ?
 ###> aubtfwl* at uhub? port ?	# load Atheros AR3k ubt(4) firmware
 ###> bthub* at ubt?
 ###> 
 ###> # Araneus Alea I/II TRNG
 ###> ualea* at uhub? port ? configuration ? interface ?
 ###> 
 ###> # Yubikey -- CCID interface (OTP and FIDO are handled by uhidev(4))
 ###> # https://support.yubico.com/support/solutions/articles/15000028104-yubikey-usb-id-values
 ###> ugenif* at uhub? vendor 0x1050 product 0x0114 configuration 1 interface 1
 ###> ugenif* at uhub? vendor 0x1050 product 0x0115 configuration 1 interface 1
 ###> ugenif* at uhub? vendor 0x1050 product 0x0116 configuration 1 interface 2
 ###> ugenif* at uhub? vendor 0x1050 product 0x0405 configuration 1 interface 1
 ###> ugenif* at uhub? vendor 0x1050 product 0x0406 configuration 1 interface 1
 ###> ugenif* at uhub? vendor 0x1050 product 0x0407 configuration 1 interface 2
 ### (end include "dev/usb/usbdevices.config")
 ### (included from "dev/veriexec.config")
 ###> # $NetBSD: veriexec.config,v 1.1 2019/04/26 18:41:24 sevan Exp $
 ###> #
 ###> # This file contains all Veriexec related configuration.
 ###> # It is suitable for inclusion in a kernel config(5) file.
 ###> #
 ###> 
 ###> options 	FILEASSOC		# fileassoc(9) - needed by Veriexec
 ###> 					# and PAX_SEGVGUARD
 ###> 
 ###> # a pseudo device needed for veriexec
 ###> pseudo-device	veriexec
 ###> #
 ###> # Note that removing fingerprint methods will have almost no impact on the
 ###> # kernel code size.
 ###> #
 ###> options VERIFIED_EXEC_FP_SHA256
 ###> options VERIFIED_EXEC_FP_SHA384
 ###> options VERIFIED_EXEC_FP_SHA512
 ### (end include "dev/veriexec.config")

 -----------------

From: Taylor R Campbell <riastradh@NetBSD.org>
To: Reinoud Zandijk <reinoud@13thmonkey.org>
Cc: gnats-bugs@NetBSD.org, netbsd-bugs@NetBSD.org
Subject: Re: kern/58032: machine with amdgpu panics on starting X
Date: Fri, 15 Mar 2024 15:38:13 +0000

 > As for triggering this and it triggers always is to run a kernel without
 > the DIAGNOSTIC option.

 I strongly recommend you use DIAGNOSTIC here.

 Generally, any crashes you get without DIAGNOSTIC in experimental code
 bases like amdgpu are likely to be downstream fallout from invariant
 violations that DIAGNOSTIC would have caught earlier.

 Not always, but you need to run with DIAGNOSTIC to rule this
 possibility out first, especially when there's an easy reproducer.

>Unformatted:

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-2024 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.