[parisc-linux] Oops in sim700.c on C360

Richard Hirst rhirst@linuxcare.com
Fri, 1 Sep 2000 17:26:02 +0100

On Fri, Sep 01, 2000 at 05:12:33PM +0100, Matthew Wilcox wrote:
> And that's clearly hppa_dma_ops being NULL.  Before I committed the
> support for PCX-S,T machines, this was initialised to pa11_dma_ops
> but I now leave it uninitialised.  If the CPU detection code detects a
> PCX-L or PCX-L2 CPU then hppa_dma_ops gets initialised to pa11_dma_ops.
> If it detects a PCX-S or PCX-T CPU then it initialises it to fail_dma_ops
> (i think richard changed the name recently?).  The CCIO support and
> the SBA/LBA support initialise hppa_dma_ops with their respective
> support routines.  So I deduce that the CCIO support hasn't recognised
> your machine.  Perhaps we should initialise it to a routine which prints
> that the PCI ops haven't been initialised and halts.

        switch (boot_cpu_data.cpu_type) {
        case pcx:
        case pcxs:
        case pcxt:
                hppa_dma_ops = &pcx_dma_ops;
        case pcxl2:
        case pcxl: /* falls through */
                hppa_dma_ops = &pcxl_dma_ops;

I changed fail_dma_ops to pcx_dma_ops because the only difference between
the two sets of machines is that pci_alloc_consistent fails on pcx.  The
other functions referenced by hppa_dma_ops are still valid (pci_map_single,
for example), and are used in sim700 and lasi_82596.