Thanks to fix it.

Reviewed by: [email protected]

thank you!
Yao, Jiewen


> 在 2018年6月5日,上午1:07,Zeng, Star <[email protected]> 写道:
> 
> According to VTd spec, Software writes the value read from this
> field (F) to Clear it. But current code is using 0 to clear the
> field, that is incorrect.
> 
> And R_FSTS_REG register value clearing should be not in the for loop.
> 
> Cc: Jiewen Yao <[email protected]>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Star Zeng <[email protected]>
> ---
> IntelSiliconPkg/Feature/VTd/IntelVTdDxe/VtdReg.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/VtdReg.c 
> b/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/VtdReg.c
> index 8dbc83fa2d67..e564d373c756 100644
> --- a/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/VtdReg.c
> +++ b/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/VtdReg.c
> @@ -554,11 +554,13 @@ DumpVtdIfError (
>       for (Index = 0; Index < (UINTN)CapReg.Bits.NFR + 1; Index++) {
>         FrcdReg.Uint64[1] = MmioRead64 
> (mVtdUnitInformation[Num].VtdUnitBaseAddress + ((CapReg.Bits.FRO * 16) + 
> (Index * 16) + R_FRCD_REG + sizeof(UINT64)));
>         if (FrcdReg.Bits.F != 0) {
> -          FrcdReg.Bits.F = 0;
> +          //
> +          // Software writes the value read from this field (F) to Clear it.
> +          //
>           MmioWrite64 (mVtdUnitInformation[Num].VtdUnitBaseAddress + 
> ((CapReg.Bits.FRO * 16) + (Index * 16) + R_FRCD_REG + sizeof(UINT64)), 
> FrcdReg.Uint64[1]);
>         }
> -        MmioWrite32 (mVtdUnitInformation[Num].VtdUnitBaseAddress + 
> R_FSTS_REG, MmioRead32 (mVtdUnitInformation[Num].VtdUnitBaseAddress + 
> R_FSTS_REG));
>       }
> +      MmioWrite32 (mVtdUnitInformation[Num].VtdUnitBaseAddress + R_FSTS_REG, 
> MmioRead32 (mVtdUnitInformation[Num].VtdUnitBaseAddress + R_FSTS_REG));
>     }
>   }
> }
> -- 
> 2.7.0.windows.1
> 
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to