On Sat, May 27, 2023 at 06:49:48AM +0200, Henryk Paluch wrote:
>
>
> On 5/27/23 02:12, Mike Larkin wrote:
> > On Fri, May 26, 2023 at 09:00:41PM +0200, Henryk Paluch wrote:
> > > > fatal protection fault in supervisor mode
> > >
> > > Finally I was able to build custom ramdisk kernel with DDB to get 
> > > stacktrace.
> > >
> > > Kernel ident:
> > > OpenBSD 7.3 (RAMDISK_CD) #1: Fri May 26 20:28:53 CEST 2023
> > >      [email protected]:/usr/src/sys/arch/amd64/compile/RAMDISK_CD
> > >
> > > While installing sets from cd0:
> > > wdc_atapi_start: not ready, st = 50
> > > kernel: protection fault trap, code=0
> > > Stopped at      wdcstart+0x19:  movl    0x58(%rdi),%eax
> > > ddb> trace
> > > wdcstart(ffff80000007c168,ffff80000007c168,ffff80000007c168,10,ffff800021712d88,10282)
> > >  at wdcstart+0x19
> > > wdc_atapi_the_machine(ffff80000007c168,fffffd807e9aed08,2,ffff80000007c168,ffff80000007c168,fffffd807e9aed08)
> > >  at wdc_atapi_the_machine+0x14a
> > > wdc_atapi_intr(ffff80000007c168,fffffd807e9aed08,1,ffff80000007c168,fffffd807e9aed08,ffff80000007c168)
> > >  at wdc_atapi_intr+0x47
> > > wdcintr(ffff80000007c168,ffff80000007c168,ffff800000024dc0,0,6,1) at 
> > > wdcintr+0xae
> > > intr_handler(ffff800021712ed8,ffff800000065500,ffff800000065680,ffffffff811f91b0,ffffffff81211216,ffff800021712ec8)
> > >  at intr_handler+0x26
> > > Xintr_ioapic_edge14_untramp(0,ffffffff811f91b0,0,18041969,ffff800000024dc0,6)
> > >  at Xintr_ioapic_edge14_untramp+0x18f
> > > Xspllower(0,0,ffff800000024d00,0,ffffffff81211455,602) at Xspllower+0xc
> > > scsi_xsh_runqueue(ffff800000024d00,ffff800000024d00,0,ffff800000024d00,ffff80000014b100,ffff800000023970)
> > >  at scsi_xsh_runqueue+0xe3
> > > scsi_xsh_add(ffff800000023970,ffff800000023970,fffffd806ccfc700,ffff800000023800,fffffd806ccfc7f0,6)
> > >  at scsi_xsh_add+0x80
> > > cdstrategy(fffffd806ccfc700,fffffd806ccfc700,fffffd806ccfc700,fffffd806ccfc700,fffffd806ccfc7f0,150)
> > >  at cdstrategy+0xe4
> > > spec_strategy(ffff8000217130c0,ffff8000217130c0,fffffd806ccfc700,1f,ffffffff81141f01,ffff8000217130b0)
> > >  at spec_strategy+0x3f
> > > VOP_STRATEGY(fffffd807de4f6c8,fffffd806ccfc700,fffffd806ccfc700,fffffd807de4f6c8,ffffffff8114026b,ffff8000217130e0)
> > >  at VOP_STRATEGY+0x3c
> > > cd9660_strategy(ffff800021713130,ffff800021713130,fffffd806ccfc700,4,fffffd807e9d2970,fffffd807e9d2970)
> > >  at cd9660_strategy+0xce
> > > VOP_STRATEGY(fffffd807e9d2970,fffffd806ccfc700,fffffd806ccfc700,fffffd807e9d2970,ffffffff8114026b,ffff800021713150)
> > >  at VOP_STRATEGY+0x3c
> > > bio_doread(fffffd807e9d2970,1c1e,800,4,ffff800000148f00,20) at 
> > > bio_doread+0x67
> > > breadn(fffffd807e9d2970,1bfe,800,ffff800000148e00,ffff800000148f00,20) at 
> > > breadn+0x71
> > > cd9660_read(ffff8000217132b0,ffff8000217132b0,fffffd807edfb170,fffffd807e9d2970,0,ffff8000217133e0)
> > >  at cd9660_read+0x12b
> > > VOP_READ(fffffd807e9d2970,ffff8000217133e0,0,fffffd807f7bff08,fffffd807f7bff08,ffff800000000000)
> > >  at VOP_READ+0x31
> > > vn_read(fffffd807edfb170,ffff8000217133e0,0,fffffd807edfb170,fffffd807edfb170,20000)
> > >  at vn_read+0xad
> > > dofilereadv(ffff8000216cd888,3,ffff8000217133e0,0,ffff8000217134a0,ffff8000216cd888)
> > >  at dofilereadv+0x62
> > > sys_read(ffff8000216cd888,ffff800021713450,ffff8000217134a0,ffff8000216cd888,1000,2d0170000)
> > >  at sys_read+0x43
> > > syscall(ffff800021713500,ffff800021713500,0,ffff8000216cd888,0,0) at 
> > > syscall+0x201
> > > Xsyscall(0,3,0,3,0,238128000) at Xsyscall+0x128
> > > end of kernel
> > > end trace frame: 0x79ff6e90a870, count: -23
> > > ddb>
> > >
>    ... build omitted ...
> > >    --Henryk Paluch
> > >
> >
> > qemu command line for this vm?
> >
>
> Here is copy from host's /var/log/libvirt/qemu/openbsd7.3.log:
>
> 2023-05-26 18:34:39.049+0000: starting up libvirt version: 8.0.0, qemu
> version: 6.2.0SUSE Linux Enterprise 15, kernel:
> 5.14.21-150400.24.63-default, hostname: zotac.example.com
> LC_ALL=C \
> PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
> HOME=/var/lib/libvirt/qemu/domain-9-openbsd7.3 \
> XDG_DATA_HOME=/var/lib/libvirt/qemu/domain-9-openbsd7.3/.local/share \
> XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain-9-openbsd7.3/.cache \
> XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain-9-openbsd7.3/.config \
> /usr/bin/qemu-system-x86_64 \
> -name guest=openbsd7.3,debug-threads=on \
> -S \
> -object 
> '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain-9-openbsd7.3/master-key.aes"}'
> \
> -machine
> pc-i440fx-6.2,usb=off,vmport=off,dump-guest-core=off,memory-backend=pc.ram \
> -accel kvm \
> -cpu host,migratable=on \
> -m 2048 \
> -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":2147483648}'
> \
> -overcommit mem-lock=off \
> -smp 1,sockets=1,cores=1,threads=1 \
> -uuid 5269af2c-b3df-45eb-9e57-10654a98f5d7 \
> -no-user-config \
> -nodefaults \
> -chardev socket,id=charmonitor,fd=32,server=on,wait=off \
> -mon chardev=charmonitor,id=monitor,mode=control \
> -rtc base=utc,driftfix=slew \
> -global kvm-pit.lost_tick_policy=delay \
> -no-hpet \
> -no-shutdown \
> -global PIIX4_PM.disable_s3=1 \
> -global PIIX4_PM.disable_s4=1 \
> -boot strict=on \
> -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x4.0x7 \
> -device 
> ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x4
> \
> -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x4.0x1 \
> -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x4.0x2 \
> -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x5 \
> -blockdev 
> '{"driver":"file","filename":"/var/lib/libvirt/images/openbsd7.3.qcow2","node-name":"libvirt-2-storage","cache":{"direct":false,"no-flush":true},"auto-read-only":true,"discard":"unmap"}'
> \
> -blockdev 
> '{"node-name":"libvirt-2-format","read-only":false,"discard":"unmap","cache":{"direct":false,"no-flush":true},"driver":"qcow2","file":"libvirt-2-storage","backing":null}'
> \
> -device 
> virtio-blk-pci,bus=pci.0,addr=0x6,drive=libvirt-2-format,id=virtio-disk0,bootindex=1,write-cache=on
> \
> -blockdev 
> '{"driver":"file","filename":"/opt/iso/install73.iso","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}'
> \
> -blockdev 
> '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}'
> \
> -device 
> ide-cd,bus=ide.0,unit=0,share-rw=on,drive=libvirt-1-format,id=ide0-0-0,bootindex=2
> \
> -netdev tap,fd=33,id=hostnet0,vhost=on,vhostfd=35 \
> -device 
> virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:f4:0c:46,bus=pci.0,addr=0x3
> \
> -chardev pty,id=charserial0 \
> -device isa-serial,chardev=charserial0,id=serial0 \
> -chardev spicevmc,id=charchannel0,name=vdagent \
> -device 
> virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0
> \
> -audiodev '{"id":"audio1","driver":"spice"}' \
> -spice 
> port=5900,addr=127.0.0.1,disable-ticketing=on,image-compression=off,seamless-migration=on
> \
> -device 
> qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,vram64_size_mb=0,vgamem_mb=16,max_outputs=1,bus=pci.0,addr=0x2
> \
> -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x7 \
> -sandbox
> on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
> -msg timestamp=on
>
>
> Best regards
>   --Henryk Paluch

I don't know what's wrong with atapi CD emulation on wdc(4), my recommendation
would be to move the cd to a vioscsi device instead of wdc.

-ml

Reply via email to