[parisc-linux] Re: HPMC in ppa_init()
James Bottomley
James.Bottomley at SteelEye.com
Thu May 25 09:33:05 MDT 2006
On Thu, 2006-05-25 at 09:02 -0600, Grant Grundler wrote:
> You will have to disable SCSI_PPA driver from your config.
> It might be easiest to manually remove the driver from
> the initrd.img file and from the /lib/modules on the root disk.
>
> I looked at ppa_init() and it looks quite broken for hppa.
> The problem is stuff like this:
> static int ppa_byte_in(unsigned short base, char *buffer, int len)
> "base" needs to be u32 (unsigned int).
> parisc-linux needs more than 16 bits to represent an IO port address.
> This _could_ work if the parallel port were under PCI Bus 0 _and_
> no other garbage is in the top 16 bits of the register.
It's not just this. ppa and imm are pretty broken even on x86: they
don't use kmap to access the pio data, so they only work in memory from
ZONE_NORMAL ... this probably doesn't affect parisc since we don't have
a ZONE_HIGHMEM, however any READ_ command will go into the kernel's view
of the memory without cache flushing, so it's probable we'd get nasty
cache coherency issues.
James
More information about the parisc-linux
mailing list