NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: port-amd64/53807: ena(4) on NetBSD/amd64 8.99.28 on Amazon Web Service EC2 c5.large instance causes kernel panic



The following reply was made to PR port-amd64/53807; it has been noted by GNATS.

From: Ryo ONODERA <ryo%tetera.org@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: 
Subject: Re: port-amd64/53807: ena(4) on NetBSD/amd64 8.99.28 on Amazon Web
 Service EC2 c5.large instance causes kernel panic
Date: Wed, 26 Dec 2018 21:46:50 +0900 (JST)

 Hi,
 
 bus_space_map() returns non-zero in the following src/sys/arch/x86/pci/msipic.c.
 And changing #if 0 to #if 1 has no effect, so I have gotten same result.
 
 From src/sys/arch/x86/pci/msipic.c
 #if 0
         err = pci_mapreg_submap(pa, bar, memtype, BUS_SPACE_MAP_LINEAR,
             roundup(table_size, PAGE_SIZE), table_offset,
             &bstag, &bshandle, NULL, &bssize);
 #else
         /*
          * Workaround for PCI prefetchable bit. Some chips (e.g. Intel 82599)
          * report SERR and MSI-X doesn't work. This problem might not be the
          * driver's bug but our PCI common part or VMs' bug. Until we find a
          * real reason, we ignore the prefetchable bit.
          */
         if (pci_mapreg_info(pa->pa_pc, pa->pa_tag, bar, memtype,
                 &memaddr, NULL, &flags) != 0) {
                 DPRINTF(("cannot get a map info.\n"));
                 msipic_destruct_common_msi_pic(msix_pic);
                 return NULL;
         }
         if ((flags & BUS_SPACE_MAP_PREFETCHABLE) != 0) {
                 DPRINTF(( "clear prefetchable bit\n"));
                 flags &= ~BUS_SPACE_MAP_PREFETCHABLE;
         }
         bssize = roundup(table_size, PAGE_SIZE);
         err = bus_space_map(pa->pa_memt, memaddr + table_offset, bssize, flags,
             &bshandle);
         bstag = pa->pa_memt;
 #endif
         if (err) {
                 DPRINTF(("cannot map msix table.\n"));
                 msipic_destruct_common_msi_pic(msix_pic);
                 return NULL;
         }
 
 --
 Ryo ONODERA // ryo%tetera.org@localhost
 PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3
 


Home | Main Index | Thread Index | Old Index