blob: f0bd427cbf70d8957c77f562893db58916ba5598 (
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
|
/*@@
@file SetupCache.c
@date Tue Nov 30 10:30:09 1999
@author Tom Goodale
@desc
Sets up cache stuff for the CCTK
@enddesc
@version $Header$
@@*/
#include <stdlib.h>
#include "cctk_Config.h"
#include "cctk_Flesh.h"
#include "cctk_Parameter.h"
#include "cctki_Cache.h"
static const char *rcsid = "$Header$";
CCTK_FILEVERSION(main_SetupCache_c)
/********************************************************************
********************* CCTK Local Routines **********************
********************************************************************/
/*@@
@routine CCTKi_SetupCache
@date Tue Nov 30 10:50:02 1999
@author Tom Goodale
@desc
Sets the cache information.
@enddesc
@calls
@calledby
@history
@endhistory
@returntype int
@returndesc
0 - success
@endreturndesc
@@*/
int CCTKi_SetupCache(void)
{
int param_type;
int manual_cache_setup;
unsigned long cache_size;
unsigned long cacheline_bytes;
manual_cache_setup = (*(CCTK_INT *)CCTK_ParameterGet("manual_cache_setup",
"Cactus",¶m_type));
if(manual_cache_setup)
{
cache_size = (*(CCTK_INT *)CCTK_ParameterGet("manual_cache_size",
"Cactus",¶m_type));
cacheline_bytes = (*(CCTK_INT *)CCTK_ParameterGet("manual_cacheline_bytes",
"Cactus",¶m_type));
}
else
{
cache_size = CCTK_L2_CACHE_SIZE;
cacheline_bytes = CCTK_L2_CACHELINE_BYTES;
}
Utili_CacheDataSet(cacheline_bytes, cache_size);
return 0;
}
|