From nobody Fri Nov 1 03:33:07 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 1522951704794609.8070005187402; Thu, 5 Apr 2018 11:08:24 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 8C7A922685233; Thu, 5 Apr 2018 11:08:14 -0700 (PDT) Received: from cam-smtp0.cambridge.arm.com (fw-tnat.cambridge.arm.com [217.140.96.140]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 8D64F226C7C33 for ; Thu, 5 Apr 2018 11:08:12 -0700 (PDT) Received: from E107875.Emea.Arm.com (e107875.emea.arm.com [10.10.1.104]) by cam-smtp0.cambridge.arm.com (8.13.8/8.13.8) with ESMTP id w35I88qh027787; Thu, 5 Apr 2018 19:08:09 +0100 X-Original-To: edk2-devel@lists.01.org Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=217.140.96.140; helo=cam-smtp0.cambridge.arm.com; envelope-from=girish.pathak@arm.com; receiver=edk2-devel@lists.01.org From: Girish Pathak To: edk2-devel@lists.01.org Date: Thu, 5 Apr 2018 19:07:51 +0100 Message-Id: <20180405180803.33684-6-girish.pathak@arm.com> X-Mailer: git-send-email 2.13.3.windows.1 In-Reply-To: <20180405180803.33684-1-girish.pathak@arm.com> References: <20180405180803.33684-1-girish.pathak@arm.com> Subject: [edk2] [PATCH edk2-platforms v4 05/17] ARM/VExpressPkg: Add and update debug ASSERTS X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: nd@arm.com, ard.biesheuvel@linaro.org, leif.lindholm@linaro.org, Stephanie.Hughes-Fitt@arm.com, Arvind.Chauhan@arm.com MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" From: Girish Pathak This change adds some debug assertions e.g to catch NULL pointer errors missing in PL11Lcd and HdLcd platform libraries. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Girish Pathak Signed-off-by: Evan Lloyd --- Notes: V3: - Use ASSERT_EFI_ERROR (Status) in place of ASSERT (FALSE) [Ard] =20 Done [Girish] Platform/ARM/VExpressPkg/Library/HdLcdArmVExpressLib/HdLcdArmVExpress.c = | 22 +++++++++++++++++- Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpres= s.c | 24 +++++++++++++++++++- 2 files changed, 44 insertions(+), 2 deletions(-) diff --git a/Platform/ARM/VExpressPkg/Library/HdLcdArmVExpressLib/HdLcdArmV= Express.c b/Platform/ARM/VExpressPkg/Library/HdLcdArmVExpressLib/HdLcdArmVE= xpress.c index 80603f04df3793b8b62196990c846de9ba8f130d..5247b8e038ac45ba800d0f6c79f= 8718c99b951da 100644 --- a/Platform/ARM/VExpressPkg/Library/HdLcdArmVExpressLib/HdLcdArmVExpress= .c +++ b/Platform/ARM/VExpressPkg/Library/HdLcdArmVExpressLib/HdLcdArmVExpress= .c @@ -153,6 +153,9 @@ LcdPlatformGetVram ( EFI_STATUS Status; EFI_ALLOCATE_TYPE AllocationType; =20 + ASSERT (VramBaseAddress !=3D NULL); + ASSERT (VramSize !=3D NULL); + // Set the vram size *VramSize =3D LCD_VRAM_SIZE; =20 @@ -171,6 +174,7 @@ LcdPlatformGetVram ( VramBaseAddress ); if (EFI_ERROR (Status)) { + ASSERT_EFI_ERROR (Status); return Status; } =20 @@ -181,8 +185,8 @@ LcdPlatformGetVram ( *VramSize, EFI_MEMORY_WC ); - ASSERT_EFI_ERROR (Status); if (EFI_ERROR (Status)) { + ASSERT_EFI_ERROR (Status); gBS->FreePages (*VramBaseAddress, EFI_SIZE_TO_PAGES (*VramSize)); return Status; } @@ -221,6 +225,7 @@ LcdPlatformSetMode ( EFI_STATUS Status; =20 if (ModeNumber >=3D LcdPlatformGetMaxMode ()) { + ASSERT (FALSE); return EFI_INVALID_PARAMETER; } =20 @@ -279,7 +284,10 @@ LcdPlatformQueryMode ( OUT EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *Info ) { + ASSERT (Info !=3D NULL); + if (ModeNumber >=3D LcdPlatformGetMaxMode ()) { + ASSERT (FALSE); return EFI_INVALID_PARAMETER; } =20 @@ -343,7 +351,18 @@ LcdPlatformGetTimings ( OUT UINT32* VFrontPorch ) { + // One of the pointers is NULL + ASSERT (HRes !=3D NULL); + ASSERT (HSync !=3D NULL); + ASSERT (HBackPorch !=3D NULL); + ASSERT (HFrontPorch !=3D NULL); + ASSERT (VRes !=3D NULL); + ASSERT (VSync !=3D NULL); + ASSERT (VBackPorch !=3D NULL); + ASSERT (VFrontPorch !=3D NULL); + if (ModeNumber >=3D LcdPlatformGetMaxMode ()) { + ASSERT (FALSE); return EFI_INVALID_PARAMETER; } =20 @@ -376,6 +395,7 @@ LcdPlatformGetBpp ( ) { if (ModeNumber >=3D LcdPlatformGetMaxMode ()) { + ASSERT (FALSE); return EFI_INVALID_PARAMETER; } =20 diff --git a/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111L= cdArmVExpress.c b/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/P= L111LcdArmVExpress.c index 3e3102623ebc46cbe31b7f3500021f53f2281d1b..3d2ec7b1bf658a5fd644cd82fd1= 341245ba0f5d3 100644 --- a/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVE= xpress.c +++ b/Platform/ARM/VExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVE= xpress.c @@ -205,6 +205,9 @@ LcdPlatformGetVram ( =20 Status =3D EFI_SUCCESS; =20 + ASSERT (VramBaseAddress !=3D NULL); + ASSERT (VramSize !=3D NULL); + // Is it on the motherboard or on the daughterboard? switch (PL111_CLCD_SITE) { =20 @@ -225,6 +228,7 @@ LcdPlatformGetVram ( VramBaseAddress ); if (EFI_ERROR (Status)) { + ASSERT_EFI_ERROR (Status); return Status; } =20 @@ -235,8 +239,8 @@ LcdPlatformGetVram ( *VramSize, EFI_MEMORY_WC ); - ASSERT_EFI_ERROR (Status); if (EFI_ERROR (Status)) { + ASSERT_EFI_ERROR (Status); gBS->FreePages (*VramBaseAddress, EFI_SIZE_TO_PAGES (*VramSize)); return Status; } @@ -294,6 +298,7 @@ LcdPlatformSetMode ( UINT32 SysId; =20 if (ModeNumber >=3D LcdPlatformGetMaxMode ()) { + ASSERT (FALSE); return EFI_INVALID_PARAMETER; } =20 @@ -369,7 +374,10 @@ LcdPlatformQueryMode ( OUT EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *Info ) { + ASSERT (Info !=3D NULL); + if (ModeNumber >=3D LcdPlatformGetMaxMode ()) { + ASSERT (FALSE); return EFI_INVALID_PARAMETER; } =20 @@ -433,7 +441,18 @@ LcdPlatformGetTimings ( OUT UINT32* VFrontPorch ) { + // One of the pointers is NULL + ASSERT (HRes !=3D NULL); + ASSERT (HSync !=3D NULL); + ASSERT (HBackPorch !=3D NULL); + ASSERT (HFrontPorch !=3D NULL); + ASSERT (VRes !=3D NULL); + ASSERT (VSync !=3D NULL); + ASSERT (VBackPorch !=3D NULL); + ASSERT (VFrontPorch !=3D NULL); + if (ModeNumber >=3D LcdPlatformGetMaxMode ()) { + ASSERT (FALSE); return EFI_INVALID_PARAMETER; } =20 @@ -465,7 +484,10 @@ LcdPlatformGetBpp ( OUT LCD_BPP * Bpp ) { + ASSERT (Bpp !=3D NULL); + if (ModeNumber >=3D LcdPlatformGetMaxMode ()) { + ASSERT (FALSE); return EFI_INVALID_PARAMETER; } =20 --=20 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)' _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel