Subject: re: lack of pciide transfer alignment checking causes crash
To: None <tls@rek.tjls.com>
From: matthew green <mrg@eterna.com.au>
List: tech-kern
Date: 06/27/2005 08:55:28
On Mon, Jun 27, 2005 at 06:48:06AM +1000, matthew green wrote:
>
> On Sun, Jun 26, 2005 at 09:53:51PM +0200, Manuel Bouyer wrote:
> >
> > Right now, bus_dma(9) because it only knows the limitations of the bus
> > (e.g. the 16MB limit for ISA, or 4GB limit for 32bit PCI).
>
> Why not change the attachments for devices with broken bus interfaces
> to hang them off a fake "bus" that enforces the relevant DMA restrictions?
>
> After all, logically that's precisely how they are: they aren't on PCI,
> exactly, they're on a broken-bus-interface-"bus" behind the PCI (from
> the CPU's perspective) that enforces restrictions that PCI doesn't have.
>
>
> i didn't think it was possible for a non-bus (and thus MD) driver to
> provide it's own bus_dma_tag_t.
I'm suggesting that we should create logical "bus" drivers to attach
these devices to. They wouldn't actually _do_ anything but act as
a shim to set up bus_dma the right way; but they should be sufficient
for that, no?
but how? bus_dma is defined in <machine/bus.h> and afaik there is
no way to do what you are suggesting (without changing bus_dma.)
.mrg.