Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v2.6.15-rc7 78 lines 2.4 kB view raw
1/* 2 * This file contains the "hypervisor call" interface which is used to 3 * drive the hypervisor from SLIC. 4 */ 5#ifndef _ASM_POWERPC_ISERIES_HV_CALL_XM_H 6#define _ASM_POWERPC_ISERIES_HV_CALL_XM_H 7 8#include <asm/iseries/hv_call_sc.h> 9#include <asm/iseries/hv_types.h> 10 11#define HvCallXmGetTceTableParms HvCallXm + 0 12#define HvCallXmTestBus HvCallXm + 1 13#define HvCallXmConnectBusUnit HvCallXm + 2 14#define HvCallXmLoadTod HvCallXm + 8 15#define HvCallXmTestBusUnit HvCallXm + 9 16#define HvCallXmSetTce HvCallXm + 11 17#define HvCallXmSetTces HvCallXm + 13 18 19/* 20 * Structure passed to HvCallXm_getTceTableParms 21 */ 22struct iommu_table_cb { 23 unsigned long itc_busno; /* Bus number for this tce table */ 24 unsigned long itc_start; /* Will be NULL for secondary */ 25 unsigned long itc_totalsize; /* Size (in pages) of whole table */ 26 unsigned long itc_offset; /* Index into real tce table of the 27 start of our section */ 28 unsigned long itc_size; /* Size (in pages) of our section */ 29 unsigned long itc_index; /* Index of this tce table */ 30 unsigned short itc_maxtables; /* Max num of tables for partition */ 31 unsigned char itc_virtbus; /* Flag to indicate virtual bus */ 32 unsigned char itc_slotno; /* IOA Tce Slot Index */ 33 unsigned char itc_rsvd[4]; 34}; 35 36static inline void HvCallXm_getTceTableParms(u64 cb) 37{ 38 HvCall1(HvCallXmGetTceTableParms, cb); 39} 40 41static inline u64 HvCallXm_setTce(u64 tceTableToken, u64 tceOffset, u64 tce) 42{ 43 return HvCall3(HvCallXmSetTce, tceTableToken, tceOffset, tce); 44} 45 46static inline u64 HvCallXm_setTces(u64 tceTableToken, u64 tceOffset, 47 u64 numTces, u64 tce1, u64 tce2, u64 tce3, u64 tce4) 48{ 49 return HvCall7(HvCallXmSetTces, tceTableToken, tceOffset, numTces, 50 tce1, tce2, tce3, tce4); 51} 52 53static inline u64 HvCallXm_testBus(u16 busNumber) 54{ 55 return HvCall1(HvCallXmTestBus, busNumber); 56} 57 58static inline u64 HvCallXm_testBusUnit(u16 busNumber, u8 subBusNumber, 59 u8 deviceId) 60{ 61 return HvCall2(HvCallXmTestBusUnit, busNumber, 62 (subBusNumber << 8) | deviceId); 63} 64 65static inline u64 HvCallXm_connectBusUnit(u16 busNumber, u8 subBusNumber, 66 u8 deviceId, u64 interruptToken) 67{ 68 return HvCall5(HvCallXmConnectBusUnit, busNumber, 69 (subBusNumber << 8) | deviceId, interruptToken, 0, 70 0 /* HvLpConfig::mapDsaToQueueIndex(HvLpDSA(busNumber, xBoard, xCard)) */); 71} 72 73static inline u64 HvCallXm_loadTod(void) 74{ 75 return HvCall0(HvCallXmLoadTod); 76} 77 78#endif /* _ASM_POWERPC_ISERIES_HV_CALL_XM_H */