According to the PI spec, Volume 3,
EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL.EraseBlocks():
> The variable argument list is a list of tuples. Each tuple describes a
> range of LBAs to erase and consists of the following:
> * An EFI_LBA that indicates the starting LBA
> * A UINTN that indicates the number of blocks to erase
(NB, in edk2, EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL is a typedef to
EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL.)
In this driver, the NumOfLba local variable is defined with type UINTN,
but the TYPE argument passed to VA_ARG() is UINT32. Fix the mismatch.
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Kelly Steele <kelly.steele@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Reported-by: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
Notes:
unbuilt, untested
QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c b/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c
index dbb5512f386e..0e7a7b79a1cf 100644
--- a/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c
+++ b/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c
@@ -1211,7 +1211,7 @@ Returns:
break;
}
- NumOfLba = VA_ARG (args, UINT32);
+ NumOfLba = VA_ARG (args, UINTN);
//
// Check input parameters
@@ -1235,7 +1235,7 @@ Returns:
break;
}
- NumOfLba = VA_ARG (args, UINT32);
+ NumOfLba = VA_ARG (args, UINTN);
while (NumOfLba > 0) {
Status = FvbEraseBlock (FvbDevice->Instance, StartingLba, mFvbModuleGlobal, EfiGoneVirtual ());
--
2.9.3
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Mike or Kelly, can one of you please review this patch? Thanks Laszlo On 05/18/17 17:04, Laszlo Ersek wrote: > According to the PI spec, Volume 3, > EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL.EraseBlocks(): > >> The variable argument list is a list of tuples. Each tuple describes a >> range of LBAs to erase and consists of the following: >> * An EFI_LBA that indicates the starting LBA >> * A UINTN that indicates the number of blocks to erase > > (NB, in edk2, EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL is a typedef to > EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL.) > > In this driver, the NumOfLba local variable is defined with type UINTN, > but the TYPE argument passed to VA_ARG() is UINT32. Fix the mismatch. > > Cc: Jordan Justen <jordan.l.justen@intel.com> > Cc: Kelly Steele <kelly.steele@intel.com> > Cc: Michael D Kinney <michael.d.kinney@intel.com> > Reported-by: Jordan Justen <jordan.l.justen@intel.com> > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Laszlo Ersek <lersek@redhat.com> > --- > > Notes: > unbuilt, untested > > QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c b/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c > index dbb5512f386e..0e7a7b79a1cf 100644 > --- a/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c > +++ b/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c > @@ -1211,7 +1211,7 @@ Returns: > break; > } > > - NumOfLba = VA_ARG (args, UINT32); > + NumOfLba = VA_ARG (args, UINTN); > > // > // Check input parameters > @@ -1235,7 +1235,7 @@ Returns: > break; > } > > - NumOfLba = VA_ARG (args, UINT32); > + NumOfLba = VA_ARG (args, UINTN); > > while (NumOfLba > 0) { > Status = FvbEraseBlock (FvbDevice->Instance, StartingLba, mFvbModuleGlobal, EfiGoneVirtual ()); > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com> Mike > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Laszlo Ersek > Sent: Thursday, May 18, 2017 8:04 AM > To: edk2-devel-01 <edk2-devel@lists.01.org> > Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Justen, Jordan L > <jordan.l.justen@intel.com> > Subject: [edk2] [PATCH 7/8] QuarkPlatformPkg/SpiFvbServices: correct NumOfLba vararg > type in EraseBlocks() > > According to the PI spec, Volume 3, > EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL.EraseBlocks(): > > > The variable argument list is a list of tuples. Each tuple describes a > > range of LBAs to erase and consists of the following: > > * An EFI_LBA that indicates the starting LBA > > * A UINTN that indicates the number of blocks to erase > > (NB, in edk2, EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL is a typedef to > EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL.) > > In this driver, the NumOfLba local variable is defined with type UINTN, > but the TYPE argument passed to VA_ARG() is UINT32. Fix the mismatch. > > Cc: Jordan Justen <jordan.l.justen@intel.com> > Cc: Kelly Steele <kelly.steele@intel.com> > Cc: Michael D Kinney <michael.d.kinney@intel.com> > Reported-by: Jordan Justen <jordan.l.justen@intel.com> > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Laszlo Ersek <lersek@redhat.com> > --- > > Notes: > unbuilt, untested > > QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c > b/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c > index dbb5512f386e..0e7a7b79a1cf 100644 > --- a/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c > +++ b/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c > @@ -1211,7 +1211,7 @@ Returns: > break; > } > > - NumOfLba = VA_ARG (args, UINT32); > + NumOfLba = VA_ARG (args, UINTN); > > // > // Check input parameters > @@ -1235,7 +1235,7 @@ Returns: > break; > } > > - NumOfLba = VA_ARG (args, UINT32); > + NumOfLba = VA_ARG (args, UINTN); > > while (NumOfLba > 0) { > Status = FvbEraseBlock (FvbDevice->Instance, StartingLba, mFvbModuleGlobal, > EfiGoneVirtual ()); > -- > 2.9.3 > > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
On 05/24/17 18:52, Kinney, Michael D wrote: > Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com> Commit b9036ebee9dd. Thanks! Laszlo >> -----Original Message----- >> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Laszlo Ersek >> Sent: Thursday, May 18, 2017 8:04 AM >> To: edk2-devel-01 <edk2-devel@lists.01.org> >> Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Justen, Jordan L >> <jordan.l.justen@intel.com> >> Subject: [edk2] [PATCH 7/8] QuarkPlatformPkg/SpiFvbServices: correct NumOfLba vararg >> type in EraseBlocks() >> >> According to the PI spec, Volume 3, >> EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL.EraseBlocks(): >> >>> The variable argument list is a list of tuples. Each tuple describes a >>> range of LBAs to erase and consists of the following: >>> * An EFI_LBA that indicates the starting LBA >>> * A UINTN that indicates the number of blocks to erase >> >> (NB, in edk2, EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL is a typedef to >> EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL.) >> >> In this driver, the NumOfLba local variable is defined with type UINTN, >> but the TYPE argument passed to VA_ARG() is UINT32. Fix the mismatch. >> >> Cc: Jordan Justen <jordan.l.justen@intel.com> >> Cc: Kelly Steele <kelly.steele@intel.com> >> Cc: Michael D Kinney <michael.d.kinney@intel.com> >> Reported-by: Jordan Justen <jordan.l.justen@intel.com> >> Contributed-under: TianoCore Contribution Agreement 1.0 >> Signed-off-by: Laszlo Ersek <lersek@redhat.com> >> --- >> >> Notes: >> unbuilt, untested >> >> QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c >> b/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c >> index dbb5512f386e..0e7a7b79a1cf 100644 >> --- a/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c >> +++ b/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c >> @@ -1211,7 +1211,7 @@ Returns: >> break; >> } >> >> - NumOfLba = VA_ARG (args, UINT32); >> + NumOfLba = VA_ARG (args, UINTN); >> >> // >> // Check input parameters >> @@ -1235,7 +1235,7 @@ Returns: >> break; >> } >> >> - NumOfLba = VA_ARG (args, UINT32); >> + NumOfLba = VA_ARG (args, UINTN); >> >> while (NumOfLba > 0) { >> Status = FvbEraseBlock (FvbDevice->Instance, StartingLba, mFvbModuleGlobal, >> EfiGoneVirtual ()); >> -- >> 2.9.3 >> >> >> _______________________________________________ >> edk2-devel mailing list >> edk2-devel@lists.01.org >> https://lists.01.org/mailman/listinfo/edk2-devel > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
© 2016 - 2024 Red Hat, Inc.