What is byte swizzling?
“Swizzling” is the term used to describe the operation needed to do partial longword (i.e. byte or word) accesses to I/O space on those systems that don’t support it directly. It involved shifting the offset into an address space by 5 (or 7 for one older system), and ORing this into the base address. It then required the size of the operation to be ORed into the low order bits. That is, because the EV4 and EV5 CPUs did not bring bits 0 and 1 off the chip, to do programmed I/O for bytes/words, the information on the size/offset of the transfer was encoded into the address data. The data itself then had to be shifted into the correct “byte 14-37 Hardware Information lane” ; into the required offset position within a longword transfer; The EV56 microprocessor supports byte/word instruction references in memory space, however only specific EV56 systems can support byte/word accesses into I/O space; device drivers may or may not be able to utilize to byte/word instructions to access device