@@ -93,45 +93,39 @@ NTSTATUS
9393NTAPI
9494KdpSysReadMsr (
9595 _In_ ULONG Msr ,
96- _Out_ PLARGE_INTEGER MsrValue )
96+ _Out_ PULONGLONG MsrValue )
9797{
98- /* Wrap this in SEH in case the MSR doesn't exist */
98+ /* Use SEH to protect from invalid MSRs */
9999 _SEH2_TRY
100100 {
101- /* Read from the MSR */
102- MsrValue -> QuadPart = __readmsr (Msr );
101+ * MsrValue = __readmsr (Msr );
103102 }
104103 _SEH2_EXCEPT (EXCEPTION_EXECUTE_HANDLER )
105104 {
106- /* Invalid MSR */
107105 _SEH2_YIELD (return STATUS_NO_SUCH_DEVICE );
108106 }
109107 _SEH2_END ;
110108
111- /* Success */
112109 return STATUS_SUCCESS ;
113110}
114111
115112NTSTATUS
116113NTAPI
117114KdpSysWriteMsr (
118115 _In_ ULONG Msr ,
119- _In_ PLARGE_INTEGER MsrValue )
116+ _In_ PULONGLONG MsrValue )
120117{
121- /* Wrap this in SEH in case the MSR doesn't exist */
118+ /* Use SEH to protect from invalid MSRs */
122119 _SEH2_TRY
123120 {
124- /* Write to the MSR */
125- __writemsr (Msr , MsrValue -> QuadPart );
121+ __writemsr (Msr , * MsrValue );
126122 }
127123 _SEH2_EXCEPT (EXCEPTION_EXECUTE_HANDLER )
128124 {
129- /* Invalid MSR */
130125 _SEH2_YIELD (return STATUS_NO_SUCH_DEVICE );
131126 }
132127 _SEH2_END ;
133128
134- /* Success */
135129 return STATUS_SUCCESS ;
136130}
137131
@@ -155,7 +149,7 @@ KdpSysReadBusData(
155149 Length );
156150
157151 /* Return status */
158- return * ActualLength != 0 ? STATUS_SUCCESS : STATUS_UNSUCCESSFUL ;
152+ return ( * ActualLength != 0 ? STATUS_SUCCESS : STATUS_UNSUCCESSFUL ) ;
159153}
160154
161155NTSTATUS
@@ -178,7 +172,7 @@ KdpSysWriteBusData(
178172 Length );
179173
180174 /* Return status */
181- return * ActualLength != 0 ? STATUS_SUCCESS : STATUS_UNSUCCESSFUL ;
175+ return ( * ActualLength != 0 ? STATUS_SUCCESS : STATUS_UNSUCCESSFUL ) ;
182176}
183177
184178NTSTATUS
@@ -272,9 +266,7 @@ KdpSysReadIoSpace(
272266 NTSTATUS Status ;
273267
274268 /* Verify parameters */
275- if ((InterfaceType != Isa ) ||
276- (BusNumber != 0 ) ||
277- (AddressSpace != 1 ))
269+ if ((InterfaceType != Isa ) || (BusNumber != 0 ) || (AddressSpace != 1 ))
278270 {
279271 /* Fail, we don't support this */
280272 * ActualDataSize = 0 ;
@@ -285,16 +277,17 @@ KdpSysReadIoSpace(
285277 switch (DataSize )
286278 {
287279 case sizeof (UCHAR ):
288-
280+ {
289281 /* Read 1 byte */
290282 * (PUCHAR )DataValue =
291283 READ_PORT_UCHAR ((PUCHAR )(ULONG_PTR )IoAddress );
292284 * ActualDataSize = sizeof (UCHAR );
293285 Status = STATUS_SUCCESS ;
294286 break ;
287+ }
295288
296289 case sizeof (USHORT ):
297-
290+ {
298291 /* Make sure the address is aligned */
299292 if ((IoAddress & (sizeof (USHORT ) - 1 )) != 0 )
300293 {
@@ -310,9 +303,10 @@ KdpSysReadIoSpace(
310303 * ActualDataSize = sizeof (USHORT );
311304 Status = STATUS_SUCCESS ;
312305 break ;
306+ }
313307
314308 case sizeof (ULONG ):
315-
309+ {
316310 /* Make sure the address is aligned */
317311 if ((IoAddress & (sizeof (ULONG ) - 1 )) != 0 )
318312 {
@@ -328,9 +322,9 @@ KdpSysReadIoSpace(
328322 * ActualDataSize = sizeof (ULONG );
329323 Status = STATUS_SUCCESS ;
330324 break ;
325+ }
331326
332327 default :
333-
334328 /* Invalid size, fail */
335329 * ActualDataSize = 0 ;
336330 Status = STATUS_INVALID_PARAMETER ;
@@ -354,9 +348,7 @@ KdpSysWriteIoSpace(
354348 NTSTATUS Status ;
355349
356350 /* Verify parameters */
357- if ((InterfaceType != Isa ) ||
358- (BusNumber != 0 ) ||
359- (AddressSpace != 1 ))
351+ if ((InterfaceType != Isa ) || (BusNumber != 0 ) || (AddressSpace != 1 ))
360352 {
361353 /* Fail, we don't support this */
362354 * ActualDataSize = 0 ;
@@ -367,16 +359,17 @@ KdpSysWriteIoSpace(
367359 switch (DataSize )
368360 {
369361 case sizeof (UCHAR ):
370-
362+ {
371363 /* Write 1 byte */
372364 WRITE_PORT_UCHAR ((PUCHAR )(ULONG_PTR )IoAddress ,
373365 * (PUCHAR )DataValue );
374366 * ActualDataSize = sizeof (UCHAR );
375367 Status = STATUS_SUCCESS ;
376368 break ;
369+ }
377370
378371 case sizeof (USHORT ):
379-
372+ {
380373 /* Make sure the address is aligned */
381374 if ((IoAddress & (sizeof (USHORT ) - 1 )) != 0 )
382375 {
@@ -392,9 +385,10 @@ KdpSysWriteIoSpace(
392385 * ActualDataSize = sizeof (USHORT );
393386 Status = STATUS_SUCCESS ;
394387 break ;
388+ }
395389
396390 case sizeof (ULONG ):
397-
391+ {
398392 /* Make sure the address is aligned */
399393 if ((IoAddress & (sizeof (ULONG ) - 1 )) != 0 )
400394 {
@@ -410,9 +404,9 @@ KdpSysWriteIoSpace(
410404 * ActualDataSize = sizeof (ULONG );
411405 Status = STATUS_SUCCESS ;
412406 break ;
407+ }
413408
414409 default :
415-
416410 /* Invalid size, fail */
417411 * ActualDataSize = 0 ;
418412 Status = STATUS_INVALID_PARAMETER ;
0 commit comments