lkml.org 
[lkml]   [2006]   [Oct]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: pci_fixup_video change blows up on sparc64
    From
    From: Jesse Barnes <jesse.barnes@intel.com>
    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 majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-10-20 01:21    [W:3.226 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site