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#ifndef _HVCALLSC_H
31#include "HvCallSc.h"
32#endif
33
34#ifndef _HVTYPES_H
35#include <asm/iSeries/HvTypes.h>
36#endif
37
38
39
40
41#ifndef _HVCALLCFG_H
42#define _HVCALLCFG_H
43
44enum HvCallCfg_ReqQual
45{
46 HvCallCfg_Cur = 0,
47 HvCallCfg_Init = 1,
48 HvCallCfg_Max = 2,
49 HvCallCfg_Min = 3
50};
51
52#define HvCallCfgGetLps HvCallCfg + 0
53#define HvCallCfgGetActiveLpMap HvCallCfg + 1
54#define HvCallCfgGetLpVrmIndex HvCallCfg + 2
55#define HvCallCfgGetLpMinSupportedPlicVrmIndex HvCallCfg + 3
56#define HvCallCfgGetLpMinCompatablePlicVrmIndex HvCallCfg + 4
57#define HvCallCfgGetLpVrmName HvCallCfg + 5
58#define HvCallCfgGetSystemPhysicalProcessors HvCallCfg + 6
59#define HvCallCfgGetPhysicalProcessors HvCallCfg + 7
60#define HvCallCfgGetSystemMsChunks HvCallCfg + 8
61#define HvCallCfgGetMsChunks HvCallCfg + 9
62#define HvCallCfgGetInteractivePercentage HvCallCfg + 10
63#define HvCallCfgIsBusDedicated HvCallCfg + 11
64#define HvCallCfgGetBusOwner HvCallCfg + 12
65#define HvCallCfgGetBusAllocation HvCallCfg + 13
66#define HvCallCfgGetBusUnitOwner HvCallCfg + 14
67#define HvCallCfgGetBusUnitAllocation HvCallCfg + 15
68#define HvCallCfgGetVirtualBusPool HvCallCfg + 16
69#define HvCallCfgGetBusUnitInterruptProc HvCallCfg + 17
70#define HvCallCfgGetConfiguredBusUnitsForIntProc HvCallCfg + 18
71#define HvCallCfgGetRioSanBusPool HvCallCfg + 19
72#define HvCallCfgGetSharedPoolIndex HvCallCfg + 20
73#define HvCallCfgGetSharedProcUnits HvCallCfg + 21
74#define HvCallCfgGetNumProcsInSharedPool HvCallCfg + 22
75#define HvCallCfgRouter23 HvCallCfg + 23
76#define HvCallCfgRouter24 HvCallCfg + 24
77#define HvCallCfgRouter25 HvCallCfg + 25
78#define HvCallCfgRouter26 HvCallCfg + 26
79#define HvCallCfgRouter27 HvCallCfg + 27
80#define HvCallCfgGetMinRuntimeMsChunks HvCallCfg + 28
81#define HvCallCfgSetMinRuntimeMsChunks HvCallCfg + 29
82#define HvCallCfgGetVirtualLanIndexMap HvCallCfg + 30
83#define HvCallCfgGetLpExecutionMode HvCallCfg + 31
84#define HvCallCfgGetHostingLpIndex HvCallCfg + 32
85
86
87static inline HvLpIndex HvCallCfg_getLps(void)
88{
89 HvLpIndex retVal = HvCall0(HvCallCfgGetLps);
90
91 return retVal;
92}
93
94static inline int HvCallCfg_isBusDedicated(u64 busIndex)
95{
96 int retVal = HvCall1(HvCallCfgIsBusDedicated,busIndex);
97
98 return retVal;
99}
100
101static inline HvLpIndex HvCallCfg_getBusOwner(u64 busIndex)
102{
103 HvLpIndex retVal = HvCall1(HvCallCfgGetBusOwner,busIndex);
104
105 return retVal;
106}
107
108static inline HvLpIndexMap HvCallCfg_getBusAllocation(u64 busIndex)
109{
110 HvLpIndexMap retVal = HvCall1(HvCallCfgGetBusAllocation,busIndex);
111
112 return retVal;
113}
114
115static inline HvLpIndexMap HvCallCfg_getActiveLpMap(void)
116{
117 HvLpIndexMap retVal = HvCall0(HvCallCfgGetActiveLpMap);
118
119 return retVal;
120}
121
122static inline HvLpVirtualLanIndexMap HvCallCfg_getVirtualLanIndexMap(HvLpIndex lp)
123{
124
125
126 u64 retVal = HvCall1(HvCallCfgGetVirtualLanIndexMap, lp);
127 if(retVal == -1)
128 retVal = 0;
129
130 return retVal;
131}
132
133static inline u64 HvCallCfg_getSystemMsChunks(void)
134{
135 u64 retVal = HvCall0(HvCallCfgGetSystemMsChunks);
136
137 return retVal;
138}
139
140static inline u64 HvCallCfg_getMsChunks(HvLpIndex lp,enum HvCallCfg_ReqQual qual)
141{
142 u64 retVal = HvCall2(HvCallCfgGetMsChunks,lp,qual);
143
144 return retVal;
145}
146
147static inline u64 HvCallCfg_getMinRuntimeMsChunks(HvLpIndex lp)
148{
149
150 u64 retVal = HvCall1(HvCallCfgGetMinRuntimeMsChunks,lp);
151
152 return retVal;
153}
154
155static inline u64 HvCallCfg_setMinRuntimeMsChunks(u64 chunks)
156{
157 u64 retVal = HvCall1(HvCallCfgSetMinRuntimeMsChunks,chunks);
158
159 return retVal;
160}
161
162static inline u64 HvCallCfg_getSystemPhysicalProcessors(void)
163{
164 u64 retVal = HvCall0(HvCallCfgGetSystemPhysicalProcessors);
165
166 return retVal;
167}
168
169static inline u64 HvCallCfg_getPhysicalProcessors(HvLpIndex lp,enum HvCallCfg_ReqQual qual)
170{
171 u64 retVal = HvCall2(HvCallCfgGetPhysicalProcessors,lp,qual);
172
173 return retVal;
174}
175
176static inline u64 HvCallCfg_getConfiguredBusUnitsForInterruptProc(HvLpIndex lp,
177 u16 hvLogicalProcIndex)
178{
179 u64 retVal = HvCall2(HvCallCfgGetConfiguredBusUnitsForIntProc,lp,hvLogicalProcIndex);
180
181 return retVal;
182
183}
184
185static inline HvLpSharedPoolIndex HvCallCfg_getSharedPoolIndex(HvLpIndex lp)
186{
187 HvLpSharedPoolIndex retVal =
188 HvCall1(HvCallCfgGetSharedPoolIndex,lp);
189
190 return retVal;
191
192}
193
194static inline u64 HvCallCfg_getSharedProcUnits(HvLpIndex lp,enum HvCallCfg_ReqQual qual)
195{
196 u64 retVal = HvCall2(HvCallCfgGetSharedProcUnits,lp,qual);
197
198 return retVal;
199
200}
201
202static inline u64 HvCallCfg_getNumProcsInSharedPool(HvLpSharedPoolIndex sPI)
203{
204 u16 retVal = HvCall1(HvCallCfgGetNumProcsInSharedPool,sPI);
205
206 return retVal;
207
208}
209
210static inline HvLpIndex HvCallCfg_getHostingLpIndex(HvLpIndex lp)
211{
212 u64 retVal = HvCall1(HvCallCfgGetHostingLpIndex,lp);
213
214 return retVal;
215
216}
217
218#endif
219
220