Thank you for your report and diff.  I'm asking ok on tech@.

https://marc.info/?l=openbsd-tech&m=165148172804730&w=2

On Mon, 25 Apr 2022 12:39:57 +0300
"Alexei K." <[email protected]> wrote:
> Hi,
> 
> When booting OpenBSD on a Lenovo B470e laptop (dmesg below), the
> screen becomes garbled once the boot prompt disappears and the kernel
> starts. The system remains responsive, however.
> 
> For context, this is the output of the `machine gop` command:
> ----
> Mode 0: 1024 x 768 (stride = 1024)
> Mode 1: 640 x 480 (stride = 640)
> Mode 2: 800 x 600 (stride = 800)
> 
> Current Mode = 0
> ----
> 
> If I start from a fresh boot and...:
> - Set the mode to 1: The screen flickers quickly and the resolution
> changes appropriately. No display issues when booting the kernel
> afterwards.
> - Set the mode to 2: No visible changes (flicker/resolution change).
> No display issues afterwards as well. This indicates that the machine
> is actually in mode 2 but it's reporting that it's in mode 0.
> - Set the mode to 0: No visible changes. Display issues remain.
> - Set the mode to 1 or 2 and back to 0: The resolution actually
> changes to 1024x768. No display issues afterwards.
> 
> If I remove the text mode setting code in efi_video_init() and boot...
> - From the Boot Menu (F12): Machine reports that it's in mode 1 but
> it's actually in mode 0. Display issues persist.
> - Directly: Machine starts with mode 0 properly. No issues.
> 
> I've thought about calculating the framebuffer size (height * stride *
> 4) and comparing that with the one reported by the firmware to see if
> there's an inconsistency (and switch the mode accordingly), but the
> FrameBufferSize reported by the firmware seems to be a fixed, large
> value. Not feasible.
> 
> While poking around with the dh command in the UEFI shell, I
> discovered that there are two GOP instances in the system. The first
> one (which LocateProtocol() locates) is virtual, and the other is
> "physical" (as indicated by the presence of a device path in its
> handle). The physical one, according to my tests, gives correct
> information all the time. Here are their handles:
> ----
> Handle C0 (78C02798)
>    Txtout (75A95BE0) Attrib 7
>          mode 0: col  80 row  25
>          mode 1: error Unsupported
> 
>       *  mode 2: col 128 row  40
>          mode 3: col  80 row  25
>          mode 4: col 100 row  31
>    GraphicsOutput (7A2BB588)
>        HorizontalReslution   1024
>        VerticalReslution     768
>        PixelFormat           PixelBlueGreenRedReserved8BitPerColor
>        PixelsPerScanLine     1024
>        FrameBufferBase       0x80000000
>        FrameBufferSize       0x3FF0000
>    62BDF38A-E3D5-492C-950C-23A7F66E672E (00000000)
>    F42F7782-012E-4C12-9956-49F94304F721 (7A2BB5D0)
> ----
> 
> ----
> Handle 16F (77F00D18)
>    Dpath (77F00C98)
>       ACPI Device Path for Acpi
>        HID PNP0A03, UID 0
>       Hardware Device Path for PCI
>        Function (0) Device (2)
>       ACPI Device Path for AcpiAdr
>        Adr 4C4DB74
>       AsStr: 'PciRoot(0x0)/Pci(0x2,0x0)/AcpiAdr(0x4C4DB74)'
>    Txtout (77F28D28) Attrib 7
>          mode 0: col  80 row  25
>          mode 1: error Unsupported
> 
>       *  mode 2: col 128 row  40
>          mode 3: col  80 row  25
>          mode 4: col 100 row  31
>    GraphicsOutput (77F02C38)
>        HorizontalReslution   1024
>        VerticalReslution     768
>        PixelFormat           PixelBlueGreenRedReserved8BitPerColor
>        PixelsPerScanLine     1024
>        FrameBufferBase       0x80000000
>        FrameBufferSize       0x3FF0000
>    EdidDiscovered (77F02C58)
>    EdidActive (77F02C68)
>    ConOut (0)
>    StdErr (0)
>    B79F5BEE-2727-48D3-8906-E5FB1F4B3329 (77F02C78)
> ----
> 
> From what I've read, it seems that the virtual instance is set up by
> ConSplitter and it's known to be buggy in certain implementations.
> Linux (EFISTUB) and recently, FreeBSD, both use the non-standard
> "ConOut Protocol" to determine if a GOP instance is physical or not.
> They use the first physical one available. Both run fine with no
> issues on my laptop.
> https://github.com/freebsd/freebsd-src/blob/221376db0cb77035e325baf8b54d6224925b41f8/stand/efi/loader/framebuffer.c#L567
> https://github.com/torvalds/linux/blob/af2d861d4cd2a4da5137f795ee3509e6f944a25b/drivers/firmware/efi/libstub/gop.c#L464
> 
> More information:
> https://edk2-devel.narkive.com/6Sv2VpKH/edk2-conout-protocol
> https://edk2.groups.io/g/discuss/topic/88946975?p=,,,20,0,0,0::recentpostdate/sticky,,,20,0,0,88946975
> https://github.com/tianocore/edk2/blob/master/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.uni
> 
> In addition to Linux and FreeBSD, here's how the other major EFI-aware
> projects fare when run on my laptop:
> - GRUB 2 (commit a4666d31babc3fd06e52f7bb9b4c871e685da9b9) works fine
> when run directly but the screen remains blank if run through the Boot
> Menu (graphical issue, remains responsive to commands like 'halt').
> grub.cfg:
> ----
> insmod efi_gop
> loadfont "unicode"
> insmod gfxterm
> terminal_output gfxterm
> ----
> - iPXE (commit 70995397e5bdfd3431e12971aa40630c7014785f with
> CONSOLE_FRAMEBUFFER): Display is fine when run directly, garbled when
> run through the Boot Menu.
> - NetBSD 9.2: Likewise.
> - rEFInd (commit 0d46f46ed7a2d453c9320469f211c5348120a1cd): Display is
> fine when run directly, but when run through the Boot Menu, the screen
> remains mostly blank with two icons and a small square thrown around.
> Not sure what's going on here to be honest.
> 
> 
> I'd like to emphasize that this issue is not unique to my specific
> laptop model. Many users have experienced similar issues across
> different OSes on different models/OEMs.
> Some examples:
> https://old.reddit.com/r/slackware/comments/i88d57/screen_garbled_need_to_change_eufi_gop_mode/
> https://old.reddit.com/r/freebsd/comments/77ajtm/garbled_text_for_bsd_installer_on_lenovo_laptop/
> (Likewise)
> https://old.reddit.com/r/openbsd/comments/cidx7g/weird_output_on_booting_from_install_media_usb/
> https://redmine.pfsense.org/issues/8253
> etc...
> 
> The below diff adopts a similar approach to Linux/FreeBSD, but uses
> the standard device path protocol instead. This is not a novel
> approach. Insyde's CTO, Tim Lewis, used it in his UEFI maze game:
> https://uefi.blogspot.com/2017/02/the-uefi-maze-game-part-4.html
> 
> I've also made the system panic in case no GOP instances are found.
> 
> One thing I'm not sure about is what would happen to the boot console
> in a scenario where you have a virtual GOP and the output is being
> redirected to multiple physical ones and the user does a modeset
> (which would affect the first physical GOP that we selected earlier).
> 
> Further testing and investigation is very welcome.
> 
> Thanks.
> 
> diff --git sys/arch/amd64/stand/efiboot/efiboot.c
> sys/arch/amd64/stand/efiboot/efiboot.c
> index a8d8c762197..7ece8137575 100644
> --- sys/arch/amd64/stand/efiboot/efiboot.c
> +++ sys/arch/amd64/stand/efiboot/efiboot.c
> @@ -426,6 +426,7 @@ efi_memprobe_internal(void)
>   ***********************************************************************/
>  static SIMPLE_TEXT_OUTPUT_INTERFACE     *conout = NULL;
>  static SIMPLE_INPUT_INTERFACE           *conin;
> +static EFI_GRAPHICS_OUTPUT    *gop = NULL;
>  static EFI_GUID                 con_guid
>                          = EFI_CONSOLE_CONTROL_PROTOCOL_GUID;
>  static EFI_GUID                 gop_guid
> @@ -444,6 +445,31 @@ efi_video_init(void)
>      int                 i, mode80x25, mode100x31;
>      UINTN                 cols, rows;
>      EFI_STATUS             status;
> +    EFI_HANDLE *handles;
> +    UINTN nhandles;
> +    EFI_GRAPHICS_OUTPUT    *first_gop = NULL;
> +    EFI_DEVICE_PATH *devp_test = NULL;
> +
> +    status = BS->LocateHandleBuffer(ByProtocol, &gop_guid, NULL, &nhandles,
> +        &handles);
> +    if (status != EFI_SUCCESS)
> +        panic("BS->LocateHandleBuffer() returns %d", status);
> +    for (i = 0; i < nhandles; i++) {
> +        status = BS->HandleProtocol(handles[i], &gop_guid, (void **)&gop);
> +        if (!first_gop) {
> +            first_gop = gop;
> +        }
> +        status = BS->HandleProtocol(handles[i], &devp_guid,
> +            (void **)&devp_test);
> +        if (status == EFI_SUCCESS) {
> +            break;
> +        }
> +    }
> +    if (status != EFI_SUCCESS)
> +        gop = first_gop;
> +    if (!gop)
> +        panic("no gop found");
> +    BS->FreePool(handles);
> 
>      conout = ST->ConOut;
>      status = BS->LocateProtocol(&con_guid, NULL, (void **)&conctrl);
> @@ -808,7 +834,6 @@ efi_com_putc(dev_t dev, int c)
>   */
>  static EFI_GUID             acpi_guid = ACPI_20_TABLE_GUID;
>  static EFI_GUID             smbios_guid = SMBIOS_TABLE_GUID;
> -static EFI_GRAPHICS_OUTPUT    *gop;
>  static int             gopmode = -1;
> 
>  #define    efi_guidcmp(_a, _b)    memcmp((_a), (_b), sizeof(EFI_GUID))
> @@ -853,57 +878,54 @@ efi_makebootargs(void)
>      /*
>       * Frame buffer
>       */
> -    status = BS->LocateProtocol(&gop_guid, NULL, (void **)&gop);
> -    if (!EFI_ERROR(status)) {
> -        if (gopmode < 0) {
> -            for (i = 0; i < gop->Mode->MaxMode; i++) {
> -                status = gop->QueryMode(gop, i, &sz, &gopi);
> -                if (EFI_ERROR(status))
> -                    continue;
> -                gopsiz = gopi->HorizontalResolution *
> -                    gopi->VerticalResolution;
> -                if (gopsiz > bestsiz) {
> -                    gopmode = i;
> -                    bestsiz = gopsiz;
> -                }
> +    if (gopmode < 0) {
> +        for (i = 0; i < gop->Mode->MaxMode; i++) {
> +            status = gop->QueryMode(gop, i, &sz, &gopi);
> +            if (EFI_ERROR(status))
> +                continue;
> +            gopsiz = gopi->HorizontalResolution *
> +                gopi->VerticalResolution;
> +            if (gopsiz > bestsiz) {
> +                gopmode = i;
> +                bestsiz = gopsiz;
>              }
>          }
> -        if (gopmode >= 0 && gopmode != gop->Mode->Mode) {
> -            curmode = gop->Mode->Mode;
> -            if (efi_gop_setmode(gopmode) != EFI_SUCCESS)
> -                (void)efi_gop_setmode(curmode);
> -        }
> +    }
> +    if (gopmode >= 0 && gopmode != gop->Mode->Mode) {
> +        curmode = gop->Mode->Mode;
> +        if (efi_gop_setmode(gopmode) != EFI_SUCCESS)
> +            (void)efi_gop_setmode(curmode);
> +    }
> 
> -        gopi = gop->Mode->Info;
> -        switch (gopi->PixelFormat) {
> -        case PixelBlueGreenRedReserved8BitPerColor:
> -            ei->fb_red_mask      = 0x00ff0000;
> -            ei->fb_green_mask    = 0x0000ff00;
> -            ei->fb_blue_mask     = 0x000000ff;
> -            ei->fb_reserved_mask = 0xff000000;
> -            break;
> -        case PixelRedGreenBlueReserved8BitPerColor:
> -            ei->fb_red_mask      = 0x000000ff;
> -            ei->fb_green_mask    = 0x0000ff00;
> -            ei->fb_blue_mask     = 0x00ff0000;
> -            ei->fb_reserved_mask = 0xff000000;
> -            break;
> -        case PixelBitMask:
> -            ei->fb_red_mask = gopi->PixelInformation.RedMask;
> -            ei->fb_green_mask = gopi->PixelInformation.GreenMask;
> -            ei->fb_blue_mask = gopi->PixelInformation.BlueMask;
> -            ei->fb_reserved_mask =
> -                gopi->PixelInformation.ReservedMask;
> -            break;
> -        default:
> -            break;
> -        }
> -        ei->fb_addr = gop->Mode->FrameBufferBase;
> -        ei->fb_size = gop->Mode->FrameBufferSize;
> -        ei->fb_height = gopi->VerticalResolution;
> -        ei->fb_width = gopi->HorizontalResolution;
> -        ei->fb_pixpsl = gopi->PixelsPerScanLine;
> +    gopi = gop->Mode->Info;
> +    switch (gopi->PixelFormat) {
> +    case PixelBlueGreenRedReserved8BitPerColor:
> +        ei->fb_red_mask      = 0x00ff0000;
> +        ei->fb_green_mask    = 0x0000ff00;
> +        ei->fb_blue_mask     = 0x000000ff;
> +        ei->fb_reserved_mask = 0xff000000;
> +        break;
> +    case PixelRedGreenBlueReserved8BitPerColor:
> +        ei->fb_red_mask      = 0x000000ff;
> +        ei->fb_green_mask    = 0x0000ff00;
> +        ei->fb_blue_mask     = 0x00ff0000;
> +        ei->fb_reserved_mask = 0xff000000;
> +        break;
> +    case PixelBitMask:
> +        ei->fb_red_mask = gopi->PixelInformation.RedMask;
> +        ei->fb_green_mask = gopi->PixelInformation.GreenMask;
> +        ei->fb_blue_mask = gopi->PixelInformation.BlueMask;
> +        ei->fb_reserved_mask =
> +        gopi->PixelInformation.ReservedMask;
> +        break;
> +    default:
> +        break;
>      }
> +    ei->fb_addr = gop->Mode->FrameBufferBase;
> +    ei->fb_size = gop->Mode->FrameBufferSize;
> +    ei->fb_height = gopi->VerticalResolution;
> +    ei->fb_width = gopi->HorizontalResolution;
> +    ei->fb_pixpsl = gopi->PixelsPerScanLine;
> 
>      /*
>       * EFI system table
> @@ -1030,10 +1052,6 @@ Xgop_efi(void)
>      EFI_GRAPHICS_OUTPUT_MODE_INFORMATION
>              *gopi;
> 
> -    status = BS->LocateProtocol(&gop_guid, NULL, (void **)&gop);
> -    if (EFI_ERROR(status))
> -        return (0);
> -
>      if (cmd.argc >= 2) {
>          mode = strtol(cmd.argv[1], NULL, 10);
>          if (0 <= mode && mode < gop->Mode->MaxMode) {
> 
> -----
> dmesg (using inteldrm(4)):
> 
> OpenBSD 7.1 (GENERIC.MP) #465: Mon Apr 11 18:03:57 MDT 2022
>     [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> real mem = 2034790400 (1940MB)
> avail mem = 1955889152 (1865MB)
> random: good seed from bootblocks
> mpath0 at root
> scsibus0 at mpath0: 256 targets
> mainbus0 at root
> bios0 at mainbus0: SMBIOS rev. 2.6 @ 0xf9e10 (66 entries)
> bios0: vendor LENOVO version "43CN45WW" date 02/16/2012
> bios0: LENOVO HuronRiver Platform
> acpi0 at bios0: ACPI 3.0
> acpi0: sleep states S0 S1 S3 S4 S5
> acpi0: tables DSDT FACP SLIC SSDT ASF! HPET APIC MCFG SSDT SSDT UEFI UEFI UEFI
> acpi0: wakeup devices P0P1(S4) GLAN(S4) EHC1(S3) EHC2(S3) HDEF(S4)
> RP01(S4) PXSX(S4) RP02(S4) PXSX(S4) RP03(S4) PXSX(S4) RP04(S4)
> PXSX(S4) RP05(S4) PXSX(S4) RP06(S4) [...]
> 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: Intel(R) Core(TM) i3-2370M CPU @ 2.40GHz, 2394.90 MHz, 06-2a-07
> 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,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,XSAVE,AVX,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,MELTDOWN
> 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 99MHz
> cpu0: mwait min=64, max=64, C-substates=0.2.1.1.2, IBE
> cpu1 at mainbus0: apid 1 (application processor)
> cpu1: Intel(R) Core(TM) i3-2370M CPU @ 2.40GHz, 2394.57 MHz, 06-2a-07
> 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,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,XSAVE,AVX,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,MELTDOWN
> cpu1: 256KB 64b/line 8-way L2 cache
> cpu1: smt 1, core 0, package 0
> cpu2 at mainbus0: apid 2 (application processor)
> cpu2: Intel(R) Core(TM) i3-2370M CPU @ 2.40GHz, 2394.58 MHz, 06-2a-07
> 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,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,XSAVE,AVX,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,MELTDOWN
> cpu2: 256KB 64b/line 8-way L2 cache
> cpu2: smt 0, core 1, package 0
> cpu3 at mainbus0: apid 3 (application processor)
> cpu3: Intel(R) Core(TM) i3-2370M CPU @ 2.40GHz, 2394.57 MHz, 06-2a-07
> 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,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,XSAVE,AVX,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,MELTDOWN
> cpu3: 256KB 64b/line 8-way L2 cache
> cpu3: smt 1, core 1, package 0
> ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 24 pins
> acpimcfg0 at acpi0
> acpimcfg0: addr 0xf8000000, bus 0-63
> acpiprt0 at acpi0: bus 0 (PCI0)
> acpiprt1 at acpi0: bus -1 (P0P1)
> acpiprt2 at acpi0: bus 1 (RP01)
> acpiprt3 at acpi0: bus 2 (RP02)
> acpiprt4 at acpi0: bus -1 (RP03)
> acpiprt5 at acpi0: bus 3 (RP04)
> acpiprt6 at acpi0: bus -1 (RP05)
> acpiprt7 at acpi0: bus -1 (RP06)
> acpiprt8 at acpi0: bus -1 (RP07)
> acpiprt9 at acpi0: bus -1 (RP08)
> acpiprt10 at acpi0: bus -1 (PEG0)
> acpiprt11 at acpi0: bus -1 (PEG1)
> acpiprt12 at acpi0: bus -1 (PEG2)
> acpiprt13 at acpi0: bus -1 (PEG3)
> acpiec0 at acpi0
> acpipci0 at acpi0 PCI0: 0x00000004 0x00000011 0x00000001
> acpicmos0 at acpi0
> acpiac0 at acpi0: AC unit offline
> acpibat0 at acpi0: BAT0 model "L09S6Y02" serial 21212 type LION oem
> "3131004f594e4153"
> "VPC2004" at acpi0 not configured
> "SYN032A" at acpi0 not configured
> acpibtn0 at acpi0: LID0
> acpibtn1 at acpi0: SLPB
> "PNP0C14" at acpi0 not configured
> acpicpu0 at acpi0: C3(200@109 io@0x416), C2(500@80 io@0x414),
> C1(1000@1 halt), PSS
> acpicpu1 at acpi0: C3(200@109 io@0x416), C2(500@80 io@0x414),
> C1(1000@1 halt), PSS
> acpicpu2 at acpi0: C3(200@109 io@0x416), C2(500@80 io@0x414),
> C1(1000@1 halt), PSS
> acpicpu3 at acpi0: C3(200@109 io@0x416), C2(500@80 io@0x414),
> C1(1000@1 halt), PSS
> acpitz0 at acpi0: critical temperature is 83 degC
> acpitz1 at acpi0: critical temperature is 126 degC
> acpivideo0 at acpi0: PEGP
> acpivideo1 at acpi0: GFX0
> acpivout0 at acpivideo1: DD02
> cpu0: using VERW MDS workaround (except on vmm entry)
> cpu0: Enhanced SpeedStep 2394 MHz: speeds: 2400, 2000, 1800, 1600,
> 1400, 1200, 1000, 800 MHz
> pci0 at mainbus0 bus 0
> pchb0 at pci0 dev 0 function 0 "Intel Core 2G Host" rev 0x09
> inteldrm0 at pci0 dev 2 function 0 "Intel HD Graphics 3000" rev 0x09
> drm0 at inteldrm0
> inteldrm0: msi, SANDYBRIDGE, gen 6
> "Intel 6 Series MEI" rev 0x04 at pci0 dev 22 function 0 not configured
> ehci0 at pci0 dev 26 function 0 "Intel 6 Series USB" rev 0x05: apic 2 int 16
> 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
> azalia0 at pci0 dev 27 function 0 "Intel 6 Series HD Audio" rev 0x05: msi
> azalia0: codecs: Realtek ALC272, Intel/0x2805, using Realtek ALC272
> audio0 at azalia0
> ppb0 at pci0 dev 28 function 0 "Intel 6 Series PCIE" rev 0xb5: msi
> pci1 at ppb0 bus 1
> ppb1 at pci0 dev 28 function 1 "Intel 6 Series PCIE" rev 0xb5: msi
> pci2 at ppb1 bus 2
> athn0 at pci2 dev 0 function 0 "Atheros AR9285" rev 0x01: apic 2 int 17
> athn0: AR9285 rev 2 (1T1R), ROM rev 14, address 44:6d:57:df:09:ea
> ppb2 at pci0 dev 28 function 3 "Intel 6 Series PCIE" rev 0xb5: msi
> pci3 at ppb2 bus 3
> re0 at pci3 dev 0 function 0 "Realtek 8168" rev 0x06: RTL8168E/8111E
> (0x2c00), msi, address f0:de:f1:fa:d6:2a
> rgephy0 at re0 phy 7: RTL8169S/8110S/8211 PHY, rev. 4
> ehci1 at pci0 dev 29 function 0 "Intel 6 Series USB" rev 0x05: apic 2 int 23
> usb1 at ehci1: USB revision 2.0
> uhub1 at usb1 configuration 1 interface 0 "Intel EHCI root hub" rev
> 2.00/1.00 addr 1
> pcib0 at pci0 dev 31 function 0 "Intel HM65 LPC" rev 0x05
> ahci0 at pci0 dev 31 function 2 "Intel 6 Series AHCI" rev 0x05: msi, AHCI 1.3
> ahci0: port 0: 3.0Gb/s
> ahci0: port 4: 1.5Gb/s
> scsibus1 at ahci0: 32 targets
> sd0 at scsibus1 targ 0 lun 0: <ATA, TOSHIBA MK3265GS, GJ20> 
> naa.50000393f3d080d2
> sd0: 305245MB, 512 bytes/sector, 625142448 sectors
> cd0 at scsibus1 targ 4 lun 0: <PLDS, DVD-RW DS8A8SH, KL31> removable
> ichiic0 at pci0 dev 31 function 3 "Intel 6 Series SMBus" rev 0x05: apic 2 int 
> 18
> iic0 at ichiic0
> spdmem0 at iic0 addr 0x50: 2GB DDR3 SDRAM PC3-10600 SO-DIMM
> 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)
> wsmouse0 at pms0 mux 0
> pms0: Synaptics touchpad, firmware 7.2, 0x1c0b1 0xa40000 0x0 0xd04731 0xa0000
> pcppi0 at isa0 port 0x61
> spkr0 at pcppi0
> vmm0 at mainbus0: VMX/EPT
> efifb at mainbus0 not configured
> uhub2 at uhub0 port 1 configuration 1 interface 0 "Intel Rate Matching
> Hub" rev 2.00/0.00 addr 2
> uvideo0 at uhub2 port 5 configuration 1 interface 0 "Chicony Corp.
> Lenovo EasyCamera" rev 2.00/11.56 addr 3
> video0 at uvideo0
> uhub3 at uhub1 port 1 configuration 1 interface 0 "Intel Rate Matching
> Hub" rev 2.00/0.00 addr 2
> ugen0 at uhub3 port 6 "Generic USB2.0-CRW" rev 2.00/39.60 addr 3
> vscsi0 at root
> scsibus2 at vscsi0: 256 targets
> softraid0 at root
> scsibus3 at softraid0: 256 targets
> root on sd0a (98c15e4e4f72c3b7.a) swap on sd0b dump on sd0b
> inteldrm0: 1366x768, 32bpp
> wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation), using wskbd0
> wsdisplay0: screen 1-5 added (std, vt100 emulation)
> 
> ----
> dmesg (using efifb(4), mode 0):
> 
> OpenBSD 7.1 (GENERIC.MP) #465: Mon Apr 11 18:03:57 MDT 2022
>     [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> real mem = 2034790400 (1940MB)
> avail mem = 1955885056 (1865MB)
> User Kernel Config
> UKC> disable inteldrm
> 238 inteldrm* disabled
> UKC> quit
> Continuing...
> random: good seed from bootblocks
> mpath0 at root
> scsibus0 at mpath0: 256 targets
> mainbus0 at root
> bios0 at mainbus0: SMBIOS rev. 2.6 @ 0xf9e10 (66 entries)
> bios0: vendor LENOVO version "43CN45WW" date 02/16/2012
> bios0: LENOVO HuronRiver Platform
> acpi0 at bios0: ACPI 3.0
> acpi0: sleep states S0 S1 S3 S4 S5
> acpi0: tables DSDT FACP SLIC SSDT ASF! HPET APIC MCFG SSDT SSDT UEFI UEFI UEFI
> acpi0: wakeup devices P0P1(S4) GLAN(S4) EHC1(S3) EHC2(S3) HDEF(S4)
> RP01(S4) PXSX(S4) RP02(S4) PXSX(S4) RP03(S4) PXSX(S4) RP04(S4)
> PXSX(S4) RP05(S4) PXSX(S4) RP06(S4) [...]
> 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: Intel(R) Core(TM) i3-2370M CPU @ 2.40GHz, 2394.96 MHz, 06-2a-07
> 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,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,XSAVE,AVX,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,MELTDOWN
> 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 99MHz
> cpu0: mwait min=64, max=64, C-substates=0.2.1.1.2, IBE
> cpu1 at mainbus0: apid 1 (application processor)
> cpu1: Intel(R) Core(TM) i3-2370M CPU @ 2.40GHz, 2394.57 MHz, 06-2a-07
> 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,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,XSAVE,AVX,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,MELTDOWN
> cpu1: 256KB 64b/line 8-way L2 cache
> cpu1: smt 1, core 0, package 0
> cpu2 at mainbus0: apid 2 (application processor)
> cpu2: Intel(R) Core(TM) i3-2370M CPU @ 2.40GHz, 2394.57 MHz, 06-2a-07
> 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,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,XSAVE,AVX,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,MELTDOWN
> cpu2: 256KB 64b/line 8-way L2 cache
> cpu2: smt 0, core 1, package 0
> cpu3 at mainbus0: apid 3 (application processor)
> cpu3: Intel(R) Core(TM) i3-2370M CPU @ 2.40GHz, 2394.57 MHz, 06-2a-07
> 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,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,XSAVE,AVX,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,MELTDOWN
> cpu3: 256KB 64b/line 8-way L2 cache
> cpu3: smt 1, core 1, package 0
> ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 24 pins
> acpimcfg0 at acpi0
> acpimcfg0: addr 0xf8000000, bus 0-63
> acpiprt0 at acpi0: bus 0 (PCI0)
> acpiprt1 at acpi0: bus -1 (P0P1)
> acpiprt2 at acpi0: bus 1 (RP01)
> acpiprt3 at acpi0: bus 2 (RP02)
> acpiprt4 at acpi0: bus -1 (RP03)
> acpiprt5 at acpi0: bus 3 (RP04)
> acpiprt6 at acpi0: bus -1 (RP05)
> acpiprt7 at acpi0: bus -1 (RP06)
> acpiprt8 at acpi0: bus -1 (RP07)
> acpiprt9 at acpi0: bus -1 (RP08)
> acpiprt10 at acpi0: bus -1 (PEG0)
> acpiprt11 at acpi0: bus -1 (PEG1)
> acpiprt12 at acpi0: bus -1 (PEG2)
> acpiprt13 at acpi0: bus -1 (PEG3)
> acpiec0 at acpi0
> acpipci0 at acpi0 PCI0: 0x00000004 0x00000011 0x00000001
> acpicmos0 at acpi0
> acpiac0 at acpi0: AC unit offline
> acpibat0 at acpi0: BAT0 model "L09S6Y02" serial 21212 type LION oem
> "3131004f594e4153"
> "VPC2004" at acpi0 not configured
> "SYN032A" at acpi0 not configured
> acpibtn0 at acpi0: LID0
> acpibtn1 at acpi0: SLPB
> "PNP0C14" at acpi0 not configured
> acpicpu0 at acpi0: C3(200@109 io@0x416), C2(500@80 io@0x414),
> C1(1000@1 halt), PSS
> acpicpu1 at acpi0: C3(200@109 io@0x416), C2(500@80 io@0x414),
> C1(1000@1 halt), PSS
> acpicpu2 at acpi0: C3(200@109 io@0x416), C2(500@80 io@0x414),
> C1(1000@1 halt), PSS
> acpicpu3 at acpi0: C3(200@109 io@0x416), C2(500@80 io@0x414),
> C1(1000@1 halt), PSS
> acpitz0 at acpi0: critical temperature is 83 degC
> acpitz1 at acpi0: critical temperature is 126 degC
> acpivideo0 at acpi0: PEGP
> acpivideo1 at acpi0: GFX0
> acpivout0 at acpivideo1: DD02
> cpu0: using VERW MDS workaround (except on vmm entry)
> cpu0: Enhanced SpeedStep 2394 MHz: speeds: 2400, 2000, 1800, 1600,
> 1400, 1200, 1000, 800 MHz
> pci0 at mainbus0 bus 0
> pchb0 at pci0 dev 0 function 0 "Intel Core 2G Host" rev 0x09
> "Intel HD Graphics 3000" rev 0x09 at pci0 dev 2 function 0 not configured
> "Intel 6 Series MEI" rev 0x04 at pci0 dev 22 function 0 not configured
> ehci0 at pci0 dev 26 function 0 "Intel 6 Series USB" rev 0x05: apic 2 int 16
> 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
> azalia0 at pci0 dev 27 function 0 "Intel 6 Series HD Audio" rev 0x05: msi
> azalia0: codecs: Realtek ALC272, Intel/0x2805, using Realtek ALC272
> audio0 at azalia0
> ppb0 at pci0 dev 28 function 0 "Intel 6 Series PCIE" rev 0xb5: msi
> pci1 at ppb0 bus 1
> ppb1 at pci0 dev 28 function 1 "Intel 6 Series PCIE" rev 0xb5: msi
> pci2 at ppb1 bus 2
> athn0 at pci2 dev 0 function 0 "Atheros AR9285" rev 0x01: apic 2 int 17
> athn0: AR9285 rev 2 (1T1R), ROM rev 14, address 44:6d:57:df:09:ea
> ppb2 at pci0 dev 28 function 3 "Intel 6 Series PCIE" rev 0xb5: msi
> pci3 at ppb2 bus 3
> re0 at pci3 dev 0 function 0 "Realtek 8168" rev 0x06: RTL8168E/8111E
> (0x2c00), msi, address f0:de:f1:fa:d6:2a
> rgephy0 at re0 phy 7: RTL8169S/8110S/8211 PHY, rev. 4
> ehci1 at pci0 dev 29 function 0 "Intel 6 Series USB" rev 0x05: apic 2 int 23
> usb1 at ehci1: USB revision 2.0
> uhub1 at usb1 configuration 1 interface 0 "Intel EHCI root hub" rev
> 2.00/1.00 addr 1
> pcib0 at pci0 dev 31 function 0 "Intel HM65 LPC" rev 0x05
> ahci0 at pci0 dev 31 function 2 "Intel 6 Series AHCI" rev 0x05: msi, AHCI 1.3
> ahci0: port 0: 3.0Gb/s
> ahci0: port 4: 1.5Gb/s
> scsibus1 at ahci0: 32 targets
> sd0 at scsibus1 targ 0 lun 0: <ATA, TOSHIBA MK3265GS, GJ20> 
> naa.50000393f3d080d2
> sd0: 305245MB, 512 bytes/sector, 625142448 sectors
> cd0 at scsibus1 targ 4 lun 0: <PLDS, DVD-RW DS8A8SH, KL31> removable
> ichiic0 at pci0 dev 31 function 3 "Intel 6 Series SMBus" rev 0x05: apic 2 int 
> 18
> iic0 at ichiic0
> spdmem0 at iic0 addr 0x50: 2GB DDR3 SDRAM PC3-10600 SO-DIMM
> 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)
> wsmouse0 at pms0 mux 0
> pms0: Synaptics touchpad, firmware 7.2, 0x1c0b1 0xa40000 0x0 0xd04731 0xa0000
> pcppi0 at isa0 port 0x61
> spkr0 at pcppi0
> vmm0 at mainbus0: VMX/EPT
> efifb0 at mainbus0: 1024x768, 32bpp
> wsdisplay0 at efifb0 mux 1: console (std, vt100 emulation), using wskbd0
> wsdisplay0: screen 1-5 added (std, vt100 emulation)
> uhub2 at uhub0 port 1 configuration 1 interface 0 "Intel Rate Matching
> Hub" rev 2.00/0.00 addr 2
> uvideo0 at uhub2 port 5 configuration 1 interface 0 "Chicony Corp.
> Lenovo EasyCamera" rev 2.00/11.56 addr 3
> video0 at uvideo0
> uhub3 at uhub1 port 1 configuration 1 interface 0 "Intel Rate Matching
> Hub" rev 2.00/0.00 addr 2
> ugen0 at uhub3 port 6 "Generic USB2.0-CRW" rev 2.00/39.60 addr 3
> vscsi0 at root
> scsibus2 at vscsi0: 256 targets
> softraid0 at root
> scsibus3 at softraid0: 256 targets
> root on sd0a (98c15e4e4f72c3b7.a) swap on sd0b dump on sd0b
> 

Reply via email to