Re: pci_fixup_video change blows up on sparc64

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

 



From: Jesse Barnes <[email protected]>
Date: Thu, 19 Oct 2006 15:58:05 -0700

> On Thursday, October 19, 2006 3:38 pm, David Miller wrote:
> > > Right, I guess we should have been a bit more careful in making
> > > this code generic.  At least ia64, i386 and x86_64 systems often
> > > have video BIOSes in system memory at 0xc0000 (note that this isn't
> > > in PCI space).
> >
> > Even if it is in system memory there, accessing physical RAM using
> > ioremap() and asm/io.h accessors is not exactly legal.  On sparc64,
> > for example, accessing physical RAM as if it were I/O memory will
> > result in a BUS ERROR and in fact that's how the bootup crashes
> > on sparc64 due to this changeset.
> 
> Good point, we shouldn't use ioremap for the system memory case at all.  
> Should be __va or something I guess.

That's one part, but this won't update all the pci_map_rom() callers
who use asm/io.h accessors on the mapping they get back.  Even
pci_read_rom() in the sysfs code this change was aimed at uses
memcpy_fromio().

Also, as an aside, if we're on a system where the x86 BIOS is unlikely
to be executed anyways, we should always use the PCI ROM bar mapping
to access the video card's ROM.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux