(resending the email since I forgot to include bugs@) Hello Yasuoka,
Thank you for committing the diff. > I didn't commit that parts of the diff. Because I don't think this is necessary for the workaround. Was it ok? Yes, that's alright. > Please let me know if you have any idea. I haven't encountered a physical machine with no GOP instances, but I've tested it in QEMU (by manually hardcoding gop = NULL, in the case of v1.39 of efiboot.c), and the system panicked after a few seconds anyway, so I thought that panicking early with an error message would be nice. On Mon, Jun 20, 2022 at 5:37 AM YASUOKA Masahiko <[email protected]> wrote: > > Hello Alexei, > > The diff is committed, Thanks. > > One thing, > > > I've also made the system panic in case no GOP instances are found. > > I didn't commit that parts of the diff. Because I don't think this is > necessary for the workaround. Was it ok? > > On the conversation with Kettenis at tech@, > > https://marc.info/?t=165148177900005&r=1&w=2 > > he mentioned about headless. I'm not sure whether there is such a x86 > machine. Please let me know if you have any idea. > > > 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 > >
