sm64

A Super Mario 64 decompilation
Log | Files | Refs | README | LICENSE

os_tlb.h (2683B)


      1 
      2 /*====================================================================
      3  * os_tlb.h
      4  *
      5  * Copyright 1995, Silicon Graphics, Inc.
      6  * All Rights Reserved.
      7  *
      8  * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics,
      9  * Inc.; the contents of this file may not be disclosed to third
     10  * parties, copied or duplicated in any form, in whole or in part,
     11  * without the prior written permission of Silicon Graphics, Inc.
     12  *
     13  * RESTRICTED RIGHTS LEGEND:
     14  * Use, duplication or disclosure by the Government is subject to
     15  * restrictions as set forth in subdivision (c)(1)(ii) of the Rights
     16  * in Technical Data and Computer Software clause at DFARS
     17  * 252.227-7013, and/or in similar or successor clauses in the FAR,
     18  * DOD or NASA FAR Supplement. Unpublished - rights reserved under the
     19  * Copyright Laws of the United States.
     20  *====================================================================*/
     21 
     22 /*---------------------------------------------------------------------*
     23         Copyright (C) 1998 Nintendo. (Originated by SGI)
     24         
     25         $RCSfile: os_tlb.h,v $
     26         $Revision: 1.1 $
     27         $Date: 1998/10/09 08:01:20 $
     28  *---------------------------------------------------------------------*/
     29 
     30 #ifndef _OS_TLB_H_
     31 #define	_OS_TLB_H_
     32 
     33 #ifdef _LANGUAGE_C_PLUS_PLUS
     34 extern "C" {
     35 #endif
     36 
     37 #include <PR/ultratypes.h>
     38 
     39 #if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS)
     40 
     41 /**************************************************************************
     42  *
     43  * Type definitions
     44  *
     45  */
     46 
     47 typedef u32 OSPageMask;
     48 
     49 
     50 #endif /* defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) */
     51 
     52 /**************************************************************************
     53  *
     54  * Global definitions
     55  *
     56  */
     57 
     58 /*
     59  * Page size argument for TLB routines
     60  */
     61 #define OS_PM_4K	0x0000000
     62 #define OS_PM_16K	0x0006000
     63 #define OS_PM_64K	0x001e000
     64 #define OS_PM_256K	0x007e000
     65 #define OS_PM_1M	0x01fe000
     66 #define OS_PM_4M	0x07fe000
     67 #define OS_PM_16M	0x1ffe000
     68 
     69 
     70 #if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS)
     71 
     72 /**************************************************************************
     73  *
     74  * Macro definitions
     75  *
     76  */
     77 
     78 
     79 /**************************************************************************
     80  *
     81  * Extern variables
     82  *
     83  */
     84 
     85 
     86 /**************************************************************************
     87  *
     88  * Function prototypes
     89  *
     90  */
     91 
     92 /* TLB management routines */
     93 
     94 extern void		osMapTLB(s32, OSPageMask, void *, u32, u32, s32);
     95 extern void		osMapTLBRdb(void);
     96 extern void		osUnmapTLB(s32);
     97 extern void		osUnmapTLBAll(void);
     98 extern void		osSetTLBASID(s32);
     99 
    100 
    101 #endif  /* defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) */
    102 
    103 #ifdef _LANGUAGE_C_PLUS_PLUS
    104 }
    105 #endif
    106 
    107 #endif /* !_OS_TLB_H_ */