> Date: Thu, 10 Sep 2020 14:07:39 +0200
> From: Marcus Glocker <[email protected]>
> Cc: [email protected], [email protected]
> Content-Type: text/plain; charset=US-ASCII
>
> On Mon, 7 Sep 2020 21:39:55 +0200
> Marcus Glocker <[email protected]> wrote:
>
> > On Mon, 7 Sep 2020 20:50:20 +0200 (CEST)
> > Mark Kettenis <[email protected]> wrote:
> >
> > > > Date: Mon, 7 Sep 2020 19:59:13 +0200
> > > > From: Marcus Glocker <[email protected]>
> > > >
> > > > On Mon, 7 Sep 2020 19:25:00 +0200 (CEST)
> > > > Mark Kettenis <[email protected]> wrote:
> > > >
> > > > > > Date: Mon, 7 Sep 2020 12:02:15 -0500
> > > > > > From: joshua stein <[email protected]>
> > > > > >
> > > > > > On Mon, 07 Sep 2020 at 06:58:01 +0200, Marcus Glocker wrote:
> > > > > >
> > > > > > > This is an initial driver for the Apple System Management
> > > > > > > Controller found in Intel based Apple computers.
> > > > > > >
> > > > > > > The driver is currently missing support for the Sudden
> > > > > > > Motion Sensor (SMS), light sensor, and keyboard backlight
> > > > > > > since I don't have that hardware available to develop on.
> > > > > > >
> > > > > > > On my iMac11,2 it can deliver fan and temperatures values:
> > > > > > >
> > > > > > > hw.sensors.acpiapplesmc0.temp0=24.00 degC (Airflow
> > > > > > > 1) hw.sensors.acpiapplesmc0.temp1=33.00 degC (CPU Core 0)
> > > > > > > hw.sensors.acpiapplesmc0.temp2=36.00 degC (CPU
> > > > > > > Heatsink) hw.sensors.acpiapplesmc0.temp3=40.00 degC (CPU
> > > > > > > Core 1) hw.sensors.acpiapplesmc0.temp4=47.00 degC (GPU)
> > > > > > > hw.sensors.acpiapplesmc0.temp5=45.00 degC (GPU
> > > > > > > Heatsink) hw.sensors.acpiapplesmc0.temp6=59.00 degC (PCH)
> > > > > > > hw.sensors.acpiapplesmc0.temp7=42.00 degC (Memory)
> > > > > > > hw.sensors.acpiapplesmc0.temp8=45.00 degC (Mainboard
> > > > > > > Proximity) hw.sensors.acpiapplesmc0.fan0=998 RPM
> > > > > > > hw.sensors.acpiapplesmc0.fan1=1132 RPM
> > > > > > > hw.sensors.acpiapplesmc0.fan2=1198 RPM
> > > > > > >
> > > > > > > Feedback, testers, OKs?
> > > > > >
> > > > > > Are there machines where asmc(4) will also attach?
> > > > >
> > > > > Good point. My old Macmini1,1 has:
> > > > >
> > > > > ...
> > > > > "APP0001" at acpi0 not configured
> > > > > ...
> > > > > asmc0 at isa0 port 0x300/32: rev 1.3f503, 137 keys
> > > > > ...
> > > > >
> > > > > So yes, I'd say there are.
> > > > >
> > > > >
> > > > > Having an acpi attachment is probably better than doing isa
> > > > > probes. But we probably should consolidate the drivers.
> > > >
> > > > D'oh! I wasn't even aware that we already have an asmc(4) driver
> > > > in our tree. Shame on me :-|
> > > >
> > > > Glancing over asmc(4) I don't think there is anything more that my
> > > > driver would support other than attaching over acpi(4). Would it
> > > > be possible to only write an acpi glue which attaches to asmc(4)?
> > > >
> > >
> > > I think we'd just want to turn it into an acpi(4) driver. Or maybe
> > > dump it in favour of your driver.
> >
> > Ok. I'll give it a try to convert asmc(4) in to an acpi(4) driver and
> > see how it works here.
>
> I can make asmc(4) attach through acpi(4) on my machine, but then it
> crashes with uvm fault because it doesn't seem to recognize my machine
> type, and tries to access a NULL pointer on 'sc_prod'.
>
> My approach was more to not relay on specific machine types, but just
> check what sensors are supported by the SMC and try to use them. I
> lack a bit motivation to add specific models to asmc(4) to be honest.
>
> One question just out of curiosity; When you use acpiapplesmc(4) on
> your iMac, does it support any sensors there, or even does it work at
> all?
So this is what I get with asmc(4):
hw.sensors.cpu0.temp0=54.00 degC
hw.sensors.asmc0.temp0=60.00 degC (TC0D cpu0 die core)
hw.sensors.asmc0.temp1=52.00 degC (TC0H cpu0 heatsink)
hw.sensors.asmc0.temp2=54.00 degC (TC0P cpu0 proximity)
hw.sensors.asmc0.temp3=49.00 degC (TN0P northbridge proximity)
hw.sensors.asmc0.temp4=50.00 degC (TN1P northbridge 2)
hw.sensors.asmc0.fan0=1502 RPM (Master, left upper front)
And this is what I see with acpiapplesmc(4):
hw.sensors.acpiapplesmc0.temp0=52.00 degC (Airflow 1)
hw.sensors.acpiapplesmc0.temp1=55.00 degC (CPU Heatsink)
hw.sensors.acpiapplesmc0.fan0=2105 RPM
hw.sensors.cpu0.temp0=59.00 degC
(looks like the machine is a bit hotter after building a kernel)
So acpiapplesmc(4) works, but gives me less sensors. I suppose the
missing sensors could be easily added to the acpiapplesmc(4).
I like that your driver doesn't have a list of models in it and that
it uses ACPI to attach. I would rename it to asmc(4) though, since
acpiapplesmc(4) is too long and this isn't really an "ACPI" device.
And here is the dmesg:
OpenBSD 6.8-beta (GENERIC.MP) #0: Thu Sep 10 19:30:16 CEST 2020
[email protected]:/home/kettenis/src/sys/arch/i386/compile/GENERIC.MP
real mem = 503640064 (480MB)
avail mem = 478056448 (455MB)
random: good seed from bootblocks
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: date 07/29/05, SMBIOS rev. 2.4 @ 0xe73f0 (39 entries)
bios0: vendor Apple Computer, Inc. version "MM11.88Z.0055.B03.0604071521" date
04/07/06
bios0: Apple Computer, Inc. Macmini1,1
acpi0 at bios0: ACPI 3.0
acpi0: sleep states S0 S3 S4 S5
acpi0: tables DSDT FACP HPET APIC MCFG ASF! SBST ECDT SSDT SSDT SSDT
acpi0: wakeup devices PXS1(S4) PXS2(S4) USB1(S3) USB2(S3) USB3(S3) USB4(S3)
USB7(S3)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpihpet0 at acpi0: 14318179 Hz
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Genuine Intel(R) CPU T2300 @ 1.66GHz ("GenuineIntel" 686-class) 1.67 GHz,
06-0e-08
cpu0:
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,MWAIT,VMX,EST,TM2,xTPR,PDCM,NXE,PERF,SENSOR,MELTDOWN
mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
cpu0: apic clock running at 166MHz
cpu0: mwait min=64, max=64, C-substates=0.2.2.2.2, IBE
cpu1 at mainbus0: apid 1 (application processor)
cpu1: Genuine Intel(R) CPU T2300 @ 1.66GHz ("GenuineIntel" 686-class) 1.67 GHz,
06-0e-08
cpu1:
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,MWAIT,VMX,EST,TM2,xTPR,PDCM,NXE,PERF,SENSOR,MELTDOWN
ioapic0 at mainbus0: apid 1 pa 0xfec00000, version 20, 24 pins, remapped
acpimcfg0 at acpi0
acpimcfg0: addr 0xe0000000, bus 0-255
acpiec0 at acpi0
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 1 (RP01)
acpiprt2 at acpi0: bus 2 (RP02)
acpiprt3 at acpi0: bus 3 (PCIB)
acpibtn0 at acpi0: PWRB
"PNP0A08" at acpi0 not configured
acpiapplesmc0 at acpi0: SMC_ (smc-napa) addr 0x300/0x20
0: key=#KEY, type_len=4, type=ui32, type_flags=0x80
1: key=+LKS, type_len=1, type=flag, type_flags=0x90
2: key=ACID, type_len=8, type=ch8*, type_flags=0x90
3: key=ALSC, type_len=16, type={alc, type_flags=0x80
4: key=BATP, type_len=1, type=flag, type_flags=0x80
5: key=BNum, type_len=1, type=ui8 , type_flags=0x80
6: key=BRSC, type_len=2, type=ui16, type_flags=0x80
7: key=CLK!, type_len=1, type=ui8 , type_flags=0xc0
8: key=CLKC, type_len=10, type={clc, type_flags=0x80
9: key=CLKH, type_len=8, type={clh, type_flags=0xc0
10: key=CLKS, type_len=2, type=fp1f, type_flags=0xc0
11: key=CLKT, type_len=4, type=ui32, type_flags=0xc0
12: key=Dlpc, type_len=1, type=flag, type_flags=0x0
13: key=EPCF, type_len=1, type=flag, type_flags=0x90
14: key=EPCI, type_len=4, type=ui32, type_flags=0x80
15: key=EPCV, type_len=2, type=ui16, type_flags=0x80
16: key=EPMA, type_len=4, type=ch8*, type_flags=0x90
17: key=EPMI, type_len=1, type=ui8 , type_flags=0xc0
18: key=EPUF, type_len=1, type=flag, type_flags=0x90
19: key=EPUI, type_len=4, type=ui32, type_flags=0x80
20: key=EPUV, type_len=2, type=ui16, type_flags=0x80
21: key=EVCT, type_len=2, type=ui16, type_flags=0x90
22: key=EVMD, type_len=4, type=ui32, type_flags=0x50
23: key=EVRD, type_len=32, type=ch8*, type_flags=0x90
24: key=F0Ac, type_len=2, type=fpe2, type_flags=0xc0
25: key=F0ID, type_len=16, type={fds, type_flags=0x80
26: key=F0Mn, type_len=2, type=fpe2, type_flags=0xc0
27: key=F0Mx, type_len=2, type=fpe2, type_flags=0xc0
28: key=F0Sf, type_len=2, type=fpe2, type_flags=0xc0
29: key=F0Tg, type_len=2, type=fpe2, type_flags=0xc0
30: key=FNum, type_len=1, type=ui8 , type_flags=0x80
31: key=FS! , type_len=2, type=ui16, type_flags=0xc0
32: key=HDBS, type_len=1, type=ui8, type_flags=0x80
33: key=HDST, type_len=4, type=ui16, type_flags=0x80
34: key=HDSW, type_len=4, type=ui32, type_flags=0x80
35: key=IC0C, type_len=2, type=fp6a, type_flags=0xc0
36: key=IC0c, type_len=2, type=ui16, type_flags=0xc0
37: key=IM0R, type_len=2, type=fp6a, type_flags=0xc0
38: key=IM0r, type_len=2, type=ui16, type_flags=0xc0
39: key=IN0R, type_len=2, type=fp6a, type_flags=0xc0
40: key=IN0r, type_len=2, type=ui16, type_flags=0xc0
41: key=LAcN, type_len=1, type=ui8 , type_flags=0x10
42: key=LAtN, type_len=2, type=ui16, type_flags=0x10
43: key=LS! , type_len=1, type=ui8 , type_flags=0xc0
44: key=LSCF, type_len=10, type={lsc, type_flags=0x80
45: key=LSDD, type_len=8, type={lsd, type_flags=0x80
46: key=LSDU, type_len=8, type={lsd, type_flags=0x80
47: key=LSFD, type_len=6, type={lsf, type_flags=0x80
48: key=LSFU, type_len=6, type={lsf, type_flags=0x80
49: key=LSLB, type_len=2, type={pwm, type_flags=0x80
50: key=LSLF, type_len=2, type={pwm, type_flags=0x80
51: key=LSLN, type_len=2, type={pwm, type_flags=0x80
52: key=LSOF, type_len=1, type=flag, type_flags=0x80
53: key=LSOO, type_len=1, type=flag, type_flags=0x50
54: key=LSPV, type_len=2, type={pwm, type_flags=0x80
55: key=LSRB, type_len=1, type=flag, type_flags=0x50
56: key=LSSB, type_len=2, type={lso, type_flags=0x50
57: key=LSSS, type_len=2, type={lso, type_flags=0x50
58: key=LSUP, type_len=1, type=ui8 , type_flags=0x50
59: key=MACA, type_len=4, type=ui32, type_flags=0xc0
60: key=MACM, type_len=1, type=flag, type_flags=0xc0
61: key=MACR, type_len=32, type=ch8*, type_flags=0x90
62: key=MOCF, type_len=2, type=ui16, type_flags=0xc0
63: key=MSAL, type_len=1, type=si8 , type_flags=0x0
64: key=MSDW, type_len=1, type=flag, type_flags=0x50
65: key=MSLD, type_len=1, type=ui8 , type_flags=0x80
66: key=MSPS, type_len=1, type={msp, type_flags=0x80
67: key=MSSD, type_len=1, type=si8 , type_flags=0xc0
68: key=MSSS, type_len=1, type={mss, type_flags=0x80
69: key=MSTM, type_len=1, type=ui8 , type_flags=0x90
70: key=MSWR, type_len=1, type=ui8 , type_flags=0x50
71: key=NTOK, type_len=1, type=ui8 , type_flags=0x50
72: key=ONMI, type_len=1, type=ui8 , type_flags=0xc0
73: key=OSK0, type_len=32, type=ch8*, type_flags=0x90
74: key=OSK1, type_len=32, type=ch8*, type_flags=0x90
75: key=PC0C, type_len=2, type=fp88, type_flags=0xc0
76: key=PM0R, type_len=2, type=fp88, type_flags=0xc0
77: key=PN0R, type_len=2, type=fp88, type_flags=0xc0
78: key=RBr , type_len=8, type=ch8*, type_flags=0x84
79: key=REV , type_len=6, type={rev, type_flags=0x80
80: key=RMde, type_len=1, type=byte, type_flags=0x80
81: key=RPlt, type_len=8, type=ch8*, type_flags=0x80
82: key=RSvn, type_len=4, type=ui32, type_flags=0x80
83: key=RVBF, type_len=6, type={rev, type_flags=0x90
84: key=RVUF, type_len=6, type={rev, type_flags=0x90
85: key=SAS!, type_len=4, type=ui32, type_flags=0x0
86: key=SCTg, type_len=2, type=sp78, type_flags=0x0
87: key=SCTh, type_len=2, type=ui16, type_flags=0x0
88: key=SCTi, type_len=2, type=ui8, type_flags=0x0
89: key=SCTj, type_len=2, type=ui8, type_flags=0x0
90: key=SDRd, type_len=2, type=ui16, type_flags=0x50
91: key=SIS!, type_len=2, type=ui16, type_flags=0x0
92: key=SPHC, type_len=2, type=ui16, type_flags=0x0
93: key=SPHT, type_len=1, type=ui8 , type_flags=0x80
94: key=SPS!, type_len=2, type=ui16, type_flags=0x0
95: key=TA0P, type_len=2, type=sp78, type_flags=0xc0
96: key=TC0D, type_len=2, type=sp78, type_flags=0xc0
97: key=TC0H, type_len=2, type=sp78, type_flags=0xc0
98: key=TC0P, type_len=2, type=sp78, type_flags=0xc0
99: key=TC1P, type_len=2, type=sp78, type_flags=0xc0
100: key=TN0P, type_len=2, type=sp78, type_flags=0xc0
101: key=TN1P, type_len=2, type=sp78, type_flags=0xc0
102: key=VC0C, type_len=2, type=fp2e, type_flags=0xc0
103: key=VC0c, type_len=2, type=ui16, type_flags=0xc0
104: key=iC0C, type_len=2, type={sds, type_flags=0xc0
105: key=iC0c, type_len=2, type={sds, type_flags=0xc0
106: key=iM0R, type_len=2, type={sds, type_flags=0xc0
107: key=iM0r, type_len=2, type={sds, type_flags=0xc0
108: key=iN0R, type_len=2, type={sds, type_flags=0xc0
109: key=iN0r, type_len=2, type={sds, type_flags=0xc0
110: key=pC0C, type_len=2, type={sds, type_flags=0xc0
111: key=pM0R, type_len=2, type={sds, type_flags=0xc0
112: key=pN0R, type_len=2, type={sds, type_flags=0xc0
113: key=tA0P, type_len=2, type={sds, type_flags=0xc0
114: key=tC0D, type_len=2, type={sds, type_flags=0xc0
115: key=tC0H, type_len=2, type={sds, type_flags=0xc0
116: key=tC0P, type_len=2, type={sds, type_flags=0xc0
117: key=tC1P, type_len=2, type={sds, type_flags=0xc0
118: key=tN0P, type_len=2, type={sds, type_flags=0xc0
119: key=tN1P, type_len=2, type={sds, type_flags=0xc0
120: key=vC0C, type_len=2, type={sds, type_flags=0xc0
121: key=vC0c, type_len=2, type={sds, type_flags=0xc0
122: key={clc, type_len=3, type=, type_flags=0x84
123: key={clf, type_len=3, type=, type_flags=0x84
124: key={clh, type_len=3, type=, type_flags=0x84
125: key={fds, type_len=3, type=, type_flags=0x84
126: key={lsc, type_len=3, type=, type_flags=0x84
127: key={lsd, type_len=3, type=, type_flags=0x84
128: key={lsf, type_len=3, type=, type_flags=0x84
129: key={lsm, type_len=3, type=, type_flags=0x84
130: key={lso, type_len=3, type=, type_flags=0x84
131: key={lss, type_len=3, type=, type_flags=0x84
132: key={msp, type_len=3, type=, type_flags=0x84
133: key={mss, type_len=3, type=, type_flags=0x84
134: key={pwm, type_len=3, type=, type_flags=0x84
135: key={rev, type_len=3, type=, type_flags=0x84
136: key={sds, type_len=3, type=, type_flags=0x84
# keys = 137
# fans = 1
# temp total = 7
# temp use = 2
"IFX0101" at acpi0 not configured
acpicmos0 at acpi0
acpicpu0 at acpi0: !C2(500@1 mwait@0x10), C1(1000@1 mwait), PSS
acpicpu1 at acpi0: !C2(500@1 mwait@0x10), C1(1000@1 mwait), PSS
acpivideo0 at acpi0: GFX0
bios0: ROM list: 0xc0000/0xe600!
cpu0: Enhanced SpeedStep 1667 MHz: speeds: 1667, 1500, 1333, 1000 MHz
memory map conflict 0xe00f8000/0x1000
memory map conflict 0xfed1c000/0x4000
memory map conflict 0xfffb0000/0x30000
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 "Intel 82945GM Host" rev 0x03
inteldrm0 at pci0 dev 2 function 0 "Intel 82945GM Video" rev 0x03
drm0 at inteldrm0
intagp0 at inteldrm0
agp0 at intagp0: aperture at 0x80000000, size 0x10000000
inteldrm0: apic 1 int 16, I945GM, gen 3
vendor "Intel", unknown product 0x27a3 (class DASP subclass Time and Frequency,
rev 0x03) at pci0 dev 7 function 0 not configured
azalia0 at pci0 dev 27 function 0 "Intel 82801GB HD Audio" rev 0x02: msi
azalia0: codecs: Sigmatel STAC9220/1
audio0 at azalia0
ppb0 at pci0 dev 28 function 0 "Intel 82801GB PCIE" rev 0x02: apic 1 int 17
pci1 at ppb0 bus 1
mskc0 at pci1 dev 0 function 0 "Marvell Yukon 88E8053" rev 0x22, Yukon-2 EC
rev. A3 (0x2): apic 1 int 16
msk0 at mskc0 port A: address 00:16:cb:a2:87:67
eephy0 at msk0 phy 0: 88E1111 Gigabit PHY, rev. 2
ppb1 at pci0 dev 28 function 1 "Intel 82801GB PCIE" rev 0x02: apic 1 int 16
pci2 at ppb1 bus 2
ath0 at pci2 dev 0 function 0 "Atheros AR5424" rev 0x01: apic 1 int 17
ath0: AR5424 10.3 phy 6.1 rf 10.2 eeprom 5.3, WORAW, address 00:14:51:ef:73:fb
uhci0 at pci0 dev 29 function 0 "Intel 82801GB USB" rev 0x02: apic 1 int 21
uhci1 at pci0 dev 29 function 1 "Intel 82801GB USB" rev 0x02: apic 1 int 19
uhci2 at pci0 dev 29 function 2 "Intel 82801GB USB" rev 0x02: apic 1 int 18
uhci3 at pci0 dev 29 function 3 "Intel 82801GB USB" rev 0x02: apic 1 int 16
ehci0 at pci0 dev 29 function 7 "Intel 82801GB USB" rev 0x02: apic 1 int 21
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00
addr 1
ppb2 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0xe2
pci3 at ppb2 bus 3
"AT&T/Lucent FW322 1394" rev 0x61 at pci3 dev 3 function 0 not configured
ichpcib0 at pci0 dev 31 function 0 "Intel 82801GBM LPC" rev 0x02: PM disabled
pciide0 at pci0 dev 31 function 1 "Intel 82801GB IDE" rev 0x02: DMA, channel 0
configured to compatibility, channel 1 configured to compatibility
atapiscsi0 at pciide0 channel 0 drive 0
scsibus1 at atapiscsi0: 2 targets
cd0 at scsibus1 targ 0 lun 0: <MATSHITA, DVD-R UJ-846, FM3J> removable
cd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 4
pciide0: channel 1 disabled (no drives)
pciide1 at pci0 dev 31 function 2 "Intel 82801GBM SATA" rev 0x02: DMA, channel
0 configured to native-PCI, channel 1 configured to native-PCI
pciide1: using apic 1 int 19 for native-PCI interrupt
wd0 at pciide1 channel 0 drive 1: <ST98823AS>
wd0: 16-sector PIO, LBA48, 76319MB, 156301488 sectors
wd0(pciide1:0:1): using PIO mode 4, Ultra-DMA mode 6
ichiic0 at pci0 dev 31 function 3 "Intel 82801GB SMBus" rev 0x02: apic 1 int 19
iic0 at ichiic0
spdmem0 at iic0 addr 0x50: 256MB DDR2 SDRAM non-parity PC2-5300CL5 SO-DIMM
spdmem1 at iic0 addr 0x52: 256MB DDR2 SDRAM non-parity PC2-5300CL5 SO-DIMM
usb1 at uhci0: USB revision 1.0
uhub1 at usb1 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00
addr 1
usb2 at uhci1: USB revision 1.0
uhub2 at usb2 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00
addr 1
usb3 at uhci2: USB revision 1.0
uhub3 at usb3 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00
addr 1
usb4 at uhci3: USB revision 1.0
uhub4 at usb4 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00
addr 1
isa0 at ichpcib0
isadma0 at isa0
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
uhidev0 at uhub3 port 2 configuration 1 interface 0 "Composite USB PS2
Converter USB to PS2 Adaptor v1.12" rev 1.10/0.01 addr 2
uhidev0: iclass 3/1
ukbd0 at uhidev0: 8 variable keys, 6 key codes
wskbd0 at ukbd0: console keyboard
uhidev1 at uhub3 port 2 configuration 1 interface 1 "Composite USB PS2
Converter USB to PS2 Adaptor v1.12" rev 1.10/0.01 addr 2
uhidev1: iclass 3/1, 3 report ids
ums0 at uhidev1 reportid 1: 3 buttons, Z dir
wsmouse0 at ums0 mux 0
uhid0 at uhidev1 reportid 2: input=1, output=0, feature=0
uhid1 at uhidev1 reportid 3: input=2, output=0, feature=0
uhidev2 at uhub4 port 1 configuration 1 interface 0 "Apple Computer HID-proxy"
rev 2.00/19.65 addr 2
uhidev2: iclass 3/1
ukbd1 at uhidev2: 8 variable keys, 6 key codes
wskbd1 at ukbd1 mux 1
uhidev3 at uhub4 port 1 configuration 1 interface 1 "Apple Computer HID-proxy"
rev 2.00/19.65 addr 2
uhidev3: iclass 3/1
ums1 at uhidev3: 5 buttons
wsmouse1 at ums1 mux 0
uhidev4 at uhub4 port 2 configuration 1 interface 0 "Apple Computer, Inc. IR
Receiver" rev 2.00/1.10 addr 3
uhidev4: iclass 3/0, 38 report ids
uhid2 at uhidev4 reportid 36: input=4, output=0, feature=0
uhid3 at uhidev4 reportid 37: input=4, output=0, feature=0
uhid4 at uhidev4 reportid 38: input=4, output=0, feature=0
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
root on wd0a (5c900252848561e9.a) swap on wd0b dump on wd0b
inteldrm0: 1920x1080, 32bpp
wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation), using wskbd0
wskbd1: connecting to wsdisplay0
wsdisplay0: screen 1-5 added (std, vt100 emulation)