Date: Tue, 16 Sep 2025 22:32:00 -0700 From: Mark Millard <marklmi@yahoo.com> To: Cy Schubert <Cy.Schubert@cschubert.com>, dev-commits-src-main@freebsd.org, "obiwac@freebsd.org" <obiwac@FreeBSD.org> Subject: Re: git: e779891327b1 - main - sys/power: Sleep type reporting by PM backends Message-ID: <6DF1A387-06ED-482F-8FCB-66CA6373B04D@yahoo.com> References: <6DF1A387-06ED-482F-8FCB-66CA6373B04D.ref@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Cy Schubert <Cy.Schubert_at_cschubert.com> wrote on Date: Tue, 16 Sep 2025 05:02:39 UTC : > In message <202509142159.58ELx5Rg054606@gitrepo.freebsd.org>, Aymeric = Wibo writ > es: > > The branch main has been updated by obiwac: > > > > URL: = https://cgit.FreeBSD.org/src/commit/?id=3De779891327b1d9b9ab10ba482e59f498= > > 790505a7 > > > > commit e779891327b1d9b9ab10ba482e59f498790505a7 > > Author: Aymeric Wibo <obiwac@FreeBSD.org> > > AuthorDate: 2025-09-14 21:58:13 +0000 > > Commit: Aymeric Wibo <obiwac@FreeBSD.org> > > CommitDate: 2025-09-14 21:58:15 +0000 > > > > sys/power: Sleep type reporting by PM backends > >=20 > > Allow PM backends to report supported sleep types when registering > > through `power_pm_register`. Expose this information through > > `kern.power.supported_stype` sysctl, and set defaults for > > `power_standby/suspend/hibernate_stype` based on this. > >=20 > > Implement this in ACPI PM backend. > >=20 > > Reviewed by: mckusick (mentor), markj > > Approved by: mckusick (mentor), markj > > Sponsored by: The FreeBSD Foundation > > Differential Revision: https://reviews.freebsd.org/D52044 > > --- > . . . > >=20 > > >=20 > One of this series of ACPI commits has broken power management on my = machines. > One of which managed to capture a dump from a kernel panic after = poweroff(8) > was issued. This is mostly a "me too" with poorer quality data collection. The context here is an AMD 7950X3D based desktop system, using the builtin video for the console, no video card present. The crash was too late for the USB keyboard to work, I had to plug in a PS2 keyboard. But it was also, apparently, too late for a dump to then work. It was from a "shutdown -r now" just after a pkgbase'd upgrade of the world. (Previous reboot was for updating the kernel, so the below does identify the kernel that was in operation.) The pkgbase materials (old and new) were from official distributions. # uname -apKU FreeBSD 7950X3D-ZFS 16.0-CURRENT FreeBSD 16.0-CURRENT = main-n280397-5da388d93917 GENERIC-NODEBUG amd64 amd64 1600000 1600000 Expect "typos" and such from the conversion to text from the cell phone image: QUOTE Fatal trap 12: page fault while in kernel mode cpuid =3D 0; apic id =3D 00 fault virtual address=3D 0x88 fault code=3D supervisor read data, page not present instruction pointer=3D0x20:0xffffffff80bb7464 stack pointer=3D0x28:0xfffffe027d40dab0 frame pointer=3D0x28:0xfffffe027d40dab0 code segment=3Dbase Ox0, limit Oxfffff, type Ox1b =3D DPL 0, pres 1, long 1, def32 0, gran 1 processor eflags=3D interrupt enabled, resume, IOPL =3D 0 current process=3D 1 (init) rdi: 0000000000000000 rsi: ffffffff804be800 rdx: fffffe827d40dbb0 rcx: 0000000000000000 r8: 0000000000000075 r9: 0000000000000000 rax: 0000000000000005 rbx: fffff8010b33d440 rbp: fffffe027d40dab0 r10: cacacacacacacaca r11: 000000005f42535f r12: fffff8010b33d440 r13: 0000000000000000 r14: 0866966600000005 r15: 0000000066860009 trap number=3D 12 panic: page fault cpuid =3D 0 time =3D 1758083117 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame = 0xfffffe027d40d800 vpanic() at vpanic+0x136/frame 0xfffffe027d40d930 panic() at panic+0x43/frame 0xfffffe027d40d990 trap_pfault() at trap_pfault+0x3c9/frame 0xfffffe027d40d9e0 calltrap() at calltrap+0x8/frame 0xfffffe027d40d9e0 -- trap 0xc, rip =3D 0xffffffff80bb7464, rsp =3D 0xfffffe027d40dab0, rbp = =3D 0xfffffe027d40dab0 =E2=80=94-- device_get_softc() at device_get_softc+0x4/frame 0xfffffe027d40dab0 acpi_wake_prep() at acpi_wake_prep+0x65/frame 0xfffffe027d4adbf0 AcpiNsWalkNamespace() at AcpiNsWalkNamespace+0x10b/frame = 0xfffffe027d40dc50 AcpiWalkNamespace() at AcpiWalkNamespace+=C4=90x95/frame = 0xfffffe027d40dcb0 acpi_shutdoun() at acpi_shutdoun+0x64/frame 0xfffffe027d40dce0 bus_generic_shutdoun() at bus_generic_shutdown+0x16/frame = 0xfffffe027d40dd00 bus_generic_shutdoun() at bus_generic_shutdown+0x16/frame = 0xfffffe027d40dd20 root_bus_module_handler() at root_bus_module_handler+0x126/frame = =C2=A9xfffffe027d40dd40 module_shutdown() at module_shutdown+0x6c/frame 0xfffffe027d40dd60 kern_reboot() at kern_reboot+0x6b7/frame 0xfffffe027d40ddb0=20 sys_rebooto at sys_reboot+0x413/frame 0xfffffe027d40de00 amd64_syscall() at amd64_syscal1+0x126/frame @xfffffe027d40df30 fast_syscall_common() at fast_syscall_common+0xf8/frame = 0xfffffe027d40df30 -- syscall (55, FreeBSD ELF64, reboot), rip =3D 0x2941ba, rsp =3D = 0x8210f0aca, rbp =3D 0x8210f0bb0 -=3D- END QUOTE (kgdb) disass device_get_softc Dump of assembler code for function device_get_softc: 0xffffffff80bb7460 <+0>: push %rbp 0xffffffff80bb7461 <+1>: mov %rsp,%rbp 0xffffffff80bb7464 <+4>: mov 0x88(%rdi),%rax 0xffffffff80bb746b <+11>: pop %rbp 0xffffffff80bb746c <+12>: ret End of assembler dump. Given "fault virtual address=3D 0x88": %rdi=3D=3D0, matching the register value listing. Dump of assembler code for function acpi_wake_prep: 0xffffffff804c45e0 <+0>: push %rbp 0xffffffff804c45e1 <+1>: mov %rsp,%rbp 0xffffffff804c45e4 <+4>: push %r15 0xffffffff804c45e6 <+6>: push %r14 0xffffffff804c45e8 <+8>: push %r13 0xffffffff804c45ea <+10>: push %r12 0xffffffff804c45ec <+12>: push %rbx 0xffffffff804c45ed <+13>: sub $0x108,%rsp 0xffffffff804c45f4 <+20>: mov %rdi,%rbx 0xffffffff804c45f7 <+23>: mov (%rdx),%r14d 0xffffffff804c45fa <+26>: cmpb $0x0,0x14fde37(%rip) # = 0xffffffff819c2438 <AcpiGbl_SystemAwakeAndRunning> 0xffffffff804c4601 <+33>: je 0xffffffff804c46c4 = <acpi_wake_prep+228> 0xffffffff804c4607 <+39>: lea -0x128(%rbp),%rsi 0xffffffff804c460e <+46>: mov %rbx,%rdi 0xffffffff804c4611 <+49>: call 0xffffffff804c0210 = <acpi_parse_prw> 0xffffffff804c4616 <+54>: test %eax,%eax 0xffffffff804c4618 <+56>: jne 0xffffffff804c49d9 = <acpi_wake_prep+1017> 0xffffffff804c461e <+62>: movq $0x0,-0x40(%rbp) 0xffffffff804c4626 <+70>: lea -0x40(%rbp),%rdx 0xffffffff804c462a <+74>: mov %rbx,%rdi 0xffffffff804c462d <+77>: mov $0xffffffff804be800,%rsi 0xffffffff804c4634 <+84>: call 0xffffffff80402530 <AcpiGetData> 0xffffffff804c4639 <+89>: mov -0x40(%rbp),%r15 0xffffffff804c463d <+93>: mov %r15,%rdi 0xffffffff804c4640 <+96>: call 0xffffffff80bb7460 = <device_get_softc> . . . =3D=3D=3D Mark Millard marklmi at yahoo.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6DF1A387-06ED-482F-8FCB-66CA6373B04D>