> From: James Hastings <mooset...@gmail.com>
> Date: Tue, 3 Nov 2020 22:58:04 -0500 (EST)
> 
> On 10/14/20, Mark Kettenis <mark.kette...@xs4all.nl> wrote:
> >> From: James Hastings <mooset...@gmail.com>
> >> Date: Sun, 11 Oct 2020 03:49:11 -0400 (EDT)
> >> 
> >> On Thu, 08 Oct 2020 20:29:38 +0000 Mark Kettenis wrote:
> >> > Diff below adds a driver for the GPIO controller found on the Intel
> >> > 400 Series PCH as found on (for example) the Lenovo X1 gen 8 laptop.
> >> > Since I don't have such hardware, I'd appreciate some tests on laptops
> >> > that current show:
> >> > 
> >> > "INT34BB" at acpi0 not configured
> >> > 
> >> 
> >> Thanks for the driver Mark! Compiles fine here but panics like this:
> >> ihidev0 at iic0 addr 0x2c gpio 291panic: kernel diagnostic assertion "pin
> >> >= 0 && pin < sc->sc_npins" failed: file
> >> "/usr/src/sys/dev/acpi/pchgpio.c", line 335
> >> 
> >> Let me know any way I can help.
> > 
> > Can you figure out what pin number it is trying to use?
> > 
> > Thanks,
> > 
> > Mark
> > 
> > P.S. Feel free to finish the driver yourself if you have time.  This
> >      sort of thing is way easier if you have the hardware.  The
> >      hardware itself should be very similar to aplgpio(4).  It's just
> >      that the registers moved around a bit and there is a single ACPI
> >      device for all the pin "communities" instead of the model of
> >      separate ACPI devices for each community that aplgpio(4) uses.
> >
> 
> Election day surprise! Touchpad now works on my 400 Series laptop INT34BB.
> 
> Please test on Sunrisepoint/100 Series INT344B as I do not have that hardware.
> 
> The Cannonlake INT34BB controller is numbered as if there are 32 GPIO pins
> per group. The real pins are packed together and vary from 8 to 25 pins per
> group. In my case, GPIO 291 maps to pin 208, offset 27, bank 1, bar 2 (GPP_E).
> 
> dmesg and vmstat -zi included. Interrupt count is after moving cursor to 
> xterm.

Thanks James,

I'll have a closer look later, but the way forward is probably to
commit this with just the Cannon Lake support and add the other
generations later.  I can make the necessary changes to that later
myself.

