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

Nintendo® Confidential

## osSetTLBASID

Syntax

#include <ultra64.h>
void osSetTLBASID(s32 asid);
Explanation
The osMapTLB, osUnmapTLB, osUnmapTLBAll, and osSetTLBASID functions manage CPU virtual address mapping.
These calls provide low-level access to the CPU Translation Lookaside Buffer (TLB). The remainder of the CPU virtual address space outside of the direct mapped address spaces KSEG0 and KSEG1 are mapped address spaces that use the TLB to specify the mapping to physical memory on a per-page basis. The CPU TLB consists of 32 entries, which provide mapping to 32 odd/even physical page pairs (64 total pages). Each TLB entry is associated with a particular page size that varies from 4096 bytes to as much as 16 megabytes.
The osSetTLBASID function sets a system-wide address space identifier register that makes valid only mappings of the given address space identifier (as well as global mappings). This feature can be useful for detecting address errors that may lead to unpredictable results.
See Also
osMapTLB
osUnmapTLB
osUnmapTLBAll
osVirtualToPhysical

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