MI_CpuCopy*


C Specification

#include <nitro/mi.h>

void MI_CpuCopy8( const void* src, void* dest, u32 size );
void MI_CpuCopy16( const void* src, void* dest, u32 size );
void MI_CpuCopy32( const void* src, void* dest, u32 size );
void MI_CpuCopyFast( const void* src, void* dest, u32 size ); 

Description

This function uses the CPU to copy memory.

MI_CpuCopy8() selects the most efficient copy method based on the transfer source address and transfer destination address, and appropriately carries out the copy in 16-bit and 32-bit units. The alignment of the transfer source address and transfer destination address do not need to be considered. MI_CpuCopy16() copies in 16-bit units. Both the transfer source address and the transfer destination address must be 2-byte aligned. MI_CpuCopy32() copies in 32-bit units. Both the transfer source address and the transfer destination address must be 4-byte aligned. MI_CpuCopyFast() copies at high speed in 32-bit units. Both the transfer source address and the transfer destination address must be 4-byte aligned.

Internal Operation

This processes only with the CPU and does not use the DMA controller. It does not use a system call.

Arguments

src

The address of the transfer source

dest

The address of the transfer destination

size

The size that will be transferred

Return Values

None

See Also

MI_CPUFill*, MI_CpuClear*, MI_CpuSend*, MI_DmaCopy*

Revision History

04/29/2004 Added description of MI_CpuCopy8
03/29/2004 Noted that a system call is not used
12/01/2003 Initial version