From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ot1-f41.google.com (mail-ot1-f41.google.com [209.85.210.41]) by mx.groups.io with SMTP id smtpd.web09.6736.1613476788643329351 for ; Tue, 16 Feb 2021 03:59:48 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@puresoftware.com header.s=google header.b=To4GobdF; spf=pass (domain: puresoftware.com, ip: 209.85.210.41, mailfrom: vikas.singh@puresoftware.com) Received: by mail-ot1-f41.google.com with SMTP id d7so8761827otq.6 for ; Tue, 16 Feb 2021 03:59:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=puresoftware.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=YYR+t0LClNHjR/oUMnNgzlKrcmPDOv/MFX8TnZfASdo=; b=To4GobdFoQPmbTeevPNKtrpTONdO74b0tE8leFZv2K/CC8/1HANWLbwU1gt0lC5SXA xnwwi1NFK09RA5JXRMe73BkAG51VMadgT19Xa4gJc8FTpSlMnfXlQgqQCspd0CQnKDH7 XkoT5lH91QLfegqOmACNWyI3XTKmF0R09ygc4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=YYR+t0LClNHjR/oUMnNgzlKrcmPDOv/MFX8TnZfASdo=; b=HzEvNBSf+/9hQWAma/OcnCfUt3WPYdIKSv5hsohYGyBKeJ5FA7PuoB7j9hY++0X+iu qJffUGXpvG02eW8AVzzagE9xLw1xDiXEEgYuGMQkwQriwxFKIIvsoFzheenrrjanD+tz Bi9OaQtIzhOfWannMUUcjlF4lp1HG+qoP6gV6El96DhKFFIZDx8tbj4rYA9TTcE/wVOu 5EEOFV+iA8ezrgKrrE3P6T8kb6J6jEpvUU4A47DyGFcX36kYUVh5W6A30DnzkUIx3GNE ruhXJVedgg6F3rfEqzUbCs6FsskC9KaY15k84zvg1M05XUU6Ca2ljohP7WQVaZm4Kx2Q 23lg== X-Gm-Message-State: AOAM531rILe+Irlxnlnv6yLIflPd39fuU2gqIzoorPmLojM4G/bBjYvQ qJlVlL1wocmMCwNTRtIsOO9+g8XiNxgm8yxUNsenPg== X-Google-Smtp-Source: ABdhPJyyFbDnOiZiY98ep/qEPsD2ly6KXbYA7sCPDrR4ZTBkAGW2AipFSg03O5ek+qZ5l36surpgWhioEDlP/M0umVY= X-Received: by 2002:a9d:721c:: with SMTP id u28mr553870otj.359.1613476787983; Tue, 16 Feb 2021 03:59:47 -0800 (PST) MIME-Version: 1.0 References: <1611729899-23741-1-git-send-email-vikas.singh@puresoftware.com> <20210215131829.GB1664@vanye> In-Reply-To: <20210215131829.GB1664@vanye> From: "Vikas Singh" Date: Tue, 16 Feb 2021 17:29:22 +0530 Message-ID: Subject: Re: [PATCH v2 0/2] Dynamic ACPI framework for fsl layerscape platforms To: Leif Lindholm Cc: Sami Mujawar , devel@edk2.groups.io, meenakshi.aggarwal@nxp.com, Paul Yang , Augustine Philips , samer.el-haj-mahmoud@arm.com, Varun Sethi , Arokia Samy , Kuldip Dwivedi , ard.biesheuvel@arm.com, Vikas Singh Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Feb 15, 2021 at 6:48 PM Leif Lindholm wrote: > > Hi Vikas, > > Apologies for very slow review. > > However, this set doesn't build for me. > It fails with > > In file included from /work/git/edk2-platforms/Platform/NXP/Configuration= ManagerPkg/ConfigurationManagerDxe/ConfigurationManager.c:26: > /work/git/edk2-platforms/Platform/NXP/ConfigurationManagerPkg/Configurati= onManagerDxe/ConfigurationManager.h:17:10: fatal error: Platform.h: No such= file or directory > #include > ^~~~~~~~~~~~ > > Since the location of ConfigurationManagerPkg suggests the intent to > use this for additional platforms in the future, this cannot be > resolved by referencing LX2160aRdbPkg.dec from > ConfigurationManagerDxe.inf. > > I would suggest doing like the ARM VExpressPkg and add: > [BuildOptions] > GCC:*_*_AARCH64_PLATFORM_FLAGS =3D=3D -I$(WORKSPACE)/Platform/NXP/LX216= 0aRdbPkg/Include > to LX2160aRdbPkg.dsc. > Thank you leif for your review comments and suggesting the way out. I will do the necessary changes (suggested by you) and drop the build script idea at this moment. I will share the updated V3 series asap. Thnx!! VS > Also, I'm seeing a build failure in edk2 DynamicTablesPkg when > building with NOOPT: > /work/git/edk2/DynamicTablesPkg/Library/Common/AmlLib/NameSpace/AmlNameSp= ace.c: In function =E2=80=98AmlEnumeratePathCallback=E2=80=99: > /work/git/edk2/DynamicTablesPkg/Library/Common/AmlLib/NameSpace/AmlNameSp= ace.c:1081:31: error: variable =E2=80=98CurrNodePath=E2=80=99 set but not u= sed [-Werror=3Dunused-but-set-variable] > CHAR8 * CurrNodePath; > ^~~~~~~~~~~~ > /work/git/edk2/DynamicTablesPkg/Library/Common/AmlLib/NameSpace/AmlNameSp= ace.c:1078:31: error: variable =E2=80=98SearchedPath=E2=80=99 set but not u= sed [-Werror=3Dunused-but-set-variable] > CHAR8 * SearchedPath; > ^~~~~~~~~~~~ > > Sami - can you have a look at that? > > I'll follow up with a couple of minor comments on the patches. > > Best Regards, > > Leif > > On Wed, Jan 27, 2021 at 12:14:57 +0530, Vikas Singh wrote: > > This patch series sets the foundation of Dynamic ACPI framework for all > > fsl layerscape platforms. In order to achieve: > > - Configurable firmware builds. > > - Unify firmware build for similar platforms. > > - Minimize/eliminate human induced errors. > > - Validate and generate firmware that complies with relevant specific= ations. > > this change set will introduce following changes in below defined order= under > > edk2-platforms/NXP for LX2160ARDB platform. > > > > (1) Introduced edk2-platforms/NXP/ConfigurationManager > > It creates the platform repositories dynamically during build time > > and initializes with platform specific information and serves all reque= stes > > coming from OEM/standard firmware table generators. Configuration Manag= er(CM) > > will be common for all fsl platforms. > > > > (2) Introduced edk2-platforms/NXP/LX2160ARDB/Include/Platform.h > > It has all the declarations and the definitions specified for the platf= orms. > > These definitions will be inturn consumed by Configuration Manager. > > Additionally the placement of this header under "Include" dir will make= these > > macro's availale to other translation units of the platform built. > > > > (3) Introduced edk2-platforms/NXP/LX2160ARDB/AcpiTablesInclude > > This is a placeholder for - OEM specific firmware acpi table generators= . > > This also includes IP specific - DSDT/SSDT generators for the OEM's pla= tform. > > Currently Dsdt.asl is a place holder having only platform's clock relat= ed dsdt > > properties for LX2160ARDB but it is intended to extend this "Dsdt.asl" = to hold > > other table as well in next patch series. > > > > (4) Introduced a new "DYNAMIC_ACPI_ENABLE" flag to control DACPI framew= ork. > > Currently this flag is used for LX2160ARDB and by default it is enabled= . > > This flag can also extend to other fsl layerscape platforms in future. > > Changes can be referred under: > > - LX2160ARDb.dsc > > - LX2160ARDB.fdf > > > > (5) Introduced a "build.sh" script under edk2-platforms/NXP/ to automat= e builds. > > And also mandatorily need to support Dynamic ACPI framework for all fsl= platforms. > > It exports build environment variables and also invokes "Env.sh". > > > > Vikas Singh (2): > > Platform/NXP: Add Dynamic Acpi for layerscape platforms > > Platform/NXP: Add OEM specific DSDT generator > > > > .../ConfigurationManagerDxe/ConfigurationManager.c | 843 +++++++++++++= ++++++++ > > .../ConfigurationManagerDxe/ConfigurationManager.h | 153 ++++ > > .../ConfigurationManagerDxe.inf | 52 ++ > > .../ConfigurationManagerPkg.dec | 23 + > > .../Include/PlatformAcpiTableGenerator.h | 20 + > > Platform/NXP/Env.sh | 67 ++ > > .../LX2160aRdbPkg/AcpiTablesInclude/Dsdt/Clk.asl | 40 + > > .../LX2160aRdbPkg/AcpiTablesInclude/Dsdt/Dsdt.asl | 15 + > > .../AcpiTablesInclude/PlatformAcpiDsdtLib.inf | 39 + > > .../PlatformAcpiDsdtLib/RawDsdtGenerator.c | 146 ++++ > > .../AcpiTablesInclude/PlatformAcpiLib.h | 24 + > > Platform/NXP/LX2160aRdbPkg/Include/Platform.h | 246 ++++++ > > Platform/NXP/LX2160aRdbPkg/LX2160aRdbPkg.dec | 4 + > > Platform/NXP/LX2160aRdbPkg/LX2160aRdbPkg.dsc | 29 + > > Platform/NXP/LX2160aRdbPkg/LX2160aRdbPkg.fdf | 12 + > > Platform/NXP/Readme.md | 35 +- > > Platform/NXP/build.sh | 115 +++ > > Silicon/NXP/LX2160A/LX2160A.dsc.inc | 9 + > > 18 files changed, 1871 insertions(+), 1 deletion(-) > > create mode 100644 Platform/NXP/ConfigurationManagerPkg/ConfigurationM= anagerDxe/ConfigurationManager.c > > create mode 100644 Platform/NXP/ConfigurationManagerPkg/ConfigurationM= anagerDxe/ConfigurationManager.h > > create mode 100644 Platform/NXP/ConfigurationManagerPkg/ConfigurationM= anagerDxe/ConfigurationManagerDxe.inf > > create mode 100644 Platform/NXP/ConfigurationManagerPkg/ConfigurationM= anagerPkg.dec > > create mode 100644 Platform/NXP/ConfigurationManagerPkg/Include/Platfo= rmAcpiTableGenerator.h > > create mode 100755 Platform/NXP/Env.sh > > create mode 100644 Platform/NXP/LX2160aRdbPkg/AcpiTablesInclude/Dsdt/C= lk.asl > > create mode 100644 Platform/NXP/LX2160aRdbPkg/AcpiTablesInclude/Dsdt/D= sdt.asl > > create mode 100644 Platform/NXP/LX2160aRdbPkg/AcpiTablesInclude/Platfo= rmAcpiDsdtLib.inf > > create mode 100644 Platform/NXP/LX2160aRdbPkg/AcpiTablesInclude/Platfo= rmAcpiDsdtLib/RawDsdtGenerator.c > > create mode 100644 Platform/NXP/LX2160aRdbPkg/AcpiTablesInclude/Platfo= rmAcpiLib.h > > create mode 100644 Platform/NXP/LX2160aRdbPkg/Include/Platform.h > > create mode 100755 Platform/NXP/build.sh > > > > -- > > 2.7.4 > >