ARM with /proc/ioports?

there is an ARM board on my hand with a 2.4.x linux runing on it. before i got the board, i heard, ARM architecture never use IO ports as what x86 do, but in the /proc directory i still found a ioports file, which contains,

d0000300-d000031f : eth0 d31002f8-d31002ff : serial d31003f8-d31003ff : serial

what this mean? if ARM never use ioports, why the ioports file exists in the OS?

another confusion is, this board was equipped with PC/104 bus, and i know PC/104 is actually ISA up to the term of architecture, but ISA itself is architecture denpendent and tied with x86. my question is that why PC/104 can be used on an ARM board? to accessing PC/104 resources, i believe the system need to issue seperated IO instructions which is abvious impossible for ARM. am i right?


- woody

Reply to
Steven Woody
Loading thread data ...

They certainly have IO ports otherwise you'd never getting anything in or out :-) But instead of having a IO address space separate to the memory address space, they are accessing via portions of the memory address space.

All the /proc/ioports is showing is the addresses used (in the one address space) by certain registered devices.

they fake it :-)

such a board would map part of its memory address range for PC104 IO use and part for PC104 mem use, using glue logic to make sure the right interface signals signals are generated to cmake it look like there were

separate IO and mem address spaces.

Reply to
Jim Jackson

thank you. another question is, there is neither a 'pci' file under the /proc nor a lspci command in the system, does this mean the board doesn't equip a pci bus?

1, what measn PC104 IO use and PC104 mem use? 2, can a program use inb() outb() when it running on the board to access extended PC104 peripherals?

thank you.

Reply to
Steven Woody

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.