Gregm asked:
> What does protected mode or DOS have to do with anything? 

DOS runs in real mode, which means you don't have access to 32 bit memory space.
Historically, the limited address space of X86 devices is what led to splitting access into I/O space and memory space.  With 32 bit address space, you have enough addresses that you can waste some on device mapping, since until recently, few systems had 4GB of physical memory.
Hence, systems which run protected mode, such as RTEMS, are tending to gravitate toward completely memory mapped devices, and systems which run in real mode, such as DOS, tend to still use I/O access since you don't want to give up your 1MB memory space to map device access.

Since RTEMS runs in 32 bit flat memory space, it seems that using memory mapped I/O wherever possible would make application code more portable than if you had to worry about some processors using memory mapped devices and X86 using I/O access.

-- Chris Caudle


