Re: [PATCH v6 1/3] Fix ioport_map() for !CONFIG_GENERIC_IOMAP cases.

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

 



On Thursday 06 March 2014, Russell King - ARM Linux wrote:
> On Wed, Mar 05, 2014 at 11:49:08AM +0000, Liviu Dudau wrote:
> > The inline version of ioport_map() that gets used when !CONFIG_GENERIC_IOMAP
> > is wrong. It returns a mapped (i.e. virtual) address that can start from
> > zero and completely ignores the PCI_IOBASE and IO_SPACE_LIMIT that most
> > architectures that use !CONFIG_GENERIC_MAP define.
> 
> What value does PCI_IOBASE and IO_SPACE_LIMIT have on other architectures
> who make use of asm-generic/io.h ?
> 
> $ git grep asm-generic/io.h arch/
> arch/arc/include/asm/io.h:#include <asm-generic/io.h>

PCI support hasn't been upstreamed.

> arch/blackfin/include/asm/io.h:#include <asm-generic/io.h>
> arch/metag/include/asm/io.h:#include <asm-generic/io.h>

No PCI support

> arch/microblaze/include/asm/io.h:/* from asm-generic/io.h */

PCI_IOBASE=0, IO_SPACE_LIMIT=0xffffffff, so no change.

> arch/openrisc/include/asm/io.h:#include <asm-generic/io.h>

No PCI support

> arch/s390/include/asm/io.h:#include <asm-generic/io.h>

s390 supports PCI but no I/O space

> arch/score/include/asm/io.h:#include <asm-generic/io.h>

No PCI support

> arch/unicore32/include/asm/io.h:#include <asm-generic/io.h>

unicore32 is broken currently, the patch fixes it.

> arch/xtensa/include/asm/io.h:#include <asm-generic/io.h>

PCI_IOBASE=0, IO_SPACE_LIMIT=0xffffffff, so no change.

For most of these, I assume we actually want to remove support
for inb/outb as they don't support I/O space accesses. The other
ones look correct to me.

	Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux