Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
MorsGames
GitHub Repository: MorsGames/sm64plus
Path: blob/master/include/PR/os_tlb.h
7858 views
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_ */
108
109