summaryrefslogtreecommitdiff
path: root/packages/libogcfpc/src/ogc/cache.inc
blob: e2776ac60233c08f0be672cf2175163b2e40d54c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87

{$IFDEF OGC_INTERFACE}
const
  LC_BASEPREFIX = $e000;
  LC_BASE = ( LC_BASEPREFIX shl 16 );

procedure DCEnable; cdecl; external;

procedure DCDisable; cdecl; external;

procedure DCFreeze; cdecl; external;

procedure DCUnfreeze; cdecl; external;

procedure DCFlashInvalidate; cdecl; external;

procedure DCInvalidateRange(startaddress: pointer; len: cuint32); cdecl; external;

procedure DCFlushRange(startaddress: pointer; len: cuint32); cdecl; external;

procedure DCStoreRange(startaddress: pointer; len: cuint32); cdecl; external;

procedure DCFlushRangeNoSync(startaddress: pointer; len: cuint32); cdecl; external;

procedure DCStoreRangeNoSync(startaddress: pointer; len: cuint32); cdecl; external;

procedure DCZeroRange(startaddress: pointer; len: cuint32); cdecl; external;

procedure DCTouchRange(startaddress: pointer; len: cuint32); cdecl; external;

procedure ICSync; cdecl; external;

procedure ICFlashInvalidate; cdecl; external;


{$ifdef HW_RVL}
procedure L2Enhance(); cdecl; external;
{$endif}

procedure ICEnable; cdecl; external;

procedure ICDisable; cdecl; external;

procedure ICFreeze; cdecl; external;

procedure ICUnfreeze; cdecl; external;

procedure ICBlockInvalidate(startaddress: pointer); cdecl; external;

procedure ICInvalidateRange(startaddress: pointer; len: cuint32); cdecl; external;

procedure LCEnable; cdecl; external;

procedure LCDisable; cdecl; external;

procedure LCLoadBlocks(par0, par1: pointer; par2: cuint32); cdecl; external;

procedure LCStoreBlocks(par0, par1: pointer; par2: cuint32); cdecl; external;

function LCLoadData(par0, par1: pointer; par2: cuint32): cuint32; cdecl; external;

function LCStoreData(par0, par1: pointer; par2: cuint32): cuint32; cdecl; external;

function LCQueueLength: cuint32; cdecl; external;

function LCQueueWait(par0: cuint32): cuint32; cdecl; external;

procedure LCFlushQueue; cdecl; external;

procedure LCAlloc(par0: pointer; par1: cuint32); cdecl; external;

procedure LCAllocNoInvalidate(par0: pointer; par1: cuint32); cdecl; external;

procedure LCAllocOneTag(par0: cBOOL; par1: pointer); cdecl; external;

procedure LCAllocTags(par0: cBOOL; par1: pointer; par2: cuint32); cdecl; external;


function LCGetBase(): cint32; inline;
{$ENDIF OGC_INTERFACE}

{$IFDEF OGC_IMPLEMENTATION}
function LCGetBase(): cint32; inline;
begin
  LCGetBase := cint32(pointer(LC_BASE)^);
end;
{$ENDIF OGC_IMPLEMENTATION}