On Tue, Apr 11, 2023 at 06:29:50PM +0200, Jan Stary wrote: > > o On arm64, add a machdep.lidaction sysctl(8) > > for aplsmc(4) Apple Silicon laptops. > > Should that be mentioned in the arm64 examples/sysctl.conf > as on other such architectures? > > Index: etc/etc.arm64/sysctl.conf > =================================================================== > RCS file: /cvs/src/etc/etc.arm64/sysctl.conf,v > retrieving revision 1.1 > diff -u -p -r1.1 sysctl.conf > --- etc.arm64/sysctl.conf 11 Jan 2017 22:57:34 -0000 1.1 > +++ etc.arm64/sysctl.conf 11 Apr 2023 15:40:50 -0000 > @@ -0,0 +1 @@ > +#machdep.lidaction=0 # 1=suspend, 2=hibernate laptop upon lid closing > > > > aplsmc(4) provides support for the lid position sensor. > > Should that be mentioned in aplsmc(4)?
Sounds like a good idea. > > Index: aplsmc.4 > =================================================================== > RCS file: /cvs/src/share/man/man4/man4.arm64/aplsmc.4,v > retrieving revision 1.2 > diff -u -p -r1.2 aplsmc.4 > --- aplsmc.4 10 Jan 2022 21:16:44 -0000 1.2 > +++ aplsmc.4 11 Apr 2023 15:49:20 -0000 > @@ -28,7 +28,7 @@ The > driver provides support for the System Management Controller (SMC) > found on various Apple SoCs. > The driver provides a collection of current, fan, power, temperature, > -voltage and battery information sensors. > +voltage, lid position and battery information sensors. > .Pp > Sensor values are made available through the > .Xr sysctl 8 ok too. > > > > > The arm64 default for the machdep.lidaction is 1, making the > > > system suspend when the lid is closed. > > On this M1 macbook (dmesg below), I see no difference > between lidaction=0 and lidaction=1; with both, > closing and opening the lid does this: > > (lidaction=0) Is this still the case? For me lidaction=0 seems to only disable the screen which is inteded, lidaction=1 triggers a suspend. > > Apr 11 16:54:22 mb /bsd: uhub0 detached > Apr 11 16:54:22 mb /bsd: uhub1 detached > > Apr 11 16:54:31 mb /bsd: wsdisplay_switch2: not switching > Apr 11 16:54:31 mb /bsd: cpu0: 1 wakeup events > Apr 11 16:54:31 mb /bsd: uhub0 at usb0 configuration 1 interface 0 "Generic > xHCI root hub" rev 3.00/1.00 addr 1 > Apr 11 16:54:31 mb /bsd: uhub1 at usb1 configuration 1 interface 0 "Generic > xHCI root hub" rev 3.00/1.00 addr 1 > Apr 11 16:54:31 mb /bsd: cpu7: 1 wakeup events > Apr 11 16:54:31 mb /bsd: cpu4: 1 wakeup events > Apr 11 16:54:31 mb /bsd: cpu6: 1 wakeup events > Apr 11 16:54:31 mb /bsd: cpu5: 1 wakeup events > Apr 11 16:54:31 mb /bsd: cpu1: 1 wakeup events > Apr 11 16:54:31 mb /bsd: cpu3: 1 wakeup events > Apr 11 16:54:31 mb /bsd: cp > Apr 11 16:54:31 mb /bsd: u2: 1 wakeup events > Apr 11 16:54:31 mb root: running /etc/apm/resume > Apr 11 16:54:36 mb apmd: system resumed from sleep > Apr 11 16:54:36 mb apmd: battery status: high. external power status: not > connected. estimated battery life 99% (834 minutes life time estimate) > > (lidaction=1) > > Apr 11 17:05:12 mb /bsd: uhub0 detached > Apr 11 17:05:12 mb /bsd: uhub1 detached > > Apr 11 17:05:20 mb /bsd: wsdisplay_switch2: not switching > Apr 11 17:05:20 mb /bsd: cpu0: 1 wakeup events > Apr 11 17:05:20 mb /bsd: uhub0 at usb0 configuration 1 interface 0 "Generic > xHCI root hub" rev 3.00/1.00 addr 1 > Apr 11 17:05:20 mb /bsd: uhub1 at usb1 configuration 1 interface 0 "Generic > xHCI root hub" rev 3.00/1.00 addr 1 > Apr 11 17:05:20 mb /bsd: cpu7: 1 wakeup events > Apr 11 17:05:20 mb /bsd: cpu5: 1 wakeup events > Apr 11 17:05:20 mb /bsd: cpu4: 1 wakeup events > Apr 11 17:05:20 mb /bsd: cpu6: 1 wakeup events > Apr 11 17:05:20 mb /bsd: cpu2: 1 wakeup events > Apr 11 17:05:20 mb /bsd: cpu3: 1 wakeup events > Apr 11 17:05:20 mb /bsd: cpu1: 1 wakeup events > Apr 11 17:05:20 mb root: running /etc/apm/resume > Apr 11 17:05:26 mb apmd: system resumed from sleep > Apr 11 17:05:26 mb apmd: battery status: high. external power status: not > connected. estimated battery life 98% (796 minutes life time estimate) > > So even with lidaction=0 it kind-of-suspends, > and kind-of-resumes, running /etc/apm/resume. > Is that expected? > > There also seems to be a difference between suspending with apm -z > and suspending by closing the lid; namely, apm -z does call > /etc/apm/suspend but the lid does not. Is that intended? > > (apm -z) > > Apr 11 16:55:30 mb apmd: system suspending > ^^^^^^^^^^^^^^^^^^^^^^^ > Apr 11 16:55:30 mb apmd: battery status: high. external power status: not > connected. estimated battery life 99% (712 minutes life time estimate) > Apr 11 16:55:30 mb root: running /etc/apm/suspend > ^^^^^^^^^^^^^^^^^^^^^^^^ > Apr 11 16:55:31 mb /bsd: uhub0 detached > Apr 11 16:55:31 mb /bsd: uhub1 detached > > Apr 11 16:55:37 mb /bsd: wsdisplay_switch2: not switching > Apr 11 16:55:37 mb /bsd: cpu0: 1 wakeup events > Apr 11 16:55:37 mb /bsd: uhub0 at usb0 configuration 1 interface 0 "Generic > xHCI root hub" rev 3.00/1.00 addr 1 > Apr 11 16:55:37 mb /bsd: uhub1 at usb1 configuration 1 interface 0 "Generic > xHCI root hub" rev 3.00/1.00 addr 1 > Apr 11 16:55:37 mb /bsd: cpu7: 1 wakeup events > Apr 11 16:55:37 mb /bsd: cpu4: 1 wakeup events > Apr 11 16:55:37 mb /bsd: cpu5: 1 wakeup events > Apr 11 16:55:37 mb /bsd: cpu6: 1 wakeup events > Apr 11 16:55:37 mb /bsd: cpu2: 1 wakeup events > Apr 11 16:55:37 mb /bsd: cp > Apr 11 16:55:37 mb /bsd: u3: 1 wakeup events > Apr 11 16:55:37 mb /bsd: cpu1: 1 wakeup events > Apr 11 16:55:37 mb root: running /etc/apm/resume > Apr 11 16:55:43 mb apmd: system resumed from sleep > Apr 11 16:55:43 mb apmd: battery status: high. external power status: not > connected. estimated battery life 99% (779 minutes life time estimate) > > (Also notice the strange linebreak of cp|u2 and cp|u3 > is that where a buffer got filled up?) > > I have no idea whether the above is related to this: > > > > o Suspend/Resume improvements > > > - Extended arm64 suspend/resume to include support for parking > > > CPUs in a WFE/WFI loop. > > > - Put CPUs in the lowest P-state before the final suspend step, > > > needed for systems where we park CPUs in a low-power idle > > > state ourselves. > > At any rate, thank you for the continued arm64 support! > > Jan > > > > > OpenBSD 7.3-current (GENERIC.MP) #2083: Fri Apr 7 20:35:04 MDT 2023 > dera...@arm64.openbsd.org:/usr/src/sys/arch/arm64/compile/GENERIC.MP > real mem = 7916756992 (7550MB) > avail mem = 7553122304 (7203MB) > random: good seed from bootblocks > mainbus0 at root: Apple MacBook Air (M1, 2020) > cpu0 at mainbus0 mpidr 0: Apple Icestorm r1p1 > cpu0: 128KB 64b/line 8-way L1 VIPT I-cache, 64KB 64b/line 8-way L1 D-cache > cpu0: 4096KB 128b/line 16-way L2 cache > cpu0: > TLBIOS+IRANGE,TS+AXFLAG,FHM,DP,SHA3,RDM,Atomic,CRC32,SHA2+SHA512,SHA1,AES+PMULL,SPECRES,SB,FRINTTS,GPI,LRCPC+LDAPUR,FCMA,JSCVT,API+PAC,DPB,SpecSEI,PAN+ATS1E1,LO,HPDS,CSV3,CSV2,DIT,SBSS+MSR > cpu1 at mainbus0 mpidr 1: Apple Icestorm r1p1 > cpu1: 128KB 64b/line 8-way L1 VIPT I-cache, 64KB 64b/line 8-way L1 D-cache > cpu1: 4096KB 128b/line 16-way L2 cache > cpu1: > TLBIOS+IRANGE,TS+AXFLAG,FHM,DP,SHA3,RDM,Atomic,CRC32,SHA2+SHA512,SHA1,AES+PMULL,SPECRES,SB,FRINTTS,GPI,LRCPC+LDAPUR,FCMA,JSCVT,API+PAC,DPB,SpecSEI,PAN+ATS1E1,LO,HPDS,CSV3,CSV2,DIT,SBSS+MSR > cpu2 at mainbus0 mpidr 2: Apple Icestorm r1p1 > cpu2: 128KB 64b/line 8-way L1 VIPT I-cache, 64KB 64b/line 8-way L1 D-cache > cpu2: 4096KB 128b/line 16-way L2 cache > cpu2: > TLBIOS+IRANGE,TS+AXFLAG,FHM,DP,SHA3,RDM,Atomic,CRC32,SHA2+SHA512,SHA1,AES+PMULL,SPECRES,SB,FRINTTS,GPI,LRCPC+LDAPUR,FCMA,JSCVT,API+PAC,DPB,SpecSEI,PAN+ATS1E1,LO,HPDS,CSV3,CSV2,DIT,SBSS+MSR > cpu3 at mainbus0 mpidr 3: Apple Icestorm r1p1 > cpu3: 128KB 64b/line 8-way L1 VIPT I-cache, 64KB 64b/line 8-way L1 D-cache > cpu3: 4096KB 128b/line 16-way L2 cache > cpu3: > TLBIOS+IRANGE,TS+AXFLAG,FHM,DP,SHA3,RDM,Atomic,CRC32,SHA2+SHA512,SHA1,AES+PMULL,SPECRES,SB,FRINTTS,GPI,LRCPC+LDAPUR,FCMA,JSCVT,API+PAC,DPB,SpecSEI,PAN+ATS1E1,LO,HPDS,CSV3,CSV2,DIT,SBSS+MSR > cpu4 at mainbus0 mpidr 10100: Apple Firestorm r1p1 > cpu4: 192KB 64b/line 6-way L1 VIPT I-cache, 128KB 64b/line 8-way L1 D-cache > cpu4: 12288KB 128b/line 12-way L2 cache > cpu4: > TLBIOS+IRANGE,TS+AXFLAG,FHM,DP,SHA3,RDM,Atomic,CRC32,SHA2+SHA512,SHA1,AES+PMULL,SPECRES,SB,FRINTTS,GPI,LRCPC+LDAPUR,FCMA,JSCVT,API+PAC,DPB,SpecSEI,PAN+ATS1E1,LO,HPDS,CSV3,CSV2,DIT,SBSS+MSR > cpu5 at mainbus0 mpidr 10101: Apple Firestorm r1p1 > cpu5: 192KB 64b/line 6-way L1 VIPT I-cache, 128KB 64b/line 8-way L1 D-cache > cpu5: 12288KB 128b/line 12-way L2 cache > cpu5: > TLBIOS+IRANGE,TS+AXFLAG,FHM,DP,SHA3,RDM,Atomic,CRC32,SHA2+SHA512,SHA1,AES+PMULL,SPECRES,SB,FRINTTS,GPI,LRCPC+LDAPUR,FCMA,JSCVT,API+PAC,DPB,SpecSEI,PAN+ATS1E1,LO,HPDS,CSV3,CSV2,DIT,SBSS+MSR > cpu6 at mainbus0 mpidr 10102: Apple Firestorm r1p1 > cpu6: 192KB 64b/line 6-way L1 VIPT I-cache, 128KB 64b/line 8-way L1 D-cache > cpu6: 12288KB 128b/line 12-way L2 cache > cpu6: > TLBIOS+IRANGE,TS+AXFLAG,FHM,DP,SHA3,RDM,Atomic,CRC32,SHA2+SHA512,SHA1,AES+PMULL,SPECRES,SB,FRINTTS,GPI,LRCPC+LDAPUR,FCMA,JSCVT,API+PAC,DPB,SpecSEI,PAN+ATS1E1,LO,HPDS,CSV3,CSV2,DIT,SBSS+MSR > cpu7 at mainbus0 mpidr 10103: Apple Firestorm r1p1 > cpu7: 192KB 64b/line 6-way L1 VIPT I-cache, 128KB 64b/line 8-way L1 D-cache > cpu7: 12288KB 128b/line 12-way L2 cache > cpu7: > TLBIOS+IRANGE,TS+AXFLAG,FHM,DP,SHA3,RDM,Atomic,CRC32,SHA2+SHA512,SHA1,AES+PMULL,SPECRES,SB,FRINTTS,GPI,LRCPC+LDAPUR,FCMA,JSCVT,API+PAC,DPB,SpecSEI,PAN+ATS1E1,LO,HPDS,CSV3,CSV2,DIT,SBSS+MSR > efi0 at mainbus0: UEFI 2.9 > efi0: Das U-Boot rev 0x20220700 > apm0 at mainbus0 > "opp-table-0" at mainbus0 not configured > "opp-table-1" at mainbus0 not configured > agtimer0 at mainbus0: 24000 kHz > "pmu-e" at mainbus0 not configured > "pmu-p" at mainbus0 not configured > "clock-ref" at mainbus0 not configured > "clock-120m" at mainbus0 not configured > simplebus0 at mainbus0: "soc" > aplintc0 at simplebus0 nirq 896 ndie 1 > aplpmgr0 at simplebus0 > aplpinctrl0 at simplebus0 > aplpinctrl1 at simplebus0 > aplpmgr1 at simplebus0 > apldog0 at simplebus0 > aplmbox0 at simplebus0 > aplpinctrl2 at simplebus0 > aplpinctrl3 at simplebus0 > aplmbox1 at simplebus0 > apldart0 at simplebus0: bypass > apldart1 at simplebus0: bypass > apldart2 at simplebus0: bypass > apldart3 at simplebus0: bypass > apldart4 at simplebus0 > apldart5 at simplebus0: bypass > aplcpu0 at simplebus0 > apliic0 at simplebus0 > iic0 at apliic0 > tipd0 at iic0 addr 0x38 > tipd1 at iic0 addr 0x3f > apliic1 at simplebus0 > iic1 at apliic1 > tascodec0 at iic1 addr 0x31 > apliic2 at simplebus0 > iic2 at apliic2 > tascodec1 at iic2 addr 0x34 > "cirrus,cs42l83" at iic2 addr 0x48 not configured > aplspi0 at simplebus0 > aplhidev0 at aplspi0 > aplkbd0 at aplhidev0: 8 variable keys, 6 key codes > wskbd0 at aplkbd0: console keyboard > aplms0 at aplhidev0 > wsmouse0 at aplms0 mux 0 > exuart0 at simplebus0 > exuart1 at simplebus0 > aplspmi0 at simplebus0 > aplpmu0 at aplspmi0 sid 0xf > aplsmc0 at simplebus0 > aplsart0 at simplebus0 > aplns0 at simplebus0 > nvme0 at aplns0: NVMe 1.1 > nvme0: APPLE SSD AP0256Q, firmware 874.100., serial 0ba016e96434ee18 > scsibus0 at nvme0: 2 targets, initiator 0 > sd0 at scsibus0 targ 1 lun 0: <NVMe, APPLE SSD AP0256, 874.> > sd0: 239372MB, 4096 bytes/sector, 61279344 sectors > xhci0 at simplebus0, xHCI 1.10 > usb0 at xhci0: USB revision 3.0 > uhub0 at usb0 configuration 1 interface 0 "Generic xHCI root hub" rev > 3.00/1.00 addr 1 > xhci1 at simplebus0, xHCI 1.10 > usb1 at xhci1: USB revision 3.0 > uhub1 at usb1 configuration 1 interface 0 "Generic xHCI root hub" rev > 3.00/1.00 addr 1 > aplpcie0 at simplebus0 > pci0 at aplpcie0 > ppb0 at pci0 dev 0 function 0 "Apple M1 PCIe" rev 0x01 > pci1 at ppb0 bus 1 > bwfm0 at pci1 dev 0 function 0 "Broadcom BCM4378" rev 0x03: msi > vendor "Broadcom", unknown product 0x5f69 (class network subclass > miscellaneous, rev 0x03) at pci1 dev 0 function 1 not configured > "clock-ref" at simplebus0 not configured > aplnco0 at simplebus0 > apldma0 at simplebus0 > aplmca0 at simplebus0 > gpiobl0 at mainbus0 > aplaudio0 at mainbus0 > audio0 at aplaudio0 > simplefb0 at mainbus0: 2560x1600, 32bpp > wsdisplay0 at simplefb0 mux 1: console (std, vt100 emulation), using wskbd0 > wsdisplay0: screen 1-5 added (std, vt100 emulation) > vscsi0 at root > scsibus1 at vscsi0: 256 targets > softraid0 at root > scsibus2 at softraid0: 256 targets > root on sd0a (0f72c500fa6fee6b.a) swap on sd0b dump on sd0b > WARNING: clock gained 2 days > WARNING: CHECK AND RESET THE DATE! > bwfm0: address d4:57:63:c6:35:69 >