[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [XENVIF PATCH v2 1/4] controller: Map out IRQL annotations
The 4 patches updating SAL annotations all Reviewed-by: Owen Smith <owen.smith@xxxxxxxxx> ________________________________________ From: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx> Sent: 10 October 2025 10:08 AM To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx Cc: Tu Dinh; Owen Smith Subject: [XENVIF PATCH v2 1/4] controller: Map out IRQL annotations This is an initial, exploratory work to help inform the rework of the controller interface. No functional changes. Signed-off-by: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx> --- v2: I've removed the annotations on the VIF interface since I haven't finished my analysis of that. The previous version contained lots of trailing space deletions, which also have been deleted in v2. Resending yet again because the patch set was blocked by the mailing list. --- src/xenvif/controller.c | 16 ++++++++++++++++ src/xenvif/controller.h | 12 ++++++++++++ 2 files changed, 28 insertions(+) diff --git a/src/xenvif/controller.c b/src/xenvif/controller.c index ae86837..e032972 100644 --- a/src/xenvif/controller.c +++ b/src/xenvif/controller.c @@ -137,6 +137,7 @@ ControllerReleaseLock( __ControllerReleaseLock(Controller); } +_IRQL_requires_min_(DISPATCH_LEVEL) static FORCEINLINE VOID __ControllerSend( IN PXENVIF_CONTROLLER Controller @@ -177,6 +178,7 @@ ControllerPoll( Controller->Shared->rsp_event = rsp_cons + 1; } +_IRQL_requires_min_(DISPATCH_LEVEL) static NTSTATUS ControllerPutRequest( IN PXENVIF_CONTROLLER Controller, @@ -248,6 +250,7 @@ fail1: #define XENVIF_CONTROLLER_POLL_PERIOD 100 // ms +_IRQL_requires_(DISPATCH_LEVEL) static NTSTATUS ControllerGetResponse( IN PXENVIF_CONTROLLER Controller, @@ -318,6 +321,7 @@ ControllerGetResponse( KSERVICE_ROUTINE ControllerEvtchnCallback; +_Use_decl_annotations_ BOOLEAN ControllerEvtchnCallback( IN PKINTERRUPT InterruptObject, @@ -345,6 +349,7 @@ ControllerDebugCallback( UNREFERENCED_PARAMETER(Crashing); } +_IRQL_requires_(PASSIVE_LEVEL) NTSTATUS ControllerInitialize( IN PXENVIF_FRONTEND Frontend, @@ -390,6 +395,7 @@ fail1: return status; } +_IRQL_requires_(DISPATCH_LEVEL) NTSTATUS ControllerConnect( IN PXENVIF_CONTROLLER Controller @@ -597,6 +603,7 @@ fail1: return status; } +_IRQL_requires_(DISPATCH_LEVEL) NTSTATUS ControllerStoreWrite( IN PXENVIF_CONTROLLER Controller, @@ -670,6 +677,7 @@ ControllerDisable( Trace("<===>\n"); } +_IRQL_requires_(DISPATCH_LEVEL) VOID ControllerDisconnect( IN PXENVIF_CONTROLLER Controller @@ -732,6 +740,7 @@ done: Trace("<====\n"); } +_IRQL_requires_(PASSIVE_LEVEL) VOID ControllerTeardown( IN PXENVIF_CONTROLLER Controller @@ -762,6 +771,7 @@ ControllerTeardown( __ControllerFree(Controller); } +_IRQL_requires_(DISPATCH_LEVEL) NTSTATUS ControllerSetHashAlgorithm( IN PXENVIF_CONTROLLER Controller, @@ -802,6 +812,7 @@ fail1: return status; } +_IRQL_requires_(DISPATCH_LEVEL) NTSTATUS ControllerGetHashFlags( IN PXENVIF_CONTROLLER Controller, @@ -842,6 +853,7 @@ fail1: return status; } +_IRQL_requires_(DISPATCH_LEVEL) NTSTATUS ControllerSetHashFlags( IN PXENVIF_CONTROLLER Controller, @@ -882,6 +894,7 @@ fail1: return status; } +_IRQL_requires_(DISPATCH_LEVEL) NTSTATUS ControllerSetHashKey( IN PXENVIF_CONTROLLER Controller, @@ -976,6 +989,7 @@ fail1: return status; } +_IRQL_requires_(DISPATCH_LEVEL) NTSTATUS ControllerGetHashMappingSize( IN PXENVIF_CONTROLLER Controller, @@ -1016,6 +1030,7 @@ fail1: return status; } +_IRQL_requires_(DISPATCH_LEVEL) NTSTATUS ControllerSetHashMappingSize( IN PXENVIF_CONTROLLER Controller, @@ -1056,6 +1071,7 @@ fail1: return status; } +_IRQL_requires_(DISPATCH_LEVEL) NTSTATUS ControllerSetHashMapping( IN PXENVIF_CONTROLLER Controller, diff --git a/src/xenvif/controller.h b/src/xenvif/controller.h index b14e066..18e09b7 100644 --- a/src/xenvif/controller.h +++ b/src/xenvif/controller.h @@ -41,17 +41,20 @@ typedef struct _XENVIF_CONTROLLER XENVIF_CONTROLLER, *PXENVIF_CONTROLLER; +_IRQL_requires_(PASSIVE_LEVEL) extern NTSTATUS ControllerInitialize( IN PXENVIF_FRONTEND Frontend, OUT PXENVIF_CONTROLLER *Controller ); +_IRQL_requires_(DISPATCH_LEVEL) extern NTSTATUS ControllerConnect( IN PXENVIF_CONTROLLER Controller ); +_IRQL_requires_(DISPATCH_LEVEL) extern NTSTATUS ControllerStoreWrite( IN PXENVIF_CONTROLLER Controller, @@ -68,34 +71,40 @@ ControllerDisable( IN PXENVIF_CONTROLLER Controller ); +_IRQL_requires_(DISPATCH_LEVEL) extern VOID ControllerDisconnect( IN PXENVIF_CONTROLLER Controller ); +_IRQL_requires_(PASSIVE_LEVEL) extern VOID ControllerTeardown( IN PXENVIF_CONTROLLER Controller ); +_IRQL_requires_(DISPATCH_LEVEL) extern NTSTATUS ControllerSetHashAlgorithm( IN PXENVIF_CONTROLLER Controller, IN ULONG Algorithm ); +_IRQL_requires_(DISPATCH_LEVEL) extern NTSTATUS ControllerGetHashFlags( IN PXENVIF_CONTROLLER Controller, IN PULONG Flags ); +_IRQL_requires_(DISPATCH_LEVEL) extern NTSTATUS ControllerSetHashFlags( IN PXENVIF_CONTROLLER Controller, IN ULONG Flags ); +_IRQL_requires_(DISPATCH_LEVEL) extern NTSTATUS ControllerSetHashKey( IN PXENVIF_CONTROLLER Controller, @@ -103,18 +112,21 @@ ControllerSetHashKey( IN ULONG Size ); +_IRQL_requires_(DISPATCH_LEVEL) extern NTSTATUS ControllerGetHashMappingSize( IN PXENVIF_CONTROLLER Controller, IN PULONG Size ); +_IRQL_requires_(DISPATCH_LEVEL) extern NTSTATUS ControllerSetHashMappingSize( IN PXENVIF_CONTROLLER Controller, IN ULONG Size ); +_IRQL_requires_(DISPATCH_LEVEL) extern NTSTATUS ControllerSetHashMapping( IN PXENVIF_CONTROLLER Controller, -- 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 |