more changes on original files
[linux-2.4.git] / include / asm-ppc64 / iSeries / HvCallXm.h
1 //============================================================================
2 //                                                       Header File Id
3 // Name______________:  HvCallXm.H
4 //
5 // Description_______:
6 //
7 //      This file contains the "hypervisor call" interface which is used to
8 //      drive the hypervisor from SLIC.
9 //
10 //============================================================================
11
12 //-------------------------------------------------------------------
13 // Forward declarations 
14 //-------------------------------------------------------------------
15
16 //-------------------------------------------------------------------
17 // Standard Includes
18 //-------------------------------------------------------------------
19 #ifndef  _HVCALLSC_H
20 #include "HvCallSc.h"
21 #endif
22
23 #ifndef  _HVTYPES_H
24 #include <asm/iSeries/HvTypes.h>
25 #endif
26
27 //-------------------------------------------------------------------
28 // Other Includes
29 //-------------------------------------------------------------------
30
31
32 //-----------------------------------------------------------------------------
33 // Constants
34 //-----------------------------------------------------------------------------
35 #ifndef _HVCALLXM_H
36 #define _HVCALLXM_H
37
38 #define HvCallXmGetTceTableParms        HvCallXm +  0
39 #define HvCallXmTestBus                 HvCallXm +  1
40 #define HvCallXmConnectBusUnit          HvCallXm +  2
41 #define HvCallXmLoadTod                 HvCallXm +  8
42 #define HvCallXmTestBusUnit             HvCallXm +  9
43 #define HvCallXmSetTce                  HvCallXm + 11
44 #define HvCallXmSetTces                 HvCallXm + 13
45
46
47
48 //============================================================================
49 static inline void              HvCallXm_getTceTableParms(u64 cb)
50 {
51         HvCall1(HvCallXmGetTceTableParms, cb);
52         // getPaca()->adjustHmtForNoOfSpinLocksHeld();
53 }
54 //============================================================================
55 static inline u64               HvCallXm_setTce(u64 tceTableToken, u64 tceOffset, u64 tce)
56 {       
57         u64 retval = HvCall3(HvCallXmSetTce, tceTableToken, tceOffset, tce );
58         // getPaca()->adjustHmtForNoOfSpinLocksHeld();
59         return retval;
60 }
61 //============================================================================
62 static inline u64               HvCallXm_setTces(u64 tceTableToken, u64 tceOffset, u64 numTces, u64 tce1, u64 tce2, u64 tce3, u64 tce4)
63 {       
64         u64 retval = HvCall7(HvCallXmSetTces, tceTableToken, tceOffset, numTces,
65                              tce1, tce2, tce3, tce4 );
66         // getPaca()->adjustHmtForNoOfSpinLocksHeld();
67         return retval;
68 }
69 //=============================================================================
70 static inline u64       HvCallXm_testBus(u16 busNumber)
71 {
72         u64 retVal = HvCall1(HvCallXmTestBus, busNumber);
73         // getPaca()->adjustHmtForNoOfSpinLocksHeld();
74         return retVal;
75 }
76 //=====================================================================================
77 static inline u64       HvCallXm_testBusUnit(u16 busNumber, u8 subBusNumber, u8 deviceId)
78 {
79         u64 busUnitNumber = (subBusNumber << 8) | deviceId;
80         u64 retVal = HvCall2(HvCallXmTestBusUnit, busNumber, busUnitNumber);
81         // getPaca()->adjustHmtForNoOfSpinLocksHeld();
82         return retVal;
83 }
84 //=====================================================================================
85 static inline u64       HvCallXm_connectBusUnit(u16 busNumber, u8 subBusNumber, u8 deviceId,
86                                                 u64 interruptToken)
87 {
88         u64 busUnitNumber = (subBusNumber << 8) | deviceId;
89         u64 queueIndex = 0; // HvLpConfig::mapDsaToQueueIndex(HvLpDSA(busNumber, xBoard, xCard));  
90
91         u64 retVal = HvCall5(HvCallXmConnectBusUnit, busNumber, busUnitNumber,
92                              interruptToken, 0, queueIndex);
93         // getPaca()->adjustHmtForNoOfSpinLocksHeld();
94         return retVal;
95 }
96 //=====================================================================================
97 static inline u64       HvCallXm_loadTod(void)
98 {
99         u64 retVal = HvCall0(HvCallXmLoadTod);
100         // getPaca()->adjustHmtForNoOfSpinLocksHeld();
101         return retVal;
102 }
103 //=====================================================================================
104
105 #endif // _HVCALLXM_H
106