On Tue, Oct 08, 2024 at 02:57:25PM +0200, Frank Brodbeck wrote: > Oct 8 13:28:14 quirm /bsd: OpenBSD 7.6 (RAMDISK_CD) #326: Mon Sep 30 > 09:00:03 MDT 2024 > Oct 8 13:28:14 quirm /bsd: > dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/RAMDISK_CD
Kernel bsd.rd does not use relinking. So we can find the code from rip. > Oct 8 13:28:14 quirm /bsd: root on rd0a swap on rd0b dump on rd0b > Oct 8 13:28:14 quirm /bsd: WARNING: CHECK AND RESET THE DATE! > Oct 8 13:28:14 quirm /bsd: uvm_fault(0xfffffd827dc3e810, 0x0, 0, 1) -> e > Oct 8 13:28:14 quirm /bsd: fatal page fault in supervisor mode > Oct 8 13:28:14 quirm /bsd: trap type 6 code 0 rip ffffffff81374c4c cs 8 > rflags 10246 cr2 0 cpl 0 rsp ffff80002f25dbb0 Sorted nm output of release bsd.rd says ffffffff81374c2c T wsdisplaywrite ffffffff81374c83 T wsdisplaytty rip is ffffffff81374c4c, look at wsdisplaywrite+0x20 0000000000000fac <wsdisplaywrite>: ... /usr/src/sys/dev/wscons/wsdisplay.c:1019 fcc: 48 8b 04 f8 mov (%rax,%rdi,8),%rax /usr/src/sys/dev/wscons/wsdisplay.c:1024 So it happens here: 1010 int 1011 wsdisplaywrite(dev_t dev, struct uio *uio, int flag) 1012 { 1013 struct wsdisplay_softc *sc; 1014 struct tty *tp; 1015 int unit; 1016 struct wsscreen *scr; 1017 1018 unit = WSDISPLAYUNIT(dev); * 1019 sc = wsdisplay_cd.cd_devs[unit]; 1020 1021 if (ISWSDISPLAYCTL(dev)) 1022 return (0); 1023 1024 if ((scr = sc->sc_scr[WSDISPLAYSCREEN(dev)]) == NULL) > Oct 8 13:28:14 quirm /bsd: gsbase 0xffffffff81938ff0 kgsbase 0x0 > Oct 8 13:28:14 quirm /bsd: panic: trap type 6, code=0, pc=ffffffff81374c4c > Oct 8 13:28:14 quirm /bsd: panic: trap type 6, code=0, pc=ffffffff81374c4c > Oct 8 13:28:14 quirm /bsd: dump to dev 17,1 not possible > Oct 8 13:28:14 quirm /bsd: rebooting... bluhm