Hi Ard, Please see my response inline.
Regards, Sami Mujawar -----Original Message----- From: Ard Biesheuvel <[email protected]> Sent: 22 January 2019 09:22 AM To: Sami Mujawar <[email protected]> Cc: [email protected]; Arvind Chauhan <[email protected]>; Daniil Egranov <[email protected]>; Thomas Abraham <[email protected]>; Leif Lindholm <[email protected]>; Kinney, Michael D <[email protected]>; Alexei Fedorov <[email protected]>; Matteo Carlini <[email protected]>; Stephanie Hughes-Fitt <[email protected]>; nd <[email protected]> Subject: Re: [PATCH edk2-platforms v1 5/6] Platform/ARM: Add OEM CPU generator for FVP On Fri, 21 Dec 2018 at 19:14, Sami Mujawar <[email protected]> wrote: > > Hi Ard, > > Please see my response inline. > > Regards, > > Sami Mujawar > > -----Original Message----- > From: Ard Biesheuvel <[email protected]> > Sent: 21 December 2018 05:08 PM > To: Sami Mujawar <[email protected]> > Cc: [email protected]; Arvind Chauhan <[email protected]>; > Daniil Egranov <[email protected]>; Thomas Abraham > <[email protected]>; Leif Lindholm <[email protected]>; > Kinney, Michael D <[email protected]>; Alexei Fedorov > <[email protected]>; Matteo Carlini <[email protected]>; > Stephanie Hughes-Fitt <[email protected]>; nd <[email protected]> > Subject: Re: [PATCH edk2-platforms v1 5/6] Platform/ARM: Add OEM CPU > generator for FVP > > Hi Sami, > > On Fri, 21 Dec 2018 at 18:01, Sami Mujawar <[email protected]> wrote: > > > > Add support for dynamic generation of ACPI CPU device information. > > This generator uses the compiled data from a template asl file and > > patches it at runtime to generate the CPU information based on the > > number of CPUs and their ACPI UID. This patched data is then > > installed as a SSDT table. > > > > Contributed-under: TianoCore Contribution Agreement 1.1 > > Signed-off-by: Sami Mujawar <[email protected]> > > --- > > > > Platform/ARM/VExpressPkg/ConfigurationManager/AcpiOemCpuGeneratorLib/AcpiOemCpuASLLib.inf > > | 27 ++ > > > > Platform/ARM/VExpressPkg/ConfigurationManager/AcpiOemCpuGeneratorLib/AcpiOemCpuGeneratorLib.inf > > | 42 ++ > > > > Platform/ARM/VExpressPkg/ConfigurationManager/AcpiOemCpuGeneratorLib/OemCpuGenerator.c > > | 403 ++++++++++++++++++++ > > > > Platform/ARM/VExpressPkg/ConfigurationManager/AcpiOemCpuGeneratorLib/OemCpuGenerator.h > > | 23 ++ > > > > Platform/ARM/VExpressPkg/ConfigurationManager/AcpiOemCpuGeneratorLib/SsdtCpuTemplate.asl > > | 25 ++ > > 5 files changed, 520 insertions(+) > > > ... > > diff --git > > a/Platform/ARM/VExpressPkg/ConfigurationManager/AcpiOemCpuGeneratorL > > ib > > /OemCpuGenerator.c > > b/Platform/ARM/VExpressPkg/ConfigurationManager/AcpiOemCpuGeneratorL > > ib > > /OemCpuGenerator.c > > new file mode 100644 > > index > > 0000000000000000000000000000000000000000..d544244bfbd566c128b57d80b0 > > c8 > > c2bdc0cca374 > > --- /dev/null > > +++ b/Platform/ARM/VExpressPkg/ConfigurationManager/AcpiOemCpuGenera > > +++ to > > +++ rLib/OemCpuGenerator.c > > @@ -0,0 +1,403 @@ > > +/** @file > > + OEM CPU Table Generator > > + > > + Copyright (c) 2018, ARM Limited. All rights reserved. > > + This program and the accompanying materials are licensed and > > + made available under the terms and conditions of the BSD License > > + which accompanies this distribution. The full text of the license > > + may be found at http://opensource.org/licenses/bsd-license.php > > + > > + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" > > +BASIS, > > + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR > > IMPLIED. > > +**/ > > + > > +#include <Library/AcpiLib.h> > > +#include <Library/BaseLib.h> > > +#include <Library/BaseMemoryLib.h> > > +#include <Library/DebugLib.h> > > +#include <Library/MemoryAllocationLib.h> #include > > +<Library/UefiBootServicesTableLib.h> > > +#include <Protocol/AcpiTable.h> > > + > > +// Module specific include files. > > +#include <AcpiTableGenerator.h> > > +#include <ConfigurationManagerObject.h> #include > > +<ConfigurationManagerHelper.h> #include <Library/TableHelperLib.h> > > +#include <Protocol/ConfigurationManagerProtocol.h> > > +#include <Protocol/DynamicTableFactoryProtocol.h> > > + > > +#include <OemCpuGenerator.h> > > + > > +// AML Code Include files generated by iASL Compiler #include > > +<SsdtCpuTemplate.hex> > > + > > +// AML Code offsets file generated by iASL Compiler #include > > +<SsdtCpuTemplate.offset.h> > > + > > Apologies if I should have spotted this before, but this is a no-go. > We are relying on intermediate output of some version of the IASL compiler > here, which [AFAIK] is not formally specified or documented. > We cannot base an elaborate framework like DynamicTables on this. > > I guess this only affects DSDT/SSDT generation, right? > [SAMI] Yes. The last 2 patches in this series add this feature. We probably > need more discussion on this topic. > Until then can we proceed with review of the remaining patches, or should I > submit a new patch series that drops the last 2 patches? > Could you look into whether EFI's ACPI SDT protocol has what you need to manipulate AML at runtime? [SAMI] Thank you for pointing me to the EFI_ACPI_SDT_PROTOCOL. I will experiment with this and let you know. I am going to resubmit the patch series as I have done some changes based on internal feedback. I will drop this patch [5/6] and the next when I resubmit. _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

