> Date: Fri, 26 Jun 2015 14:58:36 +0200
> From: Reyk Floeter <r...@openbsd.org>
> 
> On Thu, Jun 25, 2015 at 05:43:20PM -0700, Mike Larkin wrote:
> > On Fri, Jun 26, 2015 at 12:09:40AM +0200, Reyk Floeter wrote:
> > > On Thu, Jun 25, 2015 at 11:04:00PM +0200, Imre Vadasz wrote:
> > > > On 22:27 Thu 25 Jun , Reyk Floeter wrote:
> > > > > On Thu, Jun 25, 2015 at 09:21:11PM +0200, Mark Kettenis wrote:
> > > > > > There really is no excuse for using dma_alloc(9) if you have the
> > > > > > bus_dmatag_t available.
> > > > > > 
> > > > > > This re-uses tulip_busdma_allocmem(), which simplifies the code for
> > > > > > allocating the dmamap and such.
> > > > > > 
> > > > > > Unfortunately I can't test this myself right now.
> > > > > > 
> > > > > 
> > > > > Fixes the panic on Hyper-V, see dmesg below.
> > > > > 
> > > > > Unrelated to that, no interrupts on the nic with the ioapic enabled
> > > > > (no traffic and autoneg timeouts).  
> > > > > 
> > > > > Reyk
> > > > 
> > > > On DragonFly BSD and NetBSD I was able to get the NIC interrupts working
> > > > with enabled ioapic, by forcing the NIC's IRQ to be configured as
> > > > edge/high triggered instead of level/low in the ioapic.
> > > 
> > > I had to try this: with a horrible hack(tm) in pci_intr_establish() I
> > > turned de0 into edge triggered and everything works.
> > > 
> > > Reyk
> > 
> > I suspect something is amiss in our interpretation of the interrupt config
> > on amd64 since de(4) works unmodified on i386 with Hyper-V.
> > 
> > Maybe some AML parse screwup?
> > 
> 
> I can confirm this, I installed an i386 VM on the same Hyper-V machine
> and de works just fine without the hack.  amd64's de does not.

That is curious.  There are quite a few differences between the amd64
interrupt subsystem and the i386 interrupt subsystem, so there are
various possibilities on how things can go wrong.

Are the Hyper-V ACPI tables available somewhere?

Reply via email to