📄 hvcallpci.h
字号:
*valueParm = retVal.value; return retVal.rc;}//============================================================================static inline u64 HvCallPci_barLoad64(u16 busNumberParm, u8 subBusParm, u8 deviceIdParm, u8 barNumberParm, u64 offsetParm, u64* valueParm){ struct HvCallPci_DsaAddr dsa; struct HvCallPci_LoadReturn retVal; *((u64*)&dsa) = 0; dsa.busNumber = busNumberParm; dsa.subBusNumber = subBusParm; dsa.deviceId = deviceIdParm; dsa.barNumber = barNumberParm; HvCall3Ret16(HvCallPciBarLoad64, &retVal, *(u64 *)&dsa, offsetParm, 0); // getPaca()->adjustHmtForNoOfSpinLocksHeld(); *valueParm = retVal.value; return retVal.rc;}//============================================================================static inline u64 HvCallPci_barStore8(u16 busNumberParm, u8 subBusParm, u8 deviceIdParm, u8 barNumberParm, u64 offsetParm, u8 valueParm){ struct HvCallPci_DsaAddr dsa; u64 retVal; *((u64*)&dsa) = 0; dsa.busNumber = busNumberParm; dsa.subBusNumber = subBusParm; dsa.deviceId = deviceIdParm; dsa.barNumber = barNumberParm; retVal = HvCall4(HvCallPciBarStore8, *(u64 *)&dsa, offsetParm, valueParm, 0); // getPaca()->adjustHmtForNoOfSpinLocksHeld(); return retVal;}//============================================================================static inline u64 HvCallPci_barStore16(u16 busNumberParm, u8 subBusParm, u8 deviceIdParm, u8 barNumberParm, u64 offsetParm, u16 valueParm){ struct HvCallPci_DsaAddr dsa; u64 retVal; *((u64*)&dsa) = 0; dsa.busNumber = busNumberParm; dsa.subBusNumber = subBusParm; dsa.deviceId = deviceIdParm; dsa.barNumber = barNumberParm; retVal = HvCall4(HvCallPciBarStore16, *(u64 *)&dsa, offsetParm, valueParm, 0); // getPaca()->adjustHmtForNoOfSpinLocksHeld(); return retVal;}//============================================================================static inline u64 HvCallPci_barStore32(u16 busNumberParm, u8 subBusParm, u8 deviceIdParm, u8 barNumberParm, u64 offsetParm, u32 valueParm){ struct HvCallPci_DsaAddr dsa; u64 retVal; *((u64*)&dsa) = 0; dsa.busNumber = busNumberParm; dsa.subBusNumber = subBusParm; dsa.deviceId = deviceIdParm; dsa.barNumber = barNumberParm; retVal = HvCall4(HvCallPciBarStore32, *(u64 *)&dsa, offsetParm, valueParm, 0); // getPaca()->adjustHmtForNoOfSpinLocksHeld(); return retVal;}//============================================================================static inline u64 HvCallPci_barStore64(u16 busNumberParm, u8 subBusParm, u8 deviceIdParm, u8 barNumberParm, u64 offsetParm, u64 valueParm){ struct HvCallPci_DsaAddr dsa; u64 retVal; *((u64*)&dsa) = 0; dsa.busNumber = busNumberParm; dsa.subBusNumber = subBusParm; dsa.deviceId = deviceIdParm; dsa.barNumber = barNumberParm; retVal = HvCall4(HvCallPciBarStore64, *(u64 *)&dsa, offsetParm, valueParm, 0); // getPaca()->adjustHmtForNoOfSpinLocksHeld(); return retVal;}//============================================================================static inline u64 HvCallPci_eoi(u16 busNumberParm, u8 subBusParm, u8 deviceIdParm){ struct HvCallPci_DsaAddr dsa; struct HvCallPci_LoadReturn retVal; *((u64*)&dsa) = 0; dsa.busNumber = busNumberParm; dsa.subBusNumber = subBusParm; dsa.deviceId = deviceIdParm; HvCall1Ret16(HvCallPciEoi, &retVal, *(u64*)&dsa); // getPaca()->adjustHmtForNoOfSpinLocksHeld(); return retVal.rc;}//============================================================================static inline u64 HvCallPci_getBarParms(u16 busNumberParm, u8 subBusParm, u8 deviceIdParm, u8 barNumberParm, u64 parms, u32 sizeofParms){ struct HvCallPci_DsaAddr dsa; u64 retVal; *((u64*)&dsa) = 0; dsa.busNumber = busNumberParm; dsa.subBusNumber = subBusParm; dsa.deviceId = deviceIdParm; dsa.barNumber = barNumberParm; retVal = HvCall3(HvCallPciGetBarParms, *(u64*)&dsa, parms, sizeofParms); // getPaca()->adjustHmtForNoOfSpinLocksHeld(); return retVal;}//============================================================================static inline u64 HvCallPci_maskFisr(u16 busNumberParm, u8 subBusParm, u8 deviceIdParm, u64 fisrMask){ struct HvCallPci_DsaAddr dsa; u64 retVal; *((u64*)&dsa) = 0; dsa.busNumber = busNumberParm; dsa.subBusNumber = subBusParm; dsa.deviceId = deviceIdParm; retVal = HvCall2(HvCallPciMaskFisr, *(u64*)&dsa, fisrMask); // getPaca()->adjustHmtForNoOfSpinLocksHeld(); return retVal;}//============================================================================static inline u64 HvCallPci_unmaskFisr(u16 busNumberParm, u8 subBusParm, u8 deviceIdParm, u64 fisrMask){ struct HvCallPci_DsaAddr dsa; u64 retVal; *((u64*)&dsa) = 0; dsa.busNumber = busNumberParm; dsa.subBusNumber = subBusParm; dsa.deviceId = deviceIdParm; retVal = HvCall2(HvCallPciUnmaskFisr, *(u64*)&dsa, fisrMask); // getPaca()->adjustHmtForNoOfSpinLocksHeld(); return retVal;}//============================================================================static inline u64 HvCallPci_setSlotReset(u16 busNumberParm, u8 subBusParm, u8 deviceIdParm, u64 onNotOff){ struct HvCallPci_DsaAddr dsa; u64 retVal; *((u64*)&dsa) = 0; dsa.busNumber = busNumberParm; dsa.subBusNumber = subBusParm; dsa.deviceId = deviceIdParm; retVal = HvCall2(HvCallPciSetSlotReset, *(u64*)&dsa, onNotOff); // getPaca()->adjustHmtForNoOfSpinLocksHeld(); return retVal;}//============================================================================static inline u64 HvCallPci_getDeviceInfo(u16 busNumberParm, u8 subBusParm, u8 deviceNumberParm, u64 parms, u32 sizeofParms){ struct HvCallPci_DsaAddr dsa; u64 retVal; *((u64*)&dsa) = 0; dsa.busNumber = busNumberParm; dsa.subBusNumber = subBusParm; dsa.deviceId = deviceNumberParm << 4; retVal = HvCall3(HvCallPciGetDeviceInfo, *(u64*)&dsa, parms, sizeofParms); // getPaca()->adjustHmtForNoOfSpinLocksHeld(); return retVal;}//============================================================================static inline u64 HvCallPci_maskInterrupts(u16 busNumberParm, u8 subBusParm, u8 deviceIdParm, u64 interruptMask){ struct HvCallPci_DsaAddr dsa; u64 retVal; *((u64*)&dsa) = 0; dsa.busNumber = busNumberParm; dsa.subBusNumber = subBusParm; dsa.deviceId = deviceIdParm; retVal = HvCall2(HvCallPciMaskInterrupts, *(u64*)&dsa, interruptMask); // getPaca()->adjustHmtForNoOfSpinLocksHeld(); return retVal;}//============================================================================static inline u64 HvCallPci_unmaskInterrupts(u16 busNumberParm, u8 subBusParm, u8 deviceIdParm, u64 interruptMask){ struct HvCallPci_DsaAddr dsa; u64 retVal; *((u64*)&dsa) = 0; dsa.busNumber = busNumberParm; dsa.subBusNumber = subBusParm; dsa.deviceId = deviceIdParm; retVal = HvCall2(HvCallPciUnmaskInterrupts, *(u64*)&dsa, interruptMask); // getPaca()->adjustHmtForNoOfSpinLocksHeld(); return retVal;}//============================================================================static inline u64 HvCallPci_getBusUnitInfo(u16 busNumberParm, u8 subBusParm, u8 deviceIdParm, u64 parms, u32 sizeofParms){ struct HvCallPci_DsaAddr dsa; u64 retVal; *((u64*)&dsa) = 0; dsa.busNumber = busNumberParm; dsa.subBusNumber = subBusParm; dsa.deviceId = deviceIdParm; retVal = HvCall3(HvCallPciGetBusUnitInfo, *(u64*)&dsa, parms, sizeofParms); // getPaca()->adjustHmtForNoOfSpinLocksHeld(); return retVal;}//============================================================================static inline int HvCallPci_getBusVpd(u16 busNumParm, u64 destParm, u16 sizeParm){ int xRetSize; u64 xRc = HvCall4(HvCallPciGetCardVpd, busNumParm, destParm, sizeParm, HvCallPci_BusVpd); // getPaca()->adjustHmtForNoOfSpinLocksHeld(); if (xRc == -1) xRetSize = -1; else xRetSize = xRc & 0xFFFF; return xRetSize;}//============================================================================static inline int HvCallPci_getBusAdapterVpd(u16 busNumParm, u64 destParm, u16 sizeParm){ int xRetSize; u64 xRc = HvCall4(HvCallPciGetCardVpd, busNumParm, destParm, sizeParm, HvCallPci_BusAdapterVpd); // getPaca()->adjustHmtForNoOfSpinLocksHeld(); if (xRc == -1) xRetSize = -1; else xRetSize = xRc & 0xFFFF; return xRetSize;}//============================================================================#endif // _HVCALLPCI_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -