A
PowerPC ISA instruction meaning "Enforce
In-Order Execution of
I/O". This is different from the
sync instruction, which also
flushes the
instruction pipeline, or the
isync instruction which only
serializes execution.
eieio waits for all memory operations to complete before initiating any new ones. This prevents a processor from modifying a mutex'd structure until it's seen as locked by all others in the computer.
It does not wait for previous instructions to complete. That's what isync is for.
I doubt that there ever was a nop instruction on PowerPC or POWER, and if there were, it wouldn't be used for this. eieio is a pretty specialized function usually seen in implementations of multiprocessing APIs in operating systems. nop on PowerPC is ori r0, r0, 0. It's RISC, so they don't like to assign new opcodes willy-nilly (although I don't know the difference between sync and eieio isync).