Actions
Bug #8902
closedPanic with debug kernel on AMD Ryzen hardware
Status:
Closed
Priority:
Normal
Assignee:
-
Category:
kernel
Start date:
2017-12-07
Due date:
% Done:
100%
Estimated time:
Difficulty:
Medium
Tags:
needs-triage
Gerrit CR:
External Bug:
Description
This AMD Ryzen system is running OI hipster quite nicely. When I use ONU to build a new BE with an illumos debug kernel, the new BE fails early in the boot. Only the SunOS banner appears on the console. With a serial console and a verbose boot, I get this output when the panic occurs:
Reading Intel IOMMU boot options npe0 at root: space 0 offset 0 npe0 is /pci@0,0 PCI Express-device: isa@14,3, isa0 startup.c:2308: configure() done startup.c:2329: NULLing out bootops startup.c:2346: Enabling interrupts panic[cpu0]/thread=fffffffffbc46540: assertion failed: AMD_IOMMU_REG_GET32(&ivrsp->ivrs_ivinfo, AMD_IOMMU_ACPI_IVINFO_RSV2) == 0, file: ../../i86pc/io/amd_iommu/amd_iommu_acpi.c, line: 348 Warning - stack not written to the dump buffer fffffffffbc88700 genunix:process_type+166960 () fffffffffbc88740 amd_iommu:amd_iommu_acpi_init+219 () fffffffffbc88760 amd_iommu:_init+51 () fffffffffbc887a0 genunix:modinstall+113 () fffffffffbc88800 genunix:mod_hold_installed_mod+77 () fffffffffbc88880 genunix:modrload+dd () fffffffffbc888a0 genunix:modload+17 () fffffffffbc888c0 unix:startup_end+174 () fffffffffbc888d0 unix:startup+5a () fffffffffbc88910 genunix:main+9b () fffffffffbc88920 unix:_locore_start+90 () skipping system dump - no dump device configured booting...
Here is part of the code from the i86pc/io/amd_iommu/amd_iommu_acpi.c file, in the amd_iommu_acpi_init function:
335: if (AcpiGetTable(IVRS_SIG, 1, (ACPI_TABLE_HEADER **)&ivrsp) != AE_OK) { 336: cmn_err(CE_NOTE, "!amd_iommu: No AMD IOMMU ACPI IVRS table"); 337: return (DDI_FAILURE); 338: } 339: 340: /* 341: * Reserved field must be 0 342: */ 343: ASSERT(ivrsp->ivrs_resv == 0); 344: 345: ASSERT(AMD_IOMMU_REG_GET32(&ivrsp->ivrs_ivinfo, 346: AMD_IOMMU_ACPI_IVINFO_RSV1) == 0); 347: ASSERT(AMD_IOMMU_REG_GET32(&ivrsp->ivrs_ivinfo, 348: AMD_IOMMU_ACPI_IVINFO_RSV2) == 0);
It seems to be the second assert that causes the panic. Perhaps it should be doing something other than assert at this point?
Updated by Electric Monk almost 6 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100
git commit bea2d2b818ffe6739ebe3d447f51007733f518ce
commit bea2d2b818ffe6739ebe3d447f51007733f518ce Author: Gary Mills <gary_mills@fastmail.fm> Date: 2017-12-14T01:29:13.000Z 8902 Panic with debug kernel on AMD Ryzen hardware Reviewed by: ken mays <maybird1776@yahoo.com> Reviewed by: Toomas Soome <tsoome@me.com> Approved by: Robert Mustacchi <rm@joyent.com>
Actions