[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [XENVIF PATCH v2 2/4] frontend: Map out IRQL annotations
No functional changes. Signed-off-by: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx> --- src/xenvif/frontend.c | 35 ++++++++++++++++++++++++++++++++++- src/xenvif/frontend.h | 16 +++++++++++++++- 2 files changed, 49 insertions(+), 2 deletions(-) diff --git a/src/xenvif/frontend.c b/src/xenvif/frontend.c index daeab9c..f844a42 100644 --- a/src/xenvif/frontend.c +++ b/src/xenvif/frontend.c @@ -378,6 +378,7 @@ FrontendIsBackendOnline( return Online; } +_IRQL_requires_(PASSIVE_LEVEL) static DECLSPEC_NOINLINE NTSTATUS FrontendEject( IN PXENVIF_THREAD Self, @@ -823,6 +824,7 @@ FrontendIpAddressChange( ThreadWake(Frontend->MibThread); } +_IRQL_requires_(PASSIVE_LEVEL) static DECLSPEC_NOINLINE NTSTATUS FrontendMib( IN PXENVIF_THREAD Self, @@ -981,6 +983,7 @@ fail1: return status; } +_IRQL_requires_(DISPATCH_LEVEL) NTSTATUS FrontendSetMulticastAddresses( IN PXENVIF_FRONTEND Frontend, @@ -1093,6 +1096,7 @@ fail1: return status; } +_IRQL_requires_(DISPATCH_LEVEL) static NTSTATUS FrontendNotifyMulticastAddresses( IN PXENVIF_FRONTEND Frontend, @@ -1147,6 +1151,7 @@ fail1: return status; } +_IRQL_requires_(DISPATCH_LEVEL) NTSTATUS FrontendSetFilterLevel( IN PXENVIF_FRONTEND Frontend, @@ -1188,6 +1193,7 @@ fail1: return status; } +_IRQL_requires_(DISPATCH_LEVEL) VOID FrontendAdvertiseIpAddresses( IN PXENVIF_FRONTEND Frontend @@ -1231,6 +1237,7 @@ FrontendAdvertiseIpAddresses( KeReleaseSpinLock(&Frontend->Lock, Irql); } +_IRQL_requires_(DISPATCH_LEVEL) static VOID FrontendSetOnline( IN PXENVIF_FRONTEND Frontend @@ -1243,6 +1250,7 @@ FrontendSetOnline( Trace("<====\n"); } +_IRQL_requires_(DISPATCH_LEVEL) static VOID FrontendSetOffline( IN PXENVIF_FRONTEND Frontend @@ -1256,6 +1264,7 @@ FrontendSetOffline( Trace("<====\n"); } +_IRQL_requires_(DISPATCH_LEVEL) static VOID FrontendSetXenbusState( IN PXENVIF_FRONTEND Frontend, @@ -1288,6 +1297,7 @@ FrontendSetXenbusState( XenbusStateName(State)); } +_IRQL_requires_(DISPATCH_LEVEL) static NTSTATUS FrontendAcquireBackend( IN PXENVIF_FRONTEND Frontend @@ -1334,6 +1344,7 @@ fail1: return status; } +_IRQL_requires_(DISPATCH_LEVEL) static VOID FrontendWaitForBackendXenbusStateChange( IN PXENVIF_FRONTEND Frontend, @@ -1379,6 +1390,7 @@ FrontendWaitForBackendXenbusStateChange( ULONG Attempt = 0; while (++Attempt < 1000) { +#pragma prefast(suppress:28121) // Timeout=0 status = KeWaitForSingleObject(&Event, Executive, KernelMode, @@ -1437,6 +1449,7 @@ FrontendWaitForBackendXenbusStateChange( XenbusStateName(*State)); } +_IRQL_requires_(DISPATCH_LEVEL) static VOID FrontendReleaseBackend( IN PXENVIF_FRONTEND Frontend @@ -1457,6 +1470,7 @@ FrontendReleaseBackend( Trace("<=====\n"); } +_IRQL_requires_(DISPATCH_LEVEL) static VOID FrontendClose( IN PXENVIF_FRONTEND Frontend @@ -1518,6 +1532,7 @@ FrontendClose( Trace("<====\n"); } +_IRQL_requires_(DISPATCH_LEVEL) static NTSTATUS FrontendPrepare( IN PXENVIF_FRONTEND Frontend @@ -1880,6 +1895,7 @@ FrontendIsSplit( return __FrontendIsSplit(Frontend); } +_IRQL_requires_(DISPATCH_LEVEL) static FORCEINLINE NTSTATUS __FrontendUpdateHash( PXENVIF_FRONTEND Frontend, @@ -1964,6 +1980,7 @@ fail1: return status; } +_IRQL_requires_(DISPATCH_LEVEL) NTSTATUS FrontendSetHashAlgorithm( IN PXENVIF_FRONTEND Frontend, @@ -2030,6 +2047,7 @@ fail1: return status; } +_IRQL_requires_(DISPATCH_LEVEL) NTSTATUS FrontendQueryHashTypes( IN PXENVIF_FRONTEND Frontend, @@ -2069,6 +2087,7 @@ fail1: return status; } +_IRQL_requires_(DISPATCH_LEVEL) NTSTATUS FrontendSetHashMapping( IN PXENVIF_FRONTEND Frontend, @@ -2112,6 +2131,7 @@ fail1: return status; } +_IRQL_requires_(DISPATCH_LEVEL) NTSTATUS FrontendSetHashKey( IN PXENVIF_FRONTEND Frontend, @@ -2146,6 +2166,7 @@ fail1: return status; } +_IRQL_requires_(DISPATCH_LEVEL) NTSTATUS FrontendSetHashTypes( IN PXENVIF_FRONTEND Frontend, @@ -2221,6 +2242,7 @@ FrontendGetQueue( return Queue; } +_IRQL_requires_(DISPATCH_LEVEL) static NTSTATUS FrontendConnect( IN PXENVIF_FRONTEND Frontend @@ -2417,6 +2439,7 @@ fail1: return status; } +_IRQL_requires_(DISPATCH_LEVEL) static VOID FrontendDisconnect( IN PXENVIF_FRONTEND Frontend @@ -2444,6 +2467,7 @@ FrontendDisconnect( Trace("<====\n"); } +_IRQL_requires_(DISPATCH_LEVEL) static NTSTATUS FrontendEnable( IN PXENVIF_FRONTEND Frontend @@ -2495,6 +2519,7 @@ fail1: return status; } +_IRQL_requires_(DISPATCH_LEVEL) static VOID FrontendDisable( IN PXENVIF_FRONTEND Frontend @@ -2511,6 +2536,7 @@ FrontendDisable( Trace("<====\n"); } +_IRQL_requires_(DISPATCH_LEVEL) NTSTATUS FrontendSetState( IN PXENVIF_FRONTEND Frontend, @@ -2665,6 +2691,7 @@ FrontendSetState( return (!Failed) ? STATUS_SUCCESS : STATUS_UNSUCCESSFUL; } +_IRQL_requires_(DISPATCH_LEVEL) static FORCEINLINE VOID __FrontendResume( IN PXENVIF_FRONTEND Frontend @@ -2676,6 +2703,7 @@ __FrontendResume( (VOID) FrontendSetState(Frontend, FRONTEND_CLOSED); } +_IRQL_requires_(DISPATCH_LEVEL) static FORCEINLINE VOID __FrontendSuspend( IN PXENVIF_FRONTEND Frontend @@ -2707,6 +2735,8 @@ FrontendSuspendCallbackLate( __FrontendResume(Frontend); } +_IRQL_requires_min_(PASSIVE_LEVEL) +_IRQL_requires_max_(DISPATCH_LEVEL) NTSTATUS FrontendResume( IN PXENVIF_FRONTEND Frontend @@ -2783,6 +2813,8 @@ fail1: return status; } +_IRQL_requires_min_(PASSIVE_LEVEL) +_IRQL_requires_max_(DISPATCH_LEVEL) VOID FrontendSuspend( IN PXENVIF_FRONTEND Frontend @@ -2824,7 +2856,7 @@ FrontendSuspend( Trace("<====\n"); } -__drv_requiresIRQL(PASSIVE_LEVEL) +_IRQL_requires_(PASSIVE_LEVEL) NTSTATUS FrontendInitialize( IN PXENVIF_PDO Pdo, @@ -3034,6 +3066,7 @@ fail1: return status; } +_IRQL_requires_(PASSIVE_LEVEL) VOID FrontendTeardown( IN PXENVIF_FRONTEND Frontend diff --git a/src/xenvif/frontend.h b/src/xenvif/frontend.h index 59d9718..5b84806 100644 --- a/src/xenvif/frontend.h +++ b/src/xenvif/frontend.h @@ -56,13 +56,14 @@ typedef enum _XENVIF_FRONTEND_STATE { FRONTEND_ENABLED } XENVIF_FRONTEND_STATE, *PXENVIF_FRONTEND_STATE; -__drv_requiresIRQL(PASSIVE_LEVEL) +_IRQL_requires_(PASSIVE_LEVEL) extern NTSTATUS FrontendInitialize( IN PXENVIF_PDO Pdo, OUT PXENVIF_FRONTEND *Frontend ); +_IRQL_requires_(PASSIVE_LEVEL) extern VOID FrontendTeardown( IN PXENVIF_FRONTEND Frontend @@ -73,17 +74,22 @@ FrontendEjectFailed( IN PXENVIF_FRONTEND Frontend ); +_IRQL_requires_(DISPATCH_LEVEL) extern NTSTATUS FrontendSetState( IN PXENVIF_FRONTEND Frontend, IN XENVIF_FRONTEND_STATE State ); +_IRQL_requires_min_(PASSIVE_LEVEL) +_IRQL_requires_max_(DISPATCH_LEVEL) extern NTSTATUS FrontendResume( IN PXENVIF_FRONTEND Frontend ); +_IRQL_requires_min_(PASSIVE_LEVEL) +_IRQL_requires_max_(DISPATCH_LEVEL) extern VOID FrontendSuspend( IN PXENVIF_FRONTEND Frontend @@ -188,6 +194,7 @@ FrontendIncrementStatistic( IN ULONGLONG Delta ); +_IRQL_requires_(DISPATCH_LEVEL) extern NTSTATUS FrontendSetMulticastAddresses( IN PXENVIF_FRONTEND Frontend, @@ -195,6 +202,7 @@ FrontendSetMulticastAddresses( IN ULONG Count ); +_IRQL_requires_(DISPATCH_LEVEL) extern NTSTATUS FrontendSetFilterLevel( IN PXENVIF_FRONTEND Frontend, @@ -202,23 +210,27 @@ FrontendSetFilterLevel( IN XENVIF_MAC_FILTER_LEVEL Level ); +_IRQL_requires_(DISPATCH_LEVEL) extern VOID FrontendAdvertiseIpAddresses( IN PXENVIF_FRONTEND Frontend ); +_IRQL_requires_(DISPATCH_LEVEL) extern NTSTATUS FrontendSetHashAlgorithm( IN PXENVIF_FRONTEND Frontend, IN XENVIF_PACKET_HASH_ALGORITHM Algorithm ); +_IRQL_requires_(DISPATCH_LEVEL) extern NTSTATUS FrontendQueryHashTypes( IN PXENVIF_FRONTEND Frontend, OUT PULONG Types ); +_IRQL_requires_(DISPATCH_LEVEL) extern NTSTATUS FrontendSetHashMapping( IN PXENVIF_FRONTEND Frontend, @@ -226,12 +238,14 @@ FrontendSetHashMapping( IN ULONG Order ); +_IRQL_requires_(DISPATCH_LEVEL) extern NTSTATUS FrontendSetHashKey( IN PXENVIF_FRONTEND Frontend, IN PUCHAR Key ); +_IRQL_requires_(DISPATCH_LEVEL) extern NTSTATUS FrontendSetHashTypes( IN PXENVIF_FRONTEND Frontend, -- 2.51.0.windows.1 -- Ngoc Tu Dinh | Vates XCP-ng Developer XCP-ng & Xen Orchestra - Vates solutions web: https://vates.tech
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |