Re: Current panic on boot on H11DSI motherboard with epyc cpu (nexus_add_irq: failed)

From: John Baldwin <jhb_at_freebsd.org>
Date: Wed, 18 Apr 2018 11:42:41 -0700
On Wednesday, April 18, 2018 01:56:49 PM Vitalij Satanivskij wrote:
> JB> > If you need any aditional information please tell me about. 
> JB> 
> JB> Can you perhaps turn off the stack trace on boot to not lose the panic messages
> JB> (remove KDB_TRACE from kernel config) and maybe modify the panic message to
> JB> include the IRQ number passed to nexus_add_irq?
> 
> 
> Hm looks like it's always irq with number 256
> eg hpet - 256 
> igb - 256 
> 
> Chenged made for it was
> 
> Index: sys/x86/x86/nexus.c
> ===================================================================
> --- sys/x86/x86/nexus.c (revision 332663)
> +++ sys/x86/x86/nexus.c (working copy)
> _at__at_ -698,7 +698,7 _at__at_
>  {
>  
>         if (rman_manage_region(&irq_rman, irq, irq) != 0)
> -               panic("%s: failed", __func__);
> +               panic("%s: failed irq is: %lu", __func__, irq);
>  }

Ohhhh, this is a different issue.  Sorry.  As a hack, try changing
'FIRST_MSI_INT' to 512 in sys/amd64/include/intr_machdep.h.  The issue
is that some systems now include more than 256 interrupt pins on I/O
APICs, so IRQ 256 is already reserved for use by one of those
interrupt pins.  The real fix is that I need to make FIRST_MSI_INT
dynamic instead of a constant and just define it as the first free IRQ
after the I/O APICs have probed.

-- 
John Baldwin
Received on Wed Apr 18 2018 - 16:42:51 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:15 UTC