> Index: arch/amd64/conf/GENERIC
> ===================================================================
> RCS file: /cvs/src/sys/arch/amd64/conf/GENERIC,v
> retrieving revision 1.494
> diff -u -p -u -r1.494 GENERIC
> --- arch/amd64/conf/GENERIC   27 Oct 2020 02:39:07 -0000      1.494
> +++ arch/amd64/conf/GENERIC   4 Nov 2020 02:03:06 -0000
> @@ -66,6 +66,7 @@ aplgpio*    at acpi?
>  bytgpio*     at acpi?
>  chvgpio*     at acpi?
>  glkgpio*     at acpi?
> +pchgpio*     at acpi?
>  sdhc*                at acpi?
>  acpicbkbd*   at acpi?
>  acpials*     at acpi?
> Index: dev/acpi/files.acpi
> ===================================================================
> RCS file: /cvs/src/sys/dev/acpi/files.acpi,v
> retrieving revision 1.58
> diff -u -p -u -r1.58 files.acpi
> --- dev/acpi/files.acpi       27 Oct 2020 02:39:07 -0000      1.58
> +++ dev/acpi/files.acpi       4 Nov 2020 02:03:07 -0000
> @@ -151,6 +151,11 @@ device   glkgpio
>  attach       glkgpio at acpi
>  file dev/acpi/glkgpio.c              glkgpio
>  
> +# Intel PCH GPIO
> +device       pchgpio
> +attach       pchgpio at acpi
> +file dev/acpi/pchgpio.c              pchgpio
> +
>  # "Intel" Dollar Cove TI PMIC
>  device       tipmic
>  attach       tipmic at i2c
> Index: dev/acpi/pchgpio.c
> ===================================================================
> RCS file: dev/acpi/pchgpio.c
> diff -N dev/acpi/pchgpio.c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ dev/acpi/pchgpio.c        4 Nov 2020 02:03:07 -0000
> @@ -0,0 +1,415 @@
> +/*   $OpenBSD$       */
> +/*
> + * Copyright (c) 2020 Mark Kettenis
> + * Copyright (c) 2020 James Hastings
> + *
> + * Permission to use, copy, modify, and distribute this software for any
> + * purpose with or without fee is hereby granted, provided that the above
> + * copyright notice and this permission notice appear in all copies.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
> + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
> + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
> + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
> + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
> + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
> + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
> + */
> +
> +#include <sys/param.h>
> +#include <sys/malloc.h>
> +#include <sys/systm.h>
> +
> +#include <dev/acpi/acpireg.h>
> +#include <dev/acpi/acpivar.h>
> +#include <dev/acpi/acpidev.h>
> +#include <dev/acpi/amltypes.h>
> +#include <dev/acpi/dsdt.h>
> +
> +#define PCHGPIO_MAXCOM               4
> +
> +#define PCHGPIO_CONF_TXSTATE 0x00000001
> +#define PCHGPIO_CONF_RXSTATE 0x00000002
> +#define PCHGPIO_CONF_RXINV   0x00800000
> +#define PCHGPIO_CONF_RXEV_EDGE       0x02000000
> +#define PCHGPIO_CONF_RXEV_ZERO       0x04000000
> +#define PCHGPIO_CONF_RXEV_MASK       0x06000000
> +
> +#define PCHGPIO_PADBAR               0x00c
> +
> +struct pchgpio_group {
> +     uint8_t         bar;
> +     uint8_t         bank;
> +     uint16_t        base;
> +     uint16_t        limit;
> +     uint16_t        offset;
> +     int16_t         gpiobase;
> +};
> +
> +struct pchgpio_device {
> +     uint16_t        pad_own;
> +     uint16_t        pad_size;
> +     uint16_t        padcfglock;
> +     uint16_t        hostsw_own;
> +     uint16_t        gpi_is;
> +     uint16_t        gpi_ie;
> +     struct pchgpio_group *groups;
> +     int             ngroups;
> +     int             npins;
> +};
> +
> +struct pchgpio_match {
> +     const char      *hid;
> +     struct pchgpio_device *device;
> +};
> +
> +struct pchgpio_intrhand {
> +     int (*ih_func)(void *);
> +     void *ih_arg;
> +};
> +
> +struct pchgpio_softc {
> +     struct device sc_dev;
> +     struct acpi_softc *sc_acpi;
> +     struct aml_node *sc_node;
> +
> +     bus_space_tag_t sc_memt[PCHGPIO_MAXCOM];
> +     bus_space_handle_t sc_memh[PCHGPIO_MAXCOM];
> +     void *sc_ih;
> +     int sc_naddr;
> +
> +     struct pchgpio_device *sc_device;
> +     uint16_t sc_padbar[PCHGPIO_MAXCOM];
> +     int sc_padsize;
> +
> +     int sc_npins;
> +     struct pchgpio_intrhand *sc_pin_ih;
> +
> +     struct acpi_gpio sc_gpio;
> +};
> +
> +int  pchgpio_match(struct device *, void *, void *);
> +void pchgpio_attach(struct device *, struct device *, void *);
> +
> +struct cfattach pchgpio_ca = {
> +     sizeof(struct pchgpio_softc), pchgpio_match, pchgpio_attach
> +};
> +
> +struct cfdriver pchgpio_cd = {
> +     NULL, "pchgpio", DV_DULL
> +};
> +
> +const char *pchgpio_hids[] = {
> +     "INT344B",
> +     "INT34BB",
> +     NULL
> +};
> +
> +struct pchgpio_group spt_lp_groups[] =
> +{
> +     /* Community 0 */
> +     { 0, 0, 0, 23, 0, 0 },          /* GPP_A */
> +     { 0, 1, 24, 47, 24, 24 },       /* GPP_B */
> +
> +     /* Community 1 */
> +     { 1, 0, 48, 71, 0, 48 },        /* GPP_C */
> +     { 1, 1, 72, 95, 24, 72 },       /* GPP_D */
> +     { 1, 2, 96, 119, 48, 96 },      /* GPP_E */
> +
> +     /* Community 3 */
> +     { 2, 0, 120, 143, 0, 120 },     /* GPP_F */
> +     { 2, 1, 144, 151, 24, 144 },    /* GPP_G */
> +};
> +
> +struct pchgpio_device spt_lp_device =
> +{
> +     .pad_own = 0x20,
> +     .pad_size = 8,
> +     .padcfglock = 0x100,
> +     .hostsw_own = 0x0d0,
> +     .gpi_is = 0x100,
> +     .gpi_ie = 0x120,
> +     .groups = spt_lp_groups,
> +     .ngroups = nitems(spt_lp_groups),
> +     .npins = 168,
> +};
> +
> +struct pchgpio_group cnl_lp_groups[] =
> +{
> +     /* Community 0 */
> +     { 0, 0, 0, 24, 0, 0 },          /* GPP_A */
> +     { 0, 1, 25, 50, 25, 32 },       /* GPP_B */
> +     { 0, 2, 51, 58, 51, 64 },       /* GPP_G */
> +
> +     /* Community 1 */
> +     { 1, 0, 68, 92, 0, 96 },        /* GPP_D */
> +     { 1, 1, 93, 116, 24, 128 },     /* GPP_F */
> +     { 1, 2, 117, 140, 48, 160 },    /* GPP_H */
> +
> +     /* Community 4 */
> +     { 2, 0, 181, 204, 0, 256 },     /* GPP_C */
> +     { 2, 1, 205, 228, 24, 288 },    /* GPP_E */
> +};
> +
> +struct pchgpio_device cnl_lp_device =
> +{
> +     .pad_own = 0x20,
> +     .pad_size = 16,
> +     .padcfglock = 0x80,
> +     .hostsw_own = 0xb0,
> +     .gpi_is = 0x100,
> +     .gpi_ie = 0x120,
> +     .groups = cnl_lp_groups,
> +     .ngroups = nitems(cnl_lp_groups),
> +     .npins = 320,
> +};
> +
> +struct pchgpio_match pchgpio_devices[] = {
> +     { "INT344B", &spt_lp_device },
> +     { "INT34BB", &cnl_lp_device },
> +};
> +
> +int  pchgpio_read_pin(void *, int);
> +void pchgpio_write_pin(void *, int, int);
> +void pchgpio_intr_establish(void *, int, int, int (*)(), void *);
> +int  pchgpio_intr(void *);
> +
> +int
> +pchgpio_match(struct device *parent, void *match, void *aux)
> +{
> +     struct acpi_attach_args *aaa = aux;
> +     struct cfdata *cf = match;
> +
> +     return acpi_matchhids(aaa, pchgpio_hids, cf->cf_driver->cd_name);
> +}
> +
> +void
> +pchgpio_attach(struct device *parent, struct device *self, void *aux)
> +{
> +     struct pchgpio_softc *sc = (struct pchgpio_softc *)self;
> +     struct acpi_attach_args *aaa = aux;
> +     int i;
> +
> +     sc->sc_acpi = (struct acpi_softc *)parent;
> +     sc->sc_node = aaa->aaa_node;
> +     printf(" %s", sc->sc_node->name);
> +
> +     if (aaa->aaa_naddr < 1) {
> +             printf(": no registers\n");
> +             return;
> +     }
> +
> +     if (aaa->aaa_nirq < 1) {
> +             printf(": no interrupt\n");
> +             return;
> +     }
> +
> +     printf(" addr");
> +
> +     for (i = 0; i < aaa->aaa_naddr; i++) {
> +             printf(" 0x%llx/0x%llx", aaa->aaa_addr[i], aaa->aaa_size[i]);
> +
> +             sc->sc_memt[i] = aaa->aaa_bst[i];
> +             if (bus_space_map(sc->sc_memt[i], aaa->aaa_addr[i],
> +                 aaa->aaa_size[i], 0, &sc->sc_memh[i])) {
> +                     printf(": can't map registers\n");
> +                     goto unmap;
> +             }
> +
> +             sc->sc_padbar[i] = bus_space_read_4(sc->sc_memt[i],
> +                 sc->sc_memh[i], PCHGPIO_PADBAR);
> +             sc->sc_naddr++;
> +     }
> +
> +     printf(" irq %d", aaa->aaa_irq[0]);
> +
> +     for (i = 0; i < nitems(pchgpio_devices); i++) {
> +             if (strcmp(pchgpio_devices[i].hid, aaa->aaa_dev) == 0) {
> +                     sc->sc_device = pchgpio_devices[i].device;
> +                     break;
> +             }
> +     }
> +     KASSERT(sc->sc_device);
> +
> +     sc->sc_padsize = sc->sc_device->pad_size;
> +     sc->sc_npins = sc->sc_device->npins;
> +     sc->sc_pin_ih = mallocarray(sc->sc_npins, sizeof(*sc->sc_pin_ih),
> +         M_DEVBUF, M_WAITOK | M_ZERO);
> +
> +     sc->sc_ih = acpi_intr_establish(aaa->aaa_irq[0], aaa->aaa_irq_flags[0],
> +         IPL_BIO, pchgpio_intr, sc, sc->sc_dev.dv_xname);
> +     if (sc->sc_ih == NULL) {
> +             printf(": can't establish interrupt\n");
> +             goto unmap;
> +     }
> +
> +     sc->sc_gpio.cookie = sc;
> +     sc->sc_gpio.read_pin = pchgpio_read_pin;
> +     sc->sc_gpio.write_pin = pchgpio_write_pin;
> +     sc->sc_gpio.intr_establish = pchgpio_intr_establish;
> +     sc->sc_node->gpio = &sc->sc_gpio;
> +
> +#if 0
> +     /* Mask and clear all interrupts. */
> +     uint8_t bank, bar;
> +     for (i = 0; i < sc->sc_device->ngroups; i++) {
> +             bank = sc->sc_device->groups[i].bank;
> +             bar = sc->sc_device->groups[i].bar;
> +
> +             bus_space_write_4(sc->sc_memt[bar], sc->sc_memh[bar],
> +                 sc->sc_device->gpi_ie + bank * 4, 0x00000000);
> +             bus_space_write_4(sc->sc_memt[bar], sc->sc_memh[bar],
> +                 sc->sc_device->gpi_is + bank * 4, 0xffffffff);
> +     }
> +#endif
> +
> +     printf(", %d pins\n", sc->sc_npins);
> +
> +     acpi_register_gpio(sc->sc_acpi, sc->sc_node);
> +     return;
> +
> +unmap:
> +     free(sc->sc_pin_ih, M_DEVBUF, sc->sc_npins * sizeof(*sc->sc_pin_ih));
> +     for (i = 0; i < sc->sc_naddr; i++)
> +             bus_space_unmap(sc->sc_memt[i], sc->sc_memh[i],
> +                 aaa->aaa_size[i]);
> +}
> +
> +struct pchgpio_group *
> +pchgpio_find_group(struct pchgpio_softc *sc, int pin)
> +{
> +     int i, npads;
> +
> +     for (i = 0; i < sc->sc_device->ngroups; i++) {
> +             npads = 1 + sc->sc_device->groups[i].limit -
> +                 sc->sc_device->groups[i].base;
> +
> +             if (pin >= sc->sc_device->groups[i].gpiobase &&
> +                 pin < sc->sc_device->groups[i].gpiobase + npads)
> +                     return &sc->sc_device->groups[i];
> +     }
> +     return NULL;
> +}
> +
> +int
> +pchgpio_read_pin(void *cookie, int pin)
> +{
> +     struct pchgpio_softc *sc = cookie;
> +     struct pchgpio_group *group;
> +     uint32_t reg;
> +     uint16_t offset;
> +     uint8_t bar;
> +
> +     group = pchgpio_find_group(sc, pin);
> +     offset = group->offset + (pin - group->gpiobase);
> +     bar = group->bar;
> +
> +     reg = bus_space_read_4(sc->sc_memt[bar], sc->sc_memh[bar],
> +         sc->sc_padbar[bar] + offset * sc->sc_padsize);
> +
> +     return !!(reg & PCHGPIO_CONF_RXSTATE);
> +}
> +
> +void
> +pchgpio_write_pin(void *cookie, int pin, int value)
> +{
> +     struct pchgpio_softc *sc = cookie;
> +     struct pchgpio_group *group;
> +     uint32_t reg;
> +     uint16_t offset;
> +     uint8_t bar;
> +
> +     group = pchgpio_find_group(sc, pin);
> +     offset = group->offset + (pin - group->gpiobase);
> +     bar = group->bar;
> +
> +     reg = bus_space_read_4(sc->sc_memt[bar], sc->sc_memh[bar],
> +         sc->sc_padbar[bar] + offset * sc->sc_padsize);
> +     if (value)
> +             reg |= PCHGPIO_CONF_TXSTATE;
> +     else
> +             reg &= ~PCHGPIO_CONF_TXSTATE;
> +     bus_space_write_4(sc->sc_memt[bar], sc->sc_memh[bar],
> +         sc->sc_padbar[bar] + offset * sc->sc_padsize, reg);
> +}
> +
> +void
> +pchgpio_intr_establish(void *cookie, int pin, int flags,
> +    int (*func)(void *), void *arg)
> +{
> +     struct pchgpio_softc *sc = cookie;
> +     struct pchgpio_group *group;
> +     uint32_t reg;
> +     uint16_t offset;
> +     uint8_t bank, bar;
> +     
> +     KASSERT(pin >= 0 && pin < sc->sc_npins);
> +
> +     if ((group = pchgpio_find_group(sc, pin)) == NULL)
> +             return;
> +
> +     offset = group->offset + (pin - group->gpiobase);
> +     bar = group->bar;
> +     bank = group->bank;
> +
> +     sc->sc_pin_ih[pin].ih_func = func;
> +     sc->sc_pin_ih[pin].ih_arg = arg;
> +
> +     reg = bus_space_read_4(sc->sc_memt[bar], sc->sc_memh[bar],
> +         sc->sc_padbar[bar] + offset * sc->sc_padsize);
> +     reg &= ~(PCHGPIO_CONF_RXEV_MASK | PCHGPIO_CONF_RXINV);
> +     if ((flags & LR_GPIO_MODE) == 1)
> +             reg |= PCHGPIO_CONF_RXEV_EDGE;
> +     if ((flags & LR_GPIO_POLARITY) == LR_GPIO_ACTLO)
> +             reg |= PCHGPIO_CONF_RXINV;
> +     if ((flags & LR_GPIO_POLARITY) == LR_GPIO_ACTBOTH)
> +             reg |= PCHGPIO_CONF_RXEV_EDGE | PCHGPIO_CONF_RXEV_ZERO;
> +     bus_space_write_4(sc->sc_memt[bar], sc->sc_memh[bar],
> +         sc->sc_padbar[bar] + offset * sc->sc_padsize, reg);
> +
> +     reg = bus_space_read_4(sc->sc_memt[bar], sc->sc_memh[bar],
> +         sc->sc_device->gpi_ie + bank * 4);
> +     reg |= (1 << (pin - group->gpiobase));
> +     bus_space_write_4(sc->sc_memt[bar], sc->sc_memh[bar],
> +         sc->sc_device->gpi_ie + bank * 4, reg);
> +}
> +
> +int
> +pchgpio_intr(void *arg)
> +{
> +     struct pchgpio_softc *sc = arg;
> +     uint32_t status, enable;
> +     int gpiobase, group, bit, pin, handled = 0;
> +     uint16_t base, limit;
> +     uint16_t offset;
> +     uint8_t bank, bar;
> +
> +     for (group = 0; group < sc->sc_device->ngroups; group++) {
> +             bar = sc->sc_device->groups[group].bar;
> +             bank = sc->sc_device->groups[group].bank;
> +             base = sc->sc_device->groups[group].base;
> +             limit = sc->sc_device->groups[group].limit;
> +             offset = sc->sc_device->groups[group].offset;
> +             gpiobase = sc->sc_device->groups[group].gpiobase;
> +
> +             status = bus_space_read_4(sc->sc_memt[bar], sc->sc_memh[bar],
> +                 sc->sc_device->gpi_is + bank * 4);
> +             bus_space_write_4(sc->sc_memt[bar], sc->sc_memh[bar],
> +                 sc->sc_device->gpi_is + bank * 4, status);
> +             enable = bus_space_read_4(sc->sc_memt[bar], sc->sc_memh[bar],
> +                 sc->sc_device->gpi_ie + bank * 4);
> +             status &= enable;
> +             if (status == 0)
> +                     continue;
> +
> +             for (bit = 0; bit <= (limit - base); bit++) {
> +                     pin = gpiobase + bit;
> +                     if (status & (1 << bit) &&
> +                         sc->sc_pin_ih[pin].ih_func)
> +                             
> sc->sc_pin_ih[pin].ih_func(sc->sc_pin_ih[pin].ih_arg);
> +                     handled = 1;
> +             }
> +     }
> +
> +     return handled;
> +}
> 
> 
> dmesg:
> OpenBSD 6.8-current (GENERIC.MP) #37: Tue Nov  3 20:41:35 EST 2020
>     ti...@ryzen3.moose-tek.test:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> real mem = 8252678144 (7870MB)
> avail mem = 7987212288 (7617MB)
> random: good seed from bootblocks
> mpath0 at root
> scsibus0 at mpath0: 256 targets
> mainbus0 at root
> bios0 at mainbus0: SMBIOS rev. 3.2 @ 0x8d901000 (69 entries)
> bios0: vendor Insyde version "F.03" date 08/01/2019
> bios0: HP HP Pavilion x360 Convertible 14m-dh1xxx
> acpi0 at bios0: ACPI 5.1
> acpi0: sleep states S0 S3 S4 S5
> acpi0: tables DSDT FACP UEFI SSDT SSDT SSDT SSDT SSDT TPM2 SSDT SSDT MSDM 
> LPIT WSMT SSDT SSDT DBGP DBG2 SSDT SSDT NHLT HPET APIC MCFG SSDT DMAR SSDT 
> SSDT SSDT UEFI UEFI FPDT BGRT
> acpi0: wakeup devices XHC_(S3) XDCI(S4) HDAS(S4) RP01(S4) PXSX(S4) RP02(S4) 
> PXSX(S4) RP03(S4) PXSX(S4) RP04(S4) PXSX(S4) RP05(S4) PXSX(S4) PEGA(S4) 
> RP06(S4) PXSX(S4) [...]
> acpitimer0 at acpi0: 3579545 Hz, 24 bits
> acpihpet0 at acpi0: 23999999 Hz
> acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
> cpu0 at mainbus0: apid 0 (boot processor)
> cpu0: Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz, 3890.80 MHz, 06-8e-0c
> cpu0: 
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,SRBDS_CTRL,MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES
> cpu0: 256KB 64b/line 8-way L2 cache
> cpu0: smt 0, core 0, package 0
> mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges
> cpu0: apic clock running at 24MHz
> cpu0: mwait min=64, max=64, C-substates=0.2.1.2.4.1.1.1, IBE
> cpu1 at mainbus0: apid 2 (application processor)
> cpu1: Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz, 3890.94 MHz, 06-8e-0c
> cpu1: 
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,SRBDS_CTRL,MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES
> cpu1: 256KB 64b/line 8-way L2 cache
> cpu1: smt 0, core 1, package 0
> cpu2 at mainbus0: apid 4 (application processor)
> cpu2: Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz, 3890.94 MHz, 06-8e-0c
> cpu2: 
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,SRBDS_CTRL,MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES
> cpu2: 256KB 64b/line 8-way L2 cache
> cpu2: smt 0, core 2, package 0
> cpu3 at mainbus0: apid 6 (application processor)
> cpu3: Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz, 3700.33 MHz, 06-8e-0c
> cpu3: 
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,SRBDS_CTRL,MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES
> cpu3: 256KB 64b/line 8-way L2 cache
> cpu3: smt 0, core 3, package 0
> cpu4 at mainbus0: apid 1 (application processor)
> cpu4: Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz, 3656.63 MHz, 06-8e-0c
> cpu4: 
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,SRBDS_CTRL,MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES
> cpu4: 256KB 64b/line 8-way L2 cache
> cpu4: smt 1, core 0, package 0
> cpu5 at mainbus0: apid 3 (application processor)
> cpu5: Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz, 3624.42 MHz, 06-8e-0c
> cpu5: 
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,SRBDS_CTRL,MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES
> cpu5: 256KB 64b/line 8-way L2 cache
> cpu5: smt 1, core 1, package 0
> cpu6 at mainbus0: apid 5 (application processor)
> cpu6: Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz, 3603.47 MHz, 06-8e-0c
> cpu6: 
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,SRBDS_CTRL,MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES
> cpu6: 256KB 64b/line 8-way L2 cache
> cpu6: smt 1, core 2, package 0
> cpu7 at mainbus0: apid 7 (application processor)
> cpu7: Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz, 3579.89 MHz, 06-8e-0c
> cpu7: 
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,SRBDS_CTRL,MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES
> cpu7: 256KB 64b/line 8-way L2 cache
> cpu7: smt 1, core 3, package 0
> ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 120 pins
> acpimcfg0 at acpi0
> acpimcfg0: addr 0xe0000000, bus 0-255
> acpiprt0 at acpi0: bus 0 (PCI0)
> acpiprt1 at acpi0: bus -1 (RP01)
> acpiprt2 at acpi0: bus -1 (RP02)
> acpiprt3 at acpi0: bus -1 (RP03)
> acpiprt4 at acpi0: bus -1 (RP04)
> acpiprt5 at acpi0: bus -1 (RP05)
> acpiprt6 at acpi0: bus -1 (RP06)
> acpiprt7 at acpi0: bus -1 (RP07)
> acpiprt8 at acpi0: bus -1 (RP08)
> acpiprt9 at acpi0: bus 1 (RP09)
> acpiprt10 at acpi0: bus 6 (RP10)
> acpiprt11 at acpi0: bus -1 (RP11)
> acpiprt12 at acpi0: bus -1 (RP12)
> acpiprt13 at acpi0: bus 11 (RP13)
> acpiprt14 at acpi0: bus -1 (RP14)
> acpiprt15 at acpi0: bus 16 (RP15)
> acpiprt16 at acpi0: bus -1 (RP16)
> acpiprt17 at acpi0: bus -1 (RP17)
> acpiprt18 at acpi0: bus -1 (RP18)
> acpiprt19 at acpi0: bus -1 (RP19)
> acpiprt20 at acpi0: bus -1 (RP20)
> acpiprt21 at acpi0: bus -1 (RP21)
> acpiprt22 at acpi0: bus -1 (RP22)
> acpiprt23 at acpi0: bus -1 (RP23)
> acpiprt24 at acpi0: bus -1 (RP24)
> acpiec0 at acpi0
> acpiec0: Not running on HW-Reduced ACPI type 8
> acpiec0: invalid resource #3 type 134
> acpipci0 at acpi0 PCI0: 0x00000000 0x00000011 0x00000001
> acpiac0 at acpi0: AC unit offline
> acpibat0 at acpi0: BAT0 model "HT03041XL" type LION
> "INT33D2" at acpi0 not configured
> "INT33D3" at acpi0 not configured
> "INT3403" at acpi0 not configured
> "INT3403" at acpi0 not configured
> pchgpio0 at acpi0 GPI0 addr 0xfd6e0000/0x10000 0xfd6d0000/0x10000 
> 0xfd6a0000/0x10000 irq 14, 320 pins
> "SYNA328B" at acpi0 not configured
> "ELAN2514" at acpi0 not configured
> "ACPI000E" at acpi0 not configured
> "PNP0C14" at acpi0 not configured
> "INT0E0C" at acpi0 not configured
> "PNP0C14" at acpi0 not configured
> "PNP0C14" at acpi0 not configured
> "INT33A1" at acpi0 not configured
> acpihid0 at acpi0: HIDD, 5 button array
> acpibtn0 at acpi0: LID0
> acpibtn1 at acpi0: PWRB
> "PNP0C14" at acpi0 not configured
> "HPQ6001" at acpi0 not configured
> "HPQ6007" at acpi0 not configured
> "INT3400" at acpi0 not configured
> "MSFT0101" at acpi0 not configured
> "PNP0C14" at acpi0 not configured
> "HPIC0003" at acpi0 not configured
> acpipwrres0 at acpi0: USBC, resource for XDCI
> acpipwrres1 at acpi0: PCRP, resource for RP05
> acpipwrres2 at acpi0: V0PR
> acpipwrres3 at acpi0: V1PR
> acpipwrres4 at acpi0: V2PR
> acpipwrres5 at acpi0: WRST
> acpicpu0 at acpi0: C3(200@1034 mwait.1@0x60), C2(200@151 mwait.1@0x33), 
> C1(1000@1 mwait.1), PSS
> acpicpu1 at acpi0: C3(200@1034 mwait.1@0x60), C2(200@151 mwait.1@0x33), 
> C1(1000@1 mwait.1), PSS
> acpicpu2 at acpi0: C3(200@1034 mwait.1@0x60), C2(200@151 mwait.1@0x33), 
> C1(1000@1 mwait.1), PSS
> acpicpu3 at acpi0: C3(200@1034 mwait.1@0x60), C2(200@151 mwait.1@0x33), 
> C1(1000@1 mwait.1), PSS
> acpicpu4 at acpi0: C3(200@1034 mwait.1@0x60), C2(200@151 mwait.1@0x33), 
> C1(1000@1 mwait.1), PSS
> acpicpu5 at acpi0: C3(200@1034 mwait.1@0x60), C2(200@151 mwait.1@0x33), 
> C1(1000@1 mwait.1), PSS
> acpicpu6 at acpi0: C3(200@1034 mwait.1@0x60), C2(200@151 mwait.1@0x33), 
> C1(1000@1 mwait.1), PSS
> acpicpu7 at acpi0: C3(200@1034 mwait.1@0x60), C2(200@151 mwait.1@0x33), 
> C1(1000@1 mwait.1), PSS
> acpitz0 at acpi0: critical temperature is 120 degC
> acpitz1 at acpi0: critical temperature is 120 degC
> acpipwrres6 at acpi0: PIN_
> acpidock0 at acpi0: DOCK not docked (0)
> acpivideo0 at acpi0: GFX0
> acpivout0 at acpivideo0: DD02
> acpivout1 at acpivideo0: DD1F
> cpu0: Enhanced SpeedStep 3890 MHz: speeds: 2101, 2100, 2000, 1900, 1700, 
> 1600, 1500, 1400, 1200, 1100, 1000, 800, 700, 600, 500, 400 MHz
> pci0 at mainbus0 bus 0
> pchb0 at pci0 dev 0 function 0 "Intel Core 10G Host" rev 0x0c
> inteldrm0 at pci0 dev 2 function 0 "Intel UHD Graphics" rev 0x02
> drm0 at inteldrm0
> inteldrm0: msi, COFFEELAKE, gen 9
> "Intel Core 6G Thermal" rev 0x0c at pci0 dev 4 function 0 not configured
> "Intel Core GMM" rev 0x00 at pci0 dev 8 function 0 not configured
> pchtemp0 at pci0 dev 18 function 0 "Intel 400 Series Thermal" rev 0x00
> "Intel 400 Series ISH" rev 0x00 at pci0 dev 19 function 0 not configured
> xhci0 at pci0 dev 20 function 0 "Intel 400 Series xHCI" rev 0x00: msi, xHCI 
> 1.10
> usb0 at xhci0: USB revision 3.0
> uhub0 at usb0 configuration 1 interface 0 "Intel xHCI root hub" rev 3.00/1.00 
> addr 1
> "Intel 400 Series Shared SRAM" rev 0x00 at pci0 dev 20 function 2 not 
> configured
> sdhc0 at pci0 dev 20 function 5 "Intel 400 Series SDXC" rev 0x00: apic 2 int 
> 19
> sdhc0: SDHC 3.0, 200 MHz base clock
> sdmmc0 at sdhc0: 4-bit, sd high-speed, mmc high-speed, ddr52, dma
> dwiic0 at pci0 dev 21 function 0 "Intel 400 Series I2C" rev 0x00: apic 2 int 
> 16
> iic0 at dwiic0
> ihidev0 at iic0 addr 0x2c gpio 291, vendor 0x6cb product 0xcd50, SYNA328B
> ihidev0: 31 report ids
> imt0 at ihidev0: clickpad, 5 contacts
> wsmouse0 at imt0 mux 0
> ims0 at ihidev0 reportid 2: 2 buttons
> wsmouse1 at ims0 mux 0
> hid at ihidev0 reportid 6 not configured
> hid at ihidev0 reportid 7 not configured
> hid at ihidev0 reportid 9 not configured
> hid at ihidev0 reportid 10 not configured
> hid at ihidev0 reportid 11 not configured
> hid at ihidev0 reportid 12 not configured
> hid at ihidev0 reportid 13 not configured
> hid at ihidev0 reportid 14 not configured
> hid at ihidev0 reportid 15 not configured
> hid at ihidev0 reportid 29 not configured
> hid at ihidev0 reportid 31 not configured
> dwiic1 at pci0 dev 21 function 1 "Intel 400 Series I2C" rev 0x00: apic 2 int 
> 17
> iic1 at dwiic1
> ihidev1 at iic1 addr 0x10 gpio 295, vendor 0x4f3 product 0x23dd, ELAN2514
> ihidev1: 23 report ids
> ims1 at ihidev1 reportid 1: 1 button, tip
> wsmouse2 at ims1 mux 0
> hid at ihidev1 reportid 2 not configured
> hid at ihidev1 reportid 3 not configured
> hid at ihidev1 reportid 4 not configured
> hid at ihidev1 reportid 6 not configured
> ims2 at ihidev1 reportid 7: 3 buttons, tip, barrel, eraser
> wsmouse3 at ims2 mux 0
> hid at ihidev1 reportid 10 not configured
> hid at ihidev1 reportid 14 not configured
> hid at ihidev1 reportid 23 not configured
> "Intel 400 Series MEI" rev 0x00 at pci0 dev 22 function 0 not configured
> pciide0 at pci0 dev 23 function 0 "Intel 82801HBM RAID" rev 0x00: DMA, 
> channel 0 wired to native-PCI, channel 1 wired to native-PCI
> pciide0: using apic 2 int 16 for native-PCI interrupt
> ppb0 at pci0 dev 29 function 0 "Intel 400 Series PCIE" rev 0xf0: msi
> pci1 at ppb0 bus 1
> ppb1 at pci0 dev 29 function 1 "Intel 400 Series PCIE" rev 0xf0: msi
> pci2 at ppb1 bus 6
> "Realtek 8821CE" rev 0x00 at pci2 dev 0 function 0 not configured
> ppb2 at pci0 dev 29 function 4 "Intel 400 Series PCIE" rev 0xf0: msi
> pci3 at ppb2 bus 11
> nvme0 at pci3 dev 0 function 0 vendor "Intel", unknown product 0x0975 rev 
> 0x03: msix, NVMe 1.3
> nvme0: INTEL HBRPEKNX0101AH, firmware HPS1, serial
> scsibus1 at nvme0: 2 targets, initiator 0
> sd0 at scsibus1 targ 1 lun 0: <NVMe, INTEL HBRPEKNX01, HPS1>
> sd0: 244198MB, 512 bytes/sector, 500118192 sectors
> ppb3 at pci0 dev 29 function 6 "Intel 400 Series PCIE" rev 0xf0: msi
> pci4 at ppb3 bus 16
> nvme1 at pci4 dev 0 function 0 vendor "Intel", unknown product 0x0975 rev 
> 0x00: msix, NVMe 1.1
> nvme1: INTEL HBRPEKNX0101AHO, firmware HPS2, serial
> scsibus2 at nvme1: 2 targets, initiator 0
> sd1 at scsibus2 targ 1 lun 0: <NVMe, INTEL HBRPEKNX01, HPS2>
> sd1: 13736MB, 512 bytes/sector, 28131328 sectors
> pcib0 at pci0 dev 31 function 0 "Intel 400 Series LPC" rev 0x00
> azalia0 at pci0 dev 31 function 3 "Intel 400 Series HD Audio" rev 0x00: msi
> azalia0: codecs: Realtek ALC295, Intel/0x280b, using Realtek ALC295
> audio0 at azalia0
> ichiic0 at pci0 dev 31 function 4 "Intel 400 Series SMBus" rev 0x00: apic 2 
> int 16
> iic2 at ichiic0
> spdmem0 at iic2 addr 0x50: 8GB DDR4 SDRAM PC4-21300 SO-DIMM
> "Intel 400 Series SPI" rev 0x00 at pci0 dev 31 function 5 not configured
> isa0 at pcib0
> isadma0 at isa0
> pckbc0 at isa0 port 0x60/5 irq 1 irq 12
> pckbd0 at pckbc0 (kbd slot)
> wskbd0 at pckbd0: console keyboard
> pms0 at pckbc0 (aux slot)
> wsmouse4 at pms0 mux 0
> pms0: Synaptics clickpad, firmware 10.16, 0x1e2a1 0x840300 0x365040 0xf00623 
> 0x12e800
> pcppi0 at isa0 port 0x61
> spkr0 at pcppi0
> vmm0 at mainbus0: VMX/EPT
> efifb at mainbus0 not configured
> umass0 at uhub0 port 2 configuration 1 interface 0 "SanDisk Cruzer Glide" rev 
> 2.00/1.00 addr 2
> umass0: using SCSI over Bulk-Only
> scsibus3 at umass0: 2 targets, initiator 0
> sd2 at scsibus3 targ 1 lun 0: <SanDisk, Cruzer Glide, 1.00> removable
> sd2: 15060MB, 512 bytes/sector, 30842880 sectors
> uvideo0 at uhub0 port 4 configuration 1 interface 0 "DHQYLA19ICME8I HP Wide 
> Vision HD Camera" rev 2.01/0.04 addr 3
> video0 at uvideo0
> ugen0 at uhub0 port 5 "Synaptics product 0x00cb" rev 2.00/1.64 addr 4
> ugen1 at uhub0 port 10 "Realtek Bluetooth Radio" rev 1.10/1.10 addr 5
> vscsi0 at root
> scsibus4 at vscsi0: 256 targets
> softraid0 at root
> scsibus5 at softraid0: 256 targets
> root on sd2a (c451627de5fb62d6.a) swap on sd2b dump on sd2b
> inteldrm0: 1920x1080, 32bpp
> wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation), using wskbd0
> wsdisplay0: screen 1-5 added (std, vt100 emulation)
> 
> vmstat -zi:
> interrupt                       total     rate
> irq0/clock                     180234      790
> irq0/ipi                         3510       15
> irq96/pchgpio0                    279        1
> irq97/acpi0                         7        0
> irq144/inteldrm0                  572        2
> irq98/xhci0                    101025      443
> irq99/sdhc0                         0        0
> irq108/dwiic0                      22        0
> irq101/dwiic1                      16        0
> irq108/pciide0                     22        0
> irq100/ppb0                         0        0
> irq103/ppb1                         0        0
> irq104/ppb2                         0        0
> irq105/nvme0                      112        0
> irq106/ppb3                         0        0
> irq107/nvme1                       13        0
> irq176/azalia0                      1        0
> irq108/ichiic0                      0        0
> irq145/pckbc0                     165        0
> irq146/pckbc0                     116        0
> Total                          286094     1254
> 
> 

Reply via email to