N64® Functions Menu
|
al - Audio Library Functions
gDP - DP GBI Macros
gdSP - General GBI Macros
gSP - SP GBI Macros
gt - Turbo Microcode RDP
gu - Graphics Utilities
Math - Math Functions
nuSys - NuSystem
os - N64 Operating System
sp - Sprite Library Functions
uh - Host to Target IO
64DD - N64 Disk Drive
|
|
osVirtualToPhysical
osPhysicalToVirtual
Syntax
#include <ultra64.h>
u32 osVirtualToPhysical(void *vaddr);
void *osPhysicalToVirtual(void *paddr);
Explanation
The osVirtualToPhysical and osPhysicalToVirtual functions translate a CPU virtual address to a physical memory address and vice versa.
The osVirtualToPhysical routine translates an arbitrary CPU virtual address to its physical address, if such a translation exists. If the address is a KSEG0 or a KSEG1 address, the returned result is equivalent to
that of OS_K0_TO_PHYSICAL or OS_K1_TO_PHYSICAL, respectively. Otherwise
the address is part of a translation lookaside buffer (TLB) mapped address space (KUSEG, KSSEG, or
KSEG3), and the TLB is probed to determine if a mapping exists for the
given address. If so, the corresponding physical address is returned;
otherwise, -1 is returned.
The osPhysicalToVirtual routine is a function version of
OS_PHYSICAL_TO_K0, and thus returns the direct mapped, cached (KSEG0)
address corresponding to the address pointed to by the paddr argument.
See Also
osMapTLB
OS_K0_TO_PHYSICAL
OS_K1_TO_PHYSICAL
OS_PHYSICAL_TO_K0
OS_PHYSICAL_TO_K1
|
Nintendo® Confidential
Warning: all information in this document is confidential and covered by a non-disclosure agreement. You are responsible for keeping this information confidential and protected. Nintendo will vigorously enforce this responsibility.
Copyright © 1998
Nintendo of America Inc. All rights reserved Nintendo and N64 are registered trademarks of Nintendo
Last updated March 1998
|
|