lkml.org 
[lkml]   [1999]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: insw(), insl(), outsw(), outsl() behaviour on big-endian processo rs ?
On Mon, 7 Jun 1999, Patrick Lerda wrote:

>
> The functions: insw(), insl(), outsw(), outsl() perform memory block
> copy, and are used in
> a lot of drivers. In the PowerPC version of linux theses fuinctions are
> defined to change the endianess
> of data being proceeded (the endianess is changed with a byte swapping
> operator).
>

These do not perform memory block copy.

insw inputs words from a port to memory with auto-increment.
insl inputs longwords from a port to memory with auto-increment.
outsw outputs words from memory to a port with auto-increment.
outsl outputs lonwords from memory to a port with auto-increment.

"auto-increment" bumps the memory pointer address by the size of the
memory oprand. It can also decrement if the direction flag is set.

Intel machines have, in addition to memory addresses, ports. Ports
exist in I/O space entirely different than memory space. Many devices
are connected to I/O ports, some to both memory and I/O ports.


Cheers,
Dick Johnson
***** FILE SYSTEM WAS MODIFIED *****
Penguin : Linux version 2.2.6 on an i686 machine (400.59 BogoMips).
Warning : It's hard to remain at the trailing edge of technology.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:52    [W:0.074 / U:0.048 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site