firefox-esr on amdgpu breaks pledge

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

firefox-esr on amdgpu breaks pledge

George Koehler-2
My firefox-esr-68.4.1 tab crashes whenever a website tries to get a
WebGL context.  I can reproduce this with a 3-line HTML file.  The crash
is a pledge violation by DRM_IOCTL_GET_CLIENT in libdrm/amdgpu, so it
seems specific to machines with amdgpu.  I run the amd64 snapshot
package; my dmesg is at the end of this mail.  I have not set
MOZ_ACCELERATED nor MOZ_WEBRENDER (pkg-readmes/firefox-esr).

For contrast, iridium-2019.11.78 (the fork of chromium) doesn't crash,
and can load sites like https://browserleaks.com/webgl .  Iridium
pledges after it uses DRM_IOCTL_GET_CLIENT.  To load my crash.html in
Iridium, I need to put it in ~/Downloads and pass an absolute path.

To reproduce the crash in Firefox, or lack of crash in Iridium, while
tracing the system calls:

$ cd ~/Downloads
$ cat crash.html
<script>
  document.createElement("canvas").getContext("webgl");
</script>
$ ktrace -i firefox-esr $PWD/crash.html
$ # or
$ ktrace -i iridium $PWD/crash.html

The pledge violation in dmesg:
firefox-esr[12811]: pledge "tty", syscall 54

Part of the trace from Firefox:

 12811 firefox-esr CALL  pledge(0x4e220c99616,0)
 12811 firefox-esr STRU  promise="stdio rpath wpath cpath inet recvfd sendfd p\
        rot_exec unix drm ps"
 12811 firefox-esr RET   pledge 0
...
 12811 firefox-esr CALL  open(0x4e1e3aa6fd0,0x10002<O_RDWR|O_CLOEXEC>)
 12811 firefox-esr NAMI  "/dev/drm0"
 12811 firefox-esr RET   open 39/0x27
...
 12811 firefox-esr CALL  fcntl(39,F_DUPFD_CLOEXEC,0x3)
 12811 firefox-esr RET   fcntl 40/0x28
...
 12811 firefox-esr CALL  ioctl(40,DRM_IOCTL_GET_CLIENT,0x7f7ffffc86c0)
 12811 firefox-esr PLDG  ioctl, "tty", errno 1 Operation not permitted
 12811 firefox-esr PSIG  SIGABRT SIG_DFL

The kernel always says "tty" when ioctl() breaks pledge.  Firefox made
a pledge including "drm", and called DRM_IOCTL_GET_CLIENT on an fd of
/dev/drm0, but the drm pledge allows only a few ioctls, and
DRM_IOCTL_GET_CLIENT seems to be outside the allowed subset.  See
/sys/kern/kern_pledge.c pledge_ioctl(), which calls
/sys/dev/pci/drm/drm_ioctl.c pledge_ioctl_drm().

I made a backtrace with packages debug-firefox-esr and gdb, near the end
end of this mail.  mozilla::gl::GLXLibrary::EnsureInitialized() calls
glXQueryVersion() in libGL, which calls functions in radeonsi_dri.so,
which calls amdgpu_device_initialize() in
/usr/xenocara/lib/libdrm/amdgpu/amdgpu_device.c, which through
amdgpu_get_auth() in the same file, calls drmIoctl() with
DRM_IOCTL_GET_CLIENT.

Iridium pledges after it uses DRM_IOCTL_GET_CLIENT:

  7680 iridium  CALL  ioctl(12,DRM_IOCTL_GET_CLIENT,0x7f7ffffcaac0)
  7680 iridium  RET   ioctl 0
...
  7680 iridium  CALL  ioctl(16,DRM_IOCTL_GET_CLIENT,0x7f7ffffca920)
  7680 iridium  RET   ioctl 0
...
  7680 iridium  CALL  ioctl(13,DRM_IOCTL_GET_CLIENT,0x7f7ffffca920)
  7680 iridium  RET   ioctl 0
...
  7680 iridium  CALL  pledge(0x182988e64b59,0)
  7680 iridium  STRU  promise="stdio drm prot_exec recvfd sendfd tmppath"
  7680 iridium  RET   pledge 0

I suspect that Firefox needs to do whatever Chromium or Iridium is doing
to avoid breaking the pledge.  A person, who lacks the amdgpu hardware
to cause this crash, might not be able to write the code to fix this
crash.  I never got this crash with the 6.6-stable amd64 package of
firefox-esr-68.2.0 on radeon(4), before I replaced some hardware in my
amd64 desktop.  I now run OpenBSD-current with amdgpu(4).

--George

$ egdb firefox-esr firefox-esr.core
...
Core was generated by `firefox-esr'.
Program terminated with signal SIGABRT, Aborted.
#0  ioctl () at -:3
3       -: No such file or directory.
[Current thread is 1 (process 512196)]
(gdb) bt
#0  ioctl () at -:3
#1  0x000004e2804903c0 in drmIoctl () from /usr/X11R6/lib/libdrm.so.7.8
#2  0x000004e2a3bfc700 in amdgpu_device_initialize ()
   from /usr/X11R6/lib/libdrm_amdgpu.so.1.9
#3  0x000004e2e6f8c87f in amdgpu_winsys_create ()
   from /usr/X11R6/lib/modules/dri/radeonsi_dri.so
#4  0x000004e2e676c408 in pipe_radeonsi_create_screen ()
   from /usr/X11R6/lib/modules/dri/radeonsi_dri.so
#5  0x000004e2e6dbf543 in pipe_loader_create_screen ()
   from /usr/X11R6/lib/modules/dri/radeonsi_dri.so
#6  0x000004e2e6c30f22 in dri2_init_screen ()
   from /usr/X11R6/lib/modules/dri/radeonsi_dri.so
#7  0x000004e2e6c2ca1c in driCreateNewScreen2 ()
   from /usr/X11R6/lib/modules/dri/radeonsi_dri.so
#8  0x000004e29fd06c37 in dri2CreateScreen () from /usr/X11R6/lib/libGL.so.17.1
#9  0x000004e29fd14ac5 in __glXInitialize () from /usr/X11R6/lib/libGL.so.17.1
#10 0x000004e29fd101e1 in glXQueryVersion () from /usr/X11R6/lib/libGL.so.17.1
#11 0x000004e2a8f71e7f in mozilla::gl::GLXLibrary::fQueryVersion (
    this=<optimized out>, display=0x4e258855000, major=0x0,
    minor=0x4e2a71a41d5)
    at /usr/obj/ports/firefox-esr-68.4.1/build-amd64/dist/include/GLXLibrary.h:125
#12 mozilla::gl::GLXLibrary::EnsureInitialized (
    this=0x4e2ad5afb00 <mozilla::gl::sGLXLibrary>)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/gfx/gl/GLContextProviderGLX.cpp:156
#13 0x000004e2a8f73c90 in mozilla::gl::CreateOffscreenPixmapContext (
    flags=(mozilla::gl::REQUIRE_COMPAT_PROFILE | mozilla::gl::NO_VALIDATION | mozilla::gl::PREFER_ROBUSTNESS | mozilla::gl::HIGH_POWER), size=...,
    minCaps=..., out_failureId=<optimized out>)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/gfx/gl/GLContextProviderGLX.cpp:986
#14 0x000004e2a8f73f21 in mozilla::gl::GLContextProviderGLX::CreateOffscreen (
    size=..., minCaps=...,
    flags=(mozilla::gl::REQUIRE_COMPAT_PROFILE | mozilla::gl::NO_VALIDATION | mozilla::gl::PREFER_ROBUSTNESS | mozilla::gl::HIGH_POWER),
    out_failureId=0x7f7ffffc9b00)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/gfx/gl/GLContextProviderGLX.cpp:1052
#15 0x000004e2a9ea1d6a in mozilla::WebGLContext::CreateAndInitGL(bool, std::__1::vector<mozilla::WebGLContext::FailureReason, std::__1::allocator<mozilla::WebGLContext::FailureReason> >*)::$_12::operator()(already_AddRefed<mozilla::gl::GLContext> (*)(mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gl::SurfaceCaps const&, mozilla::gl::CreateContextFlags, nsTSubstring<char>*)
, char const*) const (this=<optimized out>,
    pfnCreateOffscreen=<optimized out>, info=<optimized out>)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/dom/canvas/WebGLContext.cpp:582
#16 mozilla::WebGLContext::CreateAndInitGL(bool, std::__1::vector<mozilla::WebGLContext::FailureReason, std::__1::allocator<mozilla::WebGLContext::FailureReason> >*)::$_1::operator()() const (this=<optimized out>)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/dom/canvas/WebGLContext.cpp:595
#17 mozilla::WebGLContext::CreateAndInitGL (this=0x4e2b6e95000,
    forceEnabled=<optimized out>, out_failReasons=0x7f7ffffc9bd0)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/dom/canvas/WebGLContext.cpp:589
#18 0x000004e2a9ea2805 in mozilla::WebGLContext::SetDimensions (
    this=0x4e2b6e95000, signedWidth=<optimized out>,
    signedHeight=<optimized out>)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/dom/canvas/WebGLContext.cpp:842
#19 0x000004e2a9e7f807 in mozilla::dom::CanvasRenderingContextHelper::UpdateContext (this=0x4e1e9d7d980, aCx=0x4e2971427d0, aNewContextOptions=...,
    aRvForDictionaryInit=...)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/dom/canvas/CanvasRenderi
ngContextHelper.cpp:216
#20 0x000004e2a9e7f5b0 in mozilla::dom::CanvasRenderingContextHelper::GetContext (this=0x4e1e9d7d980, aCx=0x4e2971427d0, aContextId=..., aContextOptions=...,
    aRv=...)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/dom/canvas/CanvasRenderingContextHelper.cpp:174
#21 0x000004e2a9d173e3 in mozilla::dom::HTMLCanvasElement_Binding::getContext (
    cx=0x4e2971427d0, obj=..., self=0x4e1e9d7d900, args=...)
    at HTMLCanvasElementBinding.cpp:288
#22 0x000004e2a9e2330f in mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::NormalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions> (cx=0x4e2971427d0, argc=<optimized out>, vp=<optimized out>)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/dom/bindings/BindingUtils.cpp:3238
#23 0x000004e2ac15f618 in CallJSNative (cx=<optimized out>,
    native=0x4e2a9e23140 <mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::NormalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions>(JSContext*, unsigned int, JS::Value*)>, args=...)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/js/src/vm/Interpreter.cpp:443
#24 js::InternalCallOrConstruct (cx=0x4e2971427d0, args=...,
    construct=<optimized out>)
   .1/js/src/vm/Interpreter.cpp:535
#25 0x000004e2ac15d17c in js::CallFromStack (cx=0x4e2971427d0, args=...)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/js/src/vm/Interpreter.cpp:594
#26 Interpret (cx=<optimized out>, state=...)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/js/src/vm/Interpreter.cpp:3082
#27 0x000004e2ac151fd4 in js::RunScript (cx=0x4e2971427d0, state=...)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/js/src/vm/Interpreter.cpp:423
#28 0x000004e2ac160926 in js::ExecuteKernel (cx=0x28, script=...,
    envChainArg=..., newTargetValue=..., evalInFrame=..., result=0x0)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/js/src/vm/Interpreter.cpp:782
#29 0x000004e2ac160aed in js::Execute (cx=0x4e2971427d0, script=...,
    envChainArg=..., rval=0x0)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/js/src/vm/Interpreter.cpp:815
#30 0x000004e2ac215c43 in ExecuteScript (cx=0x4e2971427d0, envChain=...,
    scriptArg=..., rval=0x0)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/js/src/vm/CompilationAnd
Evaluation.cpp:455
#31 0x000004e2a95476fb in nsJSUtils::ExecutionContext::ExecScript (
    this=0x7f7ffffca808)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/dom/base/nsJSUtils.cpp:384
#32 0x000004e2aa98b461 in mozilla::dom::ExecuteCompiledScript (
    aCx=<optimized out>, aRequest=<optimized out>, aExec=...)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/dom/script/ScriptLoader.cpp:2498
#33 0x000004e2aa98a8fc in mozilla::dom::ScriptLoader::EvaluateScript (
    this=0x4e2ad78c000, aRequest=0x4e1f3cec800)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/dom/script/ScriptLoader.cpp:2718
#34 0x000004e2aa988ba3 in mozilla::dom::ScriptLoader::ProcessRequest (
    this=0x4e2ad78c000, aRequest=0x4e1f3cec800)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/dom/script/ScriptLoader.cpp:2225
#35 0x000004e2aa987d1d in mozilla::dom::ScriptLoader::ProcessInlineScript (
    this=<optimized out>, aElement=0x4e25e07f080, aScriptKind=<optimized out>)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/dom/script/ScriptLoader.cpp:1806
#36 0x000004e2aa97d921 in mozilla::dom::ScriptLoader::ProcessScriptElement (
    this=0x4e2ad78c000, aElement=0x4e25e07f080)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/dom/script/ScriptLoader.cpp:1529
#37 0x000004e2aa97d634 in mozilla::dom::ScriptElement::MaybeProcessScript (
    this=0x4e25e07f080)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/dom/script/ScriptElement.cpp:118
#38 0x000004e2a8e7cc72 in nsIScriptElement::AttemptToExecute (
    this=0x4e25e07f080)
    at /usr/obj/ports/firefox-esr-68.4.1/build-amd64/dist/include/nsIScriptElement.h:224
#39 nsHtml5TreeOpExecutor::RunScript (this=0x4e256f23800,
    aScriptElement=<optimized out>)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/parser/html/nsHtml5TreeOpExecutor.cpp:727
#40 0x000004e2a8e7b222 in nsHtml5TreeOpExecutor::RunFlushLoop (
    this=0x4e256f23800)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/parser/html/nsHtml5TreeOpExecutor.cpp:530
#41 0x000004e2a8e7f9e7 in nsHtml5ExecutorReflusher::Run (this=0x4e211f91f00)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/parser/html/nsHtml5TreeOpExecutor.cpp:68
#42 0x000004e2a838fc59 in mozilla::SchedulerGroup::Runnable::Run (
    this=0x4e270e74f80)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/xpcom/threads/SchedulerGroup.cpp:295
#43 0x000004e2a83a1ed9 in nsThread::ProcessNextEvent (this=0x4e26102f400,
    aMayWait=<optimized out>, aResult=0x7f7ffffcb06f)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/xpcom/threads/nsThread.cpp:1175
#44 0x000004e2a83a43f1 in NS_ProcessNextEvent (aThread=0x28,
    aMayWait=<optimized out>)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/xpcom/threads/nsThreadUtils.cpp:486
#45 0x000004e2a8802ef0 in mozilla::ipc::MessagePump::Run (this=0x4e2dd224c80,
    aDelegate=0x7f7ffffcb1a0)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/ipc/glue/MessagePump.cpp:88
#46 0x000004e2a87851bc in MessageLoop::RunInternal (this=<optimized out>)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/ipc/chromium/src/base/message_loop.cc:315
#47 MessageLoop::RunHandler (this=<optimized out>)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/ipc/chromium/src/base/message_loop.cc:308
#48 MessageLoop::Run (this=0xc0286405)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/ipc/chromium/src/base/message_loop.cc:290
#49 0x000004e2aaaade88 in nsBaseAppShell::Run (this=0x4e284f9cb80)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/widget/nsBaseAppShell.cpp:137
#50 0x000004e2ac06a4ab in XRE_RunAppShell ()
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/toolkit/xre/nsEmbedFunctions.cpp:926
#51 0x000004e2a87851bc in MessageLoop::RunInternal (this=<optimized out>)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/ipc/chromium/src/base/message_loop.cc:315
#52 MessageLoop::RunHandler (this=<optimized out>)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/ipc/chromium/src/base/message_loop.cc:308
#53 MessageLoop::Run (this=0xc0286405)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/ipc/chromium/src/base/message_loop.cc:290
#54 0x000004e2ac06a160 in XRE_InitChildProcess (aArgc=<optimized out>,
    aArgv=<optimized out>, aChildData=<optimized out>)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/toolkit/xre/nsEmbedFunctions.cpp:764
#55 0x000004dfe0b0b5af in content_process_main (bootstrap=0x4e2dd21a5c0,
    argc=<optimized out>, argv=<optimized out>)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/browser/app/../../ipc/contentproc/plugin-container.cpp:56
#56 main (argc=<optimized out>, argv=0x7f7ffffcb818, envp=<optimized out>)
    at /usr/obj/ports/firefox-esr-68.4.1/firefox-68.4.1/browser/app/nsBrowserApp.cpp:268

OpenBSD 6.6-current (GENERIC.MP) #608: Wed Jan 15 00:50:38 MST 2020
    [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 14961672192 (14268MB)
avail mem = 14495764480 (13824MB)
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.8 @ 0xe6cf0 (59 entries)
bios0: vendor American Megatrends Inc. version "M.30" date 09/18/2019
bios0: Micro-Star International Co., Ltd MS-7B86
acpi0 at bios0: ACPI 6.0
acpi0: sleep states S0 S3 S4 S5
acpi0: tables DSDT FACP APIC FPDT FIDT SSDT SSDT SSDT MCFG HPET UEFI IVRS CRAT CDIT BGRT SSDT SSDT SSDT SSDT WSMT
acpi0: wakeup devices GPP0(S4) GPP2(S4) GPP3(S4) GPP4(S4) GPP5(S4) GPP6(S4) GP17(S4) XHC0(S4) XHC1(S4) GP18(S4) GPP1(S4) PT21(S3) PTXH(S4)
acpitimer0 at acpi0: 3579545 Hz, 32 bits
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: AMD Ryzen 5 3400G with Radeon Vega Graphics, 3700.56 MHz, 17-18-01
cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,FMA3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,RDRAND,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,SKINIT,TCE,TOPEXT,CPCTR,DBKP,PCTRL3,MWAITX,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,RDSEED,ADX,SMAP,CLFLUSHOPT,SHA,IBPB,XSAVEOPT,XSAVEC,XGETBV1,XSAVES
cpu0: 64KB 64b/line 4-way I-cache, 32KB 64b/line 8-way D-cache, 512KB 64b/line 8-way L2 cache, 4MB 64b/line 16-way L3 cache
cpu0: ITLB 64 4KB entries fully associative, 64 4MB entries fully associative
cpu0: DTLB 64 4KB entries fully associative, 64 4MB entries fully associative
cpu0: smt 0, core 0, package 0
mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
cpu0: apic clock running at 25MHz
cpu0: mwait min=64, max=64, C-substates=1.1, IBE
cpu1 at mainbus0: apid 2 (application processor)
cpu1: AMD Ryzen 5 3400G with Radeon Vega Graphics, 3699.96 MHz, 17-18-01
cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,FMA3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,RDRAND,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,SKINIT,TCE,TOPEXT,CPCTR,DBKP,PCTRL3,MWAITX,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,RDSEED,ADX,SMAP,CLFLUSHOPT,SHA,IBPB,XSAVEOPT,XSAVEC,XGETBV1,XSAVES
cpu1: 64KB 64b/line 4-way I-cache, 32KB 64b/line 8-way D-cache, 512KB 64b/line 8-way L2 cache, 4MB 64b/line 16-way L3 cache
cpu1: ITLB 64 4KB entries fully associative, 64 4MB entries fully associative
cpu1: DTLB 64 4KB entries fully associative, 64 4MB entries fully associative
cpu1: smt 0, core 1, package 0
cpu2 at mainbus0: apid 4 (application processor)
cpu2: AMD Ryzen 5 3400G with Radeon Vega Graphics, 3699.95 MHz, 17-18-01
cpu2: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,FMA3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,RDRAND,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,SKINIT,TCE,TOPEXT,CPCTR,DBKP,PCTRL3,MWAITX,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,RDSEED,ADX,SMAP,CLFLUSHOPT,SHA,IBPB,XSAVEOPT,XSAVEC,XGETBV1,XSAVES
cpu2: 64KB 64b/line 4-way I-cache, 32KB 64b/line 8-way D-cache, 512KB 64b/line 8-way L2 cache, 4MB 64b/line 16-way L3 cache
cpu2: ITLB 64 4KB entries fully associative, 64 4MB entries fully associative
cpu2: DTLB 64 4KB entries fully associative, 64 4MB entries fully associative
cpu2: smt 0, core 2, package 0
cpu3 at mainbus0: apid 6 (application processor)
cpu3: AMD Ryzen 5 3400G with Radeon Vega Graphics, 3699.95 MHz, 17-18-01
cpu3: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,FMA3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,RDRAND,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,SKINIT,TCE,TOPEXT,CPCTR,DBKP,PCTRL3,MWAITX,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,RDSEED,ADX,SMAP,CLFLUSHOPT,SHA,IBPB,XSAVEOPT,XSAVEC,XGETBV1,XSAVES
cpu3: 64KB 64b/line 4-way I-cache, 32KB 64b/line 8-way D-cache, 512KB 64b/line 8-way L2 cache, 4MB 64b/line 16-way L3 cache
cpu3: ITLB 64 4KB entries fully associative, 64 4MB entries fully associative
cpu3: DTLB 64 4KB entries fully associative, 64 4MB entries fully associative
cpu3: smt 0, core 3, package 0
cpu4 at mainbus0: apid 1 (application processor)
cpu4: AMD Ryzen 5 3400G with Radeon Vega Graphics, 3699.96 MHz, 17-18-01
cpu4: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,FMA3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,RDRAND,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,SKINIT,TCE,TOPEXT,CPCTR,DBKP,PCTRL3,MWAITX,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,RDSEED,ADX,SMAP,CLFLUSHOPT,SHA,IBPB,XSAVEOPT,XSAVEC,XGETBV1,XSAVES
cpu4: 64KB 64b/line 4-way I-cache, 32KB 64b/line 8-way D-cache, 512KB 64b/line 8-way L2 cache, 4MB 64b/line 16-way L3 cache
cpu4: ITLB 64 4KB entries fully associative, 64 4MB entries fully associative
cpu4: DTLB 64 4KB entries fully associative, 64 4MB entries fully associative
cpu4: smt 1, core 0, package 0
cpu5 at mainbus0: apid 3 (application processor)
cpu5: AMD Ryzen 5 3400G with Radeon Vega Graphics, 3699.95 MHz, 17-18-01
cpu5: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,FMA3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,RDRAND,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,SKINIT,TCE,TOPEXT,CPCTR,DBKP,PCTRL3,MWAITX,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,RDSEED,ADX,SMAP,CLFLUSHOPT,SHA,IBPB,XSAVEOPT,XSAVEC,XGETBV1,XSAVES
cpu5: 64KB 64b/line 4-way I-cache, 32KB 64b/line 8-way D-cache, 512KB 64b/line 8-way L2 cache, 4MB 64b/line 16-way L3 cache
cpu5: ITLB 64 4KB entries fully associative, 64 4MB entries fully associative
cpu5: DTLB 64 4KB entries fully associative, 64 4MB entries fully associative
cpu5: smt 1, core 1, package 0
cpu6 at mainbus0: apid 5 (application processor)
cpu6: AMD Ryzen 5 3400G with Radeon Vega Graphics, 3699.95 MHz, 17-18-01
cpu6: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,FMA3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,RDRAND,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,SKINIT,TCE,TOPEXT,CPCTR,DBKP,PCTRL3,MWAITX,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,RDSEED,ADX,SMAP,CLFLUSHOPT,SHA,IBPB,XSAVEOPT,XSAVEC,XGETBV1,XSAVES
cpu6: 64KB 64b/line 4-way I-cache, 32KB 64b/line 8-way D-cache, 512KB 64b/line 8-way L2 cache, 4MB 64b/line 16-way L3 cache
cpu6: ITLB 64 4KB entries fully associative, 64 4MB entries fully associative
cpu6: DTLB 64 4KB entries fully associative, 64 4MB entries fully associative
cpu6: smt 1, core 2, package 0
cpu7 at mainbus0: apid 7 (application processor)
cpu7: AMD Ryzen 5 3400G with Radeon Vega Graphics, 3699.95 MHz, 17-18-01
cpu7: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,FMA3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,RDRAND,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,SKINIT,TCE,TOPEXT,CPCTR,DBKP,PCTRL3,MWAITX,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,RDSEED,ADX,SMAP,CLFLUSHOPT,SHA,IBPB,XSAVEOPT,XSAVEC,XGETBV1,XSAVES
cpu7: 64KB 64b/line 4-way I-cache, 32KB 64b/line 8-way D-cache, 512KB 64b/line 8-way L2 cache, 4MB 64b/line 16-way L3 cache
cpu7: ITLB 64 4KB entries fully associative, 64 4MB entries fully associative
cpu7: DTLB 64 4KB entries fully associative, 64 4MB entries fully associative
cpu7: smt 1, core 3, package 0
ioapic0 at mainbus0: apid 9 pa 0xfec00000, version 21, 24 pins
ioapic1 at mainbus0: apid 10 pa 0xfec01000, version 21, 32 pins
acpimcfg0 at acpi0
acpimcfg0: addr 0xf8000000, bus 0-63
acpihpet0 at acpi0: 14318180 Hz
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus -1 (GPP0)
acpiprt2 at acpi0: bus -1 (GPP2)
acpiprt3 at acpi0: bus -1 (GPP3)
acpiprt4 at acpi0: bus -1 (GPP4)
acpiprt5 at acpi0: bus -1 (GPP5)
acpiprt6 at acpi0: bus -1 (GPP6)
acpiprt7 at acpi0: bus 38 (GP17)
acpiprt8 at acpi0: bus 39 (GP18)
acpiprt9 at acpi0: bus 18 (GPP1)
acpicpu0 at acpi0: C1(@1 halt!)
acpicpu1 at acpi0: C1(@1 halt!)
acpicpu2 at acpi0: C1(@1 halt!)
acpicpu3 at acpi0: C1(@1 halt!)
acpicpu4 at acpi0: C1(@1 halt!)
acpicpu5 at acpi0: C1(@1 halt!)
acpicpu6 at acpi0: C1(@1 halt!)
acpicpu7 at acpi0: C1(@1 halt!)
acpipci0 at acpi0 PCI0: 0x00000010 0x00000011 0x00000000
extent `acpipci0 pcibus' (0x0 - 0xff), flags=0
extent `acpipci0 pciio' (0x0 - 0xffffffff), flags=0
     0xcf8 - 0xcff
     0x10000 - 0xffffffff
extent `acpipci0 pcimem' (0x0 - 0xffffffffffffffff), flags=0
     0x0 - 0x9ffff
     0xe0000 - 0xdfffffff
     0xfec30000 - 0xfedfffff
     0x100000000 - 0xffffffffffffffff
acpicmos0 at acpi0
acpibtn0 at acpi0: PWRB
amdgpio0 at acpi0: GPIO uid 0 addr 0xfed81500/0x400 irq 7, 184 pins
"PNP0C14" at acpi0 not configured
"PNP0C14" at acpi0 not configured
"AMDIF030" at acpi0 not configured
"PNP0C14" at acpi0 not configured
acpivideo0 at acpi0: VGA_
acpivideo1 at acpi0: VGA_
pci0 at mainbus0 bus 0
ksmn0 at pci0 dev 0 function 0 "AMD 17h/1xh Root Complex" rev 0x00
"AMD 17h/1xh IOMMU" rev 0x00 at pci0 dev 0 function 2 not configured
pchb0 at pci0 dev 1 function 0 "AMD 17h PCIE" rev 0x00
ppb0 at pci0 dev 1 function 2 "AMD 17h/1xh PCIE" rev 0x00: msi
pci1 at ppb0 bus 18
xhci0 at pci1 dev 0 function 0 vendor "AMD", unknown product 0x43d5 rev 0x01: msi, xHCI 1.10
usb0 at xhci0: USB revision 3.0
uhub0 at usb0 configuration 1 interface 0 "AMD xHCI root hub" rev 3.00/1.00 addr 1
ahci0 at pci1 dev 0 function 1 "AMD 400 Series AHCI" rev 0x01: msi, AHCI 1.3.1
ahci0: port busy after first PMP probe FIS
ahci0: port busy after first PMP probe FIS
ahci0: port 0: 3.0Gb/s
ahci0: port busy after first PMP probe FIS
ahci0: port busy after first PMP probe FIS
ahci0: port 1: 6.0Gb/s
ahci0: port busy after first PMP probe FIS
ahci0: port busy after first PMP probe FIS
ahci0: port 4: 3.0Gb/s
ahci0: port busy after first PMP probe FIS
ahci0: port busy after first PMP probe FIS
ahci0: port 5: 1.5Gb/s
scsibus1 at ahci0: 32 targets
sd0 at scsibus1 targ 0 lun 0: <ATA, ST500DM005 HD502, 1AJ1> naa.50004cf206a07f40
sd0: 476940MB, 512 bytes/sector, 976773168 sectors
sd1 at scsibus1 targ 1 lun 0: <ATA, TEAM T253TD480G, 02K0> t10.ATA_TEAM_T253TD480G_AC20191128A0101757_
sd1: 457862MB, 512 bytes/sector, 937703088 sectors, thin
sd2 at scsibus1 targ 4 lun 0: <ATA, WDC WD8000AARS-0, 80.0> naa.50014ee2aedba8b4
sd2: 763097MB, 512 bytes/sector, 1562824368 sectors
cd0 at scsibus1 targ 5 lun 0: <HL-DT-ST, DVDRAM GH22LS50, TL02> removable
ppb1 at pci1 dev 0 function 2 "AMD 400 Series PCIE" rev 0x01
pci2 at ppb1 bus 32
ppb2 at pci2 dev 0 function 0 "AMD 400 Series PCIE" rev 0x01: msi
pci3 at ppb2 bus 33
ppb3 at pci2 dev 1 function 0 "AMD 400 Series PCIE" rev 0x01: msi
pci4 at ppb3 bus 34
re0 at pci4 dev 0 function 0 "Realtek 8168" rev 0x15: RTL8168H/8111H (0x5400), msi, address 00:d8:61:ca:7a:49
rgephy0 at re0 phy 7: RTL8251 PHY, rev. 0
ppb4 at pci2 dev 4 function 0 "AMD 400 Series PCIE" rev 0x01: msi
pci5 at ppb4 bus 37
pchb1 at pci0 dev 8 function 0 "AMD 17h PCIE" rev 0x00
ppb5 at pci0 dev 8 function 1 "AMD 17h/1xh PCIE" rev 0x00
pci6 at ppb5 bus 38
amdgpu0 at pci6 dev 0 function 0 "ATI Picasso" rev 0xc8
drm0 at amdgpu0
amdgpu0: msi
azalia0 at pci6 dev 0 function 1 "ATI Radeon Vega HD Audio" rev 0x00: msi
azalia0: no supported codecs
ccp0 at pci6 dev 0 function 2 "AMD 17h/1xh Crypto" rev 0x00
xhci1 at pci6 dev 0 function 3 "AMD 17h/1xh xHCI" rev 0x00: msi, xHCI 1.10
usb1 at xhci1: USB revision 3.0
uhub1 at usb1 configuration 1 interface 0 "AMD xHCI root hub" rev 3.00/1.00 addr 1
xhci2 at pci6 dev 0 function 4 "AMD 17h/1xh xHCI" rev 0x00: msi, xHCI 1.10
usb2 at xhci2: USB revision 3.0
uhub2 at usb2 configuration 1 interface 0 "AMD xHCI root hub" rev 3.00/1.00 addr 1
azalia1 at pci6 dev 0 function 6 "AMD 17h/1xh HD Audio" rev 0x00: apic 10 int 30
azalia1: codecs: Realtek/0x0892
audio0 at azalia1
ppb6 at pci0 dev 8 function 2 "AMD 17h/1xh PCIE" rev 0x00
pci7 at ppb6 bus 39
ahci1 at pci7 dev 0 function 0 "AMD FCH AHCI" rev 0x61: msi, AHCI 1.3.1
ahci1: unable to disable CR, ignoring port 0
scsibus2 at ahci1: 32 targets
piixpm0 at pci0 dev 20 function 0 "AMD FCH SMBus" rev 0x61: polling
iic0 at piixpm0
iic0: addr 0x1c 00=3f 01=00 02=00 04=00 05=00 06=00 07=00 08=00 09=3f 10=03 11=02 12=00 13=01 14=00 15=3f 16=00 17=00 20=95 21=92 22=00 32=00 words 00=3fff 01=00ff 02=00ff 03=ffff 04=00ff 05=00ff 06=00ff 07=00ff
iic0: addr 0x20 01=01 04=2a 06=2a 08=2a 09=3c 0b=18 0c=03 0d=23 0e=02 0f=44 10=44 20=30 21=01 24=27 26=2a 28=2a 29=10 2b=18 2c=03 2d=23 2e=02 2f=44 32=40 40=17 41=17 42=8d 43=a0 45=05 46=01 47=03 48=04 50=0f 51=07 52=55 53=ff 60=36 61=24 62=1b words 00=0002 01=0100 02=0000 03=0054 04=2a00 05=0054 06=2a00 07=0054
iic0: addr 0x4a 00=ff 01=ff 02=f4 03=ae 82=ff 85=2f 86=05 87=12 88=08 89=ff 8a=ff 8b=ff 8c=ff 8d=ff 8e=ff 8f=ff 90=ff 91=ff 92=ff 93=ff 94=ff 95=ff 96=ff 97=ff 98=ff 99=ff 9a=ff 9b=ff 9c=ff 9d=ff 9e=ff 9f=ff a0=ff a1=ff a2=ff a3=ff a4=ff a5=ff a6=ff a7=ff a8=ff a9=ff aa=ff ab=ff ac=ff ad=ff ae=ff af=ff b0=ff b1=ff b2=ff b3=ff b4=ff b5=ff b6=ff b7=ff b8=ff b9=ff ba=ff bb=ff bc=ff bd=ff be=ff bf=ff c0=ff c1=ff c2=ff c3=ff c4=ff c5=ff c6=ff c7=ff c8=ff c9=ff ca=ff cb=ff cc=ff cd=ff ce=ff cf=ff d0=ff d1=ff d2=ff d3=ff d4=ff d5=ff d6=ff d7=ff d8=ff d9=ff da=ff db=ff dc=ff dd=ff de=ff df=ff e0=ff e1=ff e2=ff e3=ff e4=ff e5=ff e6=ff e7=ff e8=ff e9=ff ea=ff eb=ff ec=ff ed=ff ee=ff ef=ff f0=ff f1=ff f2=ff f3=ff f4=ff f5=ff f6=ff f7=ff f8=ff f9=ff fa=ff fb=ff fc=ff fd=ff fe=ff ff=ff words 00=ffff 01=fff4 02=f4ae 03=ae00 04=0000 05=0000 06=0000 07=0000
spdmem0 at iic0 addr 0x52: 8GB DDR4 SDRAM PC4-17000
spdmem1 at iic0 addr 0x53: 8GB DDR4 SDRAM PC4-17000
iic1 at piixpm0
pcib0 at pci0 dev 20 function 3 "AMD FCH LPC" rev 0x51
pchb2 at pci0 dev 24 function 0 "AMD 17h/1xh Data Fabric" rev 0x00
pchb3 at pci0 dev 24 function 1 "AMD 17h/1xh Data Fabric" rev 0x00
pchb4 at pci0 dev 24 function 2 "AMD 17h/1xh Data Fabric" rev 0x00
pchb5 at pci0 dev 24 function 3 "AMD 17h/1xh Data Fabric" rev 0x00
pchb6 at pci0 dev 24 function 4 "AMD 17h/1xh Data Fabric" rev 0x00
pchb7 at pci0 dev 24 function 5 "AMD 17h/1xh Data Fabric" rev 0x00
pchb8 at pci0 dev 24 function 6 "AMD 17h/1xh Data Fabric" rev 0x00
pchb9 at pci0 dev 24 function 7 "AMD 17h/1xh Data Fabric" rev 0x00
isa0 at pcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5 irq 1 irq 12
pckbd0 at pckbc0 (kbd slot)
wskbd0 at pckbd0: console keyboard
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
intr_establish: pic ioapic0 pin 7: can't share type 3 with 2
vmm0 at mainbus0: SVM/RVI
efifb at mainbus0 not configured
uhidev0 at uhub0 port 12 configuration 1 interface 0 "PixArt Microsoft USB Optical Mouse" rev 1.10/1.00 addr 2
uhidev0: iclass 3/1
ums0 at uhidev0: 3 buttons, Z dir
wsmouse0 at ums0 mux 0
uhidev1 at uhub0 port 13 configuration 1 interface 0 "LITEON Technology USB Keyboard" rev 2.00/1.14 addr 3
uhidev1: iclass 3/1
ukbd0 at uhidev1: 8 variable keys, 6 key codes
wskbd1 at ukbd0 mux 1
vscsi0 at root
scsibus3 at vscsi0: 256 targets
softraid0 at root
scsibus4 at softraid0: 256 targets
root on sd1a (4a9839b796558028.a) swap on sd1b dump on sd1b
initializing kernel modesetting (RAVEN 0x1002:0x15D8 0x1462:0x7B86 0xC8).
WARNING !(0) failed at /usr/src/sys/dev/pci/drm/amd/display/dc/calcs/dcn_calcs.c:1372
amdgpu0: 1920x1080, 32bpp
wsdisplay0 at amdgpu0 mux 1: console (std, vt100 emulation), using wskbd0
wskbd1: connecting to wsdisplay0
wsdisplay0: screen 1-5 added (std, vt100 emulation)