[lkml]   [2001]   [Jul]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [RFC] I/O Access Abstractions
    On Tue, 3 Jul 2001, David Howells wrote:
    > > The question I think being ignored here is. Why not leave things as is. The
    > > multiple bus stuff is a port specific detail hidden behind readb() and
    > > friends.
    > This isn't so much for the case where the address generation is done by a
    > simple addition. That could be optimised away by the compiler with an entirely
    > inline function (as per David Woodhouse's suggestion).
    > It's far more important for non-x86 platforms which only have a single address
    > space and have to fold multiple external address spaces into it.
    > For example, one board I've got doesn't allow you to do a straight
    > memory-mapped I/O access to your PCI device directly, but have to reposition a
    > window in the CPU's memory space over part of the PCI memory space first, and
    > then hold a spinlock whilst you do it.

    This is a common practice on NEC PCI host bridges: usually you have 2 `windows'
    to the PCI bus only, so you can have direct access to only two of PCI memory,
    PCI I/O and PCI config spaces at the same time. If you need access to the
    third, you have to reconfigure the windows. Usually you configure the windows
    to have direct access to PCI memory and PCI I/O spaces. So PCI config space
    takes the hit. If you have only one window, YMMV.



    Geert Uytterhoeven -- There's lots of Linux beyond ia32 --

    In personal conversations with technical people, I call myself a hacker. But
    when I'm talking to journalists I just say "programmer" or something like that.
    -- Linus Torvalds

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 12:56    [W:0.024 / U:62.544 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site