This patch introduces a branch for implementing Dynamic Tables
Framework. The description is in the Readme.md file.
Please create a branch called 'dynamictables' in edk2-staging.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
Signed-off-by: Evan Lloyd <evan.lloyd@arm.com>
---
Apologies for sending the patch again. I had missed the staging tag in the subject line.
Readme.md | 150 ++++++++++++++++++++
1 file changed, 150 insertions(+)
diff --git a/Readme.md b/Readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..652b0e3060f75a2afe9506817d1745cd903b0cb2
--- /dev/null
+++ b/Readme.md
@@ -0,0 +1,150 @@
+This branch will be used to develop the Dynamic Tables Framework.
+
+Dynamic Tables Framework
+------------------------
+
+To reduce the amount of effort required in porting firmware to new
+platforms, we propose this "Dynamic Tables" framework. The aim is
+to provide an example implementation capable of generating the
+firmware tables from an external source. This is potentially a
+management node, either local or remote, or, where suitable, a file
+that might be generated from the system construction. This initial
+"proof of concept" release does not fully implement that - the
+configuration is held in local UEFI modules.
+
+Branch Owners
+-------------
+ Evan Lloyd <evan.lloyd@arm.com> \
+ Sami Mujawar <sami.mujawar@arm.com>
+
+Feature Summary
+---------------
+The dynamic tables framework is designed to generate standardised
+firmware tables that describe the hardware information at
+run-time. A goal of standardised firmware is to have a common
+firmware for a platform capable of booting both Windows and Linux
+operating systems.
+
+Traditionally the firmware tables are handcrafted using ACPI
+Source Language (ASL), Table Definition Language (TDL) and
+C-code. This approach can be error prone and involves time
+consuming debugging. In addition, it may be desirable to configure
+platform hardware at runtime such as: configuring the number of
+cores available for use by the OS, or turning SoC features ON or
+OFF.
+
+The dynamic tables framework simplifies this by providing a set
+of standard table generators, that are implemented as libraries.
+These generators query a platform specific component, the
+'Configuration Manager', to collate the information required
+for generating the tables at run-time.
+
+The framework also provides the ability to implement custom/OEM
+generators; thereby facilitating support for custom tables. The
+custom generators can also utilize the existing standard generators
+and override any functionality if needed.
+
+The framework currently implements a set of standard ACPI table
+generators for ARM architecture, that can generate Server Base Boot
+Requirement (SBBR) compliant tables. Although, the set of standard
+generators implement the functionality required for ARM architecture;
+the framework is extensible, and support for other architectures can
+be added easily.
+
+The framework currently supports the following table generators for ARM:
+* DBG2 - Debug Port Table 2
+* DSDT - Differentiated system description table. This is essentially
+ a RAW table generator.
+* FADT - Fixed ACPI Description Table
+* GTDT - Generic Timer Description Table
+* IORT - IO Remapping Table
+* MADT - Multiple APIC Description Table
+* MCFG - PCI Express memory mapped configuration space base address
+ Description Table
+* SPCR - Serial Port Console Redirection Table
+* SSDT - Secondary System Description Table. This is essentially
+ a RAW table generator.
+
+Roadmap
+-------
+The current implementation of the Configuration Manager populates the
+platform information statically as a C structure. Further enhancements
+to introduce runtime loading of platform information from a platform
+information file is planned.
+
+Also support for generating SMBIOS tables is planned and will be added
+subsequently.
+
+Related Modules
+---------------
+
+### edk2-platforms
+The *devel-dynamictables* branch in the **edk2-platform** repository contains
+the Configuration Manager implementation (the platform specific component)
+for Juno and Fixed Virtual Platform models.
+
+### ACPICA iASL compiler
+The RAW table generator, used to process the DSDT/SSDT files depends on
+the iASL compiler to convert the DSDT/SSDT ASL files to a C array containing
+the hex AML code. The current implementation of the iASL compiler does not
+support generation of a C header file suitable for including from a C source
+file.
+
+Related Links
+--------------
+
+<https://github.com/tianocore/edk2-platforms.git>
+
+<https://github.com/acpica/acpica.git>
+
+Supported Platforms
+-------------------
+1. Juno
+2. FVP Models
+
+Build Instructions
+------------------
+1. Set path for the iASL compiler with support for generating a C header
+ file as output.
+
+2. Set PACKAGES_PATH to point to the locations of the following repositories:
+
+Example:
+
+> set PACKAGES_PATH=%CD%\edk2;%CD%\edk2-platforms;%CD%\edk2-non-osi
+
+ or
+
+> export PACKAGES_PATH=$PWD/edk2:$PWD/edk2-platforms:$PWD/edk2-non-osi
+
+3. To enable Dynamic tables framework the *'DYNAMIC_TABLES_FRAMEWORK'*
+option must be defined. This can be passed as a command line
+parameter to the edk2 build system.
+
+Example:
+
+>build -a AARCH64 -p Platform\ARM\JunoPkg\ArmJuno.dsc
+ -t GCC5 **-D DYNAMIC_TABLES_FRAMEWORK**
+
+or
+
+>build -a AARCH64 -p Platform\ARM\VExpressPkg\ArmVExpress-FVP-AArch64.dsc
+ -t GCC5 **-D DYNAMIC_TABLES_FRAMEWORK**
+
+
+Prerequisites
+-------------
+ACPICA iASL compiler with support for generating a C header file.
+
+A patch ***'Modify hex AML C header file generation'***, to enable
+this support has been submitted to the ACPICA source repository.
+<https://lists.acpica.org/pipermail/devel/2018-March/001755.html>
+
+Documentation
+-------------
+A description document is in preparation, and should be available in the
+near future.
+
+Miscellaneous
+-------------
+
--
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
On Thu, Mar 15, 2018 at 07:09:16PM +0000, Sami Mujawar wrote: > This patch introduces a branch for implementing Dynamic Tables > Framework. The description is in the Readme.md file. > > Please create a branch called 'dynamictables' in edk2-staging. > > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> > Signed-off-by: Evan Lloyd <evan.lloyd@arm.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> But, adding Andrew and Mike to cc. If they have no comments, I can create this branch tomorrow. / Leif > --- > > Apologies for sending the patch again. I had missed the staging tag in the subject line. > > Readme.md | 150 ++++++++++++++++++++ > 1 file changed, 150 insertions(+) > > diff --git a/Readme.md b/Readme.md > new file mode 100644 > index 0000000000000000000000000000000000000000..652b0e3060f75a2afe9506817d1745cd903b0cb2 > --- /dev/null > +++ b/Readme.md > @@ -0,0 +1,150 @@ > +This branch will be used to develop the Dynamic Tables Framework. > + > +Dynamic Tables Framework > +------------------------ > + > +To reduce the amount of effort required in porting firmware to new > +platforms, we propose this "Dynamic Tables" framework. The aim is > +to provide an example implementation capable of generating the > +firmware tables from an external source. This is potentially a > +management node, either local or remote, or, where suitable, a file > +that might be generated from the system construction. This initial > +"proof of concept" release does not fully implement that - the > +configuration is held in local UEFI modules. > + > +Branch Owners > +------------- > + Evan Lloyd <evan.lloyd@arm.com> \ > + Sami Mujawar <sami.mujawar@arm.com> > + > +Feature Summary > +--------------- > +The dynamic tables framework is designed to generate standardised > +firmware tables that describe the hardware information at > +run-time. A goal of standardised firmware is to have a common > +firmware for a platform capable of booting both Windows and Linux > +operating systems. > + > +Traditionally the firmware tables are handcrafted using ACPI > +Source Language (ASL), Table Definition Language (TDL) and > +C-code. This approach can be error prone and involves time > +consuming debugging. In addition, it may be desirable to configure > +platform hardware at runtime such as: configuring the number of > +cores available for use by the OS, or turning SoC features ON or > +OFF. > + > +The dynamic tables framework simplifies this by providing a set > +of standard table generators, that are implemented as libraries. > +These generators query a platform specific component, the > +'Configuration Manager', to collate the information required > +for generating the tables at run-time. > + > +The framework also provides the ability to implement custom/OEM > +generators; thereby facilitating support for custom tables. The > +custom generators can also utilize the existing standard generators > +and override any functionality if needed. > + > +The framework currently implements a set of standard ACPI table > +generators for ARM architecture, that can generate Server Base Boot > +Requirement (SBBR) compliant tables. Although, the set of standard > +generators implement the functionality required for ARM architecture; > +the framework is extensible, and support for other architectures can > +be added easily. > + > +The framework currently supports the following table generators for ARM: > +* DBG2 - Debug Port Table 2 > +* DSDT - Differentiated system description table. This is essentially > + a RAW table generator. > +* FADT - Fixed ACPI Description Table > +* GTDT - Generic Timer Description Table > +* IORT - IO Remapping Table > +* MADT - Multiple APIC Description Table > +* MCFG - PCI Express memory mapped configuration space base address > + Description Table > +* SPCR - Serial Port Console Redirection Table > +* SSDT - Secondary System Description Table. This is essentially > + a RAW table generator. > + > +Roadmap > +------- > +The current implementation of the Configuration Manager populates the > +platform information statically as a C structure. Further enhancements > +to introduce runtime loading of platform information from a platform > +information file is planned. > + > +Also support for generating SMBIOS tables is planned and will be added > +subsequently. > + > +Related Modules > +--------------- > + > +### edk2-platforms > +The *devel-dynamictables* branch in the **edk2-platform** repository contains > +the Configuration Manager implementation (the platform specific component) > +for Juno and Fixed Virtual Platform models. > + > +### ACPICA iASL compiler > +The RAW table generator, used to process the DSDT/SSDT files depends on > +the iASL compiler to convert the DSDT/SSDT ASL files to a C array containing > +the hex AML code. The current implementation of the iASL compiler does not > +support generation of a C header file suitable for including from a C source > +file. > + > +Related Links > +-------------- > + > +<https://github.com/tianocore/edk2-platforms.git> > + > +<https://github.com/acpica/acpica.git> > + > +Supported Platforms > +------------------- > +1. Juno > +2. FVP Models > + > +Build Instructions > +------------------ > +1. Set path for the iASL compiler with support for generating a C header > + file as output. > + > +2. Set PACKAGES_PATH to point to the locations of the following repositories: > + > +Example: > + > +> set PACKAGES_PATH=%CD%\edk2;%CD%\edk2-platforms;%CD%\edk2-non-osi > + > + or > + > +> export PACKAGES_PATH=$PWD/edk2:$PWD/edk2-platforms:$PWD/edk2-non-osi > + > +3. To enable Dynamic tables framework the *'DYNAMIC_TABLES_FRAMEWORK'* > +option must be defined. This can be passed as a command line > +parameter to the edk2 build system. > + > +Example: > + > +>build -a AARCH64 -p Platform\ARM\JunoPkg\ArmJuno.dsc > + -t GCC5 **-D DYNAMIC_TABLES_FRAMEWORK** > + > +or > + > +>build -a AARCH64 -p Platform\ARM\VExpressPkg\ArmVExpress-FVP-AArch64.dsc > + -t GCC5 **-D DYNAMIC_TABLES_FRAMEWORK** > + > + > +Prerequisites > +------------- > +ACPICA iASL compiler with support for generating a C header file. > + > +A patch ***'Modify hex AML C header file generation'***, to enable > +this support has been submitted to the ACPICA source repository. > +<https://lists.acpica.org/pipermail/devel/2018-March/001755.html> > + > +Documentation > +------------- > +A description document is in preparation, and should be available in the > +near future. > + > +Miscellaneous > +------------- > + > -- > 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)' > > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Leif, Please create the branch in edk2-staging. Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com> Mike > -----Original Message----- > From: Leif Lindholm [mailto:leif.lindholm@linaro.org] > Sent: Thursday, March 15, 2018 12:31 PM > To: Sami Mujawar <sami.mujawar@arm.com> > Cc: edk2-devel@lists.01.org; evan.lloyd@arm.com; > Matteo.Carlini@arm.com; Stephanie.Hughes-Fitt@arm.com; > nd@arm.com; Andrew Fish <afish@apple.com>; Kinney, > Michael D <michael.d.kinney@intel.com> > Subject: Re: [staging/dynamictables PATCH] Branch to > implement Dynamic Tables Framework > > On Thu, Mar 15, 2018 at 07:09:16PM +0000, Sami Mujawar > wrote: > > This patch introduces a branch for implementing > Dynamic Tables > > Framework. The description is in the Readme.md file. > > > > Please create a branch called 'dynamictables' in > edk2-staging. > > > > Contributed-under: TianoCore Contribution Agreement > 1.1 > > Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> > > Signed-off-by: Evan Lloyd <evan.lloyd@arm.com> > > Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> > > But, adding Andrew and Mike to cc. > If they have no comments, I can create this branch > tomorrow. > > / > Leif > > > --- > > > > Apologies for sending the patch again. I had missed > the staging tag in the subject line. > > > > Readme.md | 150 ++++++++++++++++++++ > > 1 file changed, 150 insertions(+) > > > > diff --git a/Readme.md b/Readme.md > > new file mode 100644 > > index > 0000000000000000000000000000000000000000..652b0e3060f75 > a2afe9506817d1745cd903b0cb2 > > --- /dev/null > > +++ b/Readme.md > > @@ -0,0 +1,150 @@ > > +This branch will be used to develop the Dynamic > Tables Framework. > > + > > +Dynamic Tables Framework > > +------------------------ > > + > > +To reduce the amount of effort required in porting > firmware to new > > +platforms, we propose this "Dynamic Tables" > framework. The aim is > > +to provide an example implementation capable of > generating the > > +firmware tables from an external source. This is > potentially a > > +management node, either local or remote, or, where > suitable, a file > > +that might be generated from the system > construction. This initial > > +"proof of concept" release does not fully implement > that - the > > +configuration is held in local UEFI modules. > > + > > +Branch Owners > > +------------- > > + Evan Lloyd <evan.lloyd@arm.com> \ > > + Sami Mujawar <sami.mujawar@arm.com> > > + > > +Feature Summary > > +--------------- > > +The dynamic tables framework is designed to generate > standardised > > +firmware tables that describe the hardware > information at > > +run-time. A goal of standardised firmware is to have > a common > > +firmware for a platform capable of booting both > Windows and Linux > > +operating systems. > > + > > +Traditionally the firmware tables are handcrafted > using ACPI > > +Source Language (ASL), Table Definition Language > (TDL) and > > +C-code. This approach can be error prone and > involves time > > +consuming debugging. In addition, it may be > desirable to configure > > +platform hardware at runtime such as: configuring > the number of > > +cores available for use by the OS, or turning SoC > features ON or > > +OFF. > > + > > +The dynamic tables framework simplifies this by > providing a set > > +of standard table generators, that are implemented > as libraries. > > +These generators query a platform specific > component, the > > +'Configuration Manager', to collate the information > required > > +for generating the tables at run-time. > > + > > +The framework also provides the ability to implement > custom/OEM > > +generators; thereby facilitating support for custom > tables. The > > +custom generators can also utilize the existing > standard generators > > +and override any functionality if needed. > > + > > +The framework currently implements a set of standard > ACPI table > > +generators for ARM architecture, that can generate > Server Base Boot > > +Requirement (SBBR) compliant tables. Although, the > set of standard > > +generators implement the functionality required for > ARM architecture; > > +the framework is extensible, and support for other > architectures can > > +be added easily. > > + > > +The framework currently supports the following table > generators for ARM: > > +* DBG2 - Debug Port Table 2 > > +* DSDT - Differentiated system description table. > This is essentially > > + a RAW table generator. > > +* FADT - Fixed ACPI Description Table > > +* GTDT - Generic Timer Description Table > > +* IORT - IO Remapping Table > > +* MADT - Multiple APIC Description Table > > +* MCFG - PCI Express memory mapped configuration > space base address > > + Description Table > > +* SPCR - Serial Port Console Redirection Table > > +* SSDT - Secondary System Description Table. This is > essentially > > + a RAW table generator. > > + > > +Roadmap > > +------- > > +The current implementation of the Configuration > Manager populates the > > +platform information statically as a C structure. > Further enhancements > > +to introduce runtime loading of platform information > from a platform > > +information file is planned. > > + > > +Also support for generating SMBIOS tables is planned > and will be added > > +subsequently. > > + > > +Related Modules > > +--------------- > > + > > +### edk2-platforms > > +The *devel-dynamictables* branch in the **edk2- > platform** repository contains > > +the Configuration Manager implementation (the > platform specific component) > > +for Juno and Fixed Virtual Platform models. > > + > > +### ACPICA iASL compiler > > +The RAW table generator, used to process the > DSDT/SSDT files depends on > > +the iASL compiler to convert the DSDT/SSDT ASL files > to a C array containing > > +the hex AML code. The current implementation of the > iASL compiler does not > > +support generation of a C header file suitable for > including from a C source > > +file. > > + > > +Related Links > > +-------------- > > + > > +<https://github.com/tianocore/edk2-platforms.git> > > + > > +<https://github.com/acpica/acpica.git> > > + > > +Supported Platforms > > +------------------- > > +1. Juno > > +2. FVP Models > > + > > +Build Instructions > > +------------------ > > +1. Set path for the iASL compiler with support for > generating a C header > > + file as output. > > + > > +2. Set PACKAGES_PATH to point to the locations of > the following repositories: > > + > > +Example: > > + > > +> set PACKAGES_PATH=%CD%\edk2;%CD%\edk2- > platforms;%CD%\edk2-non-osi > > + > > + or > > + > > +> export PACKAGES_PATH=$PWD/edk2:$PWD/edk2- > platforms:$PWD/edk2-non-osi > > + > > +3. To enable Dynamic tables framework the > *'DYNAMIC_TABLES_FRAMEWORK'* > > +option must be defined. This can be passed as a > command line > > +parameter to the edk2 build system. > > + > > +Example: > > + > > +>build -a AARCH64 -p > Platform\ARM\JunoPkg\ArmJuno.dsc > > + -t GCC5 **-D DYNAMIC_TABLES_FRAMEWORK** > > + > > +or > > + > > +>build -a AARCH64 -p > Platform\ARM\VExpressPkg\ArmVExpress-FVP-AArch64.dsc > > + -t GCC5 **-D DYNAMIC_TABLES_FRAMEWORK** > > + > > + > > +Prerequisites > > +------------- > > +ACPICA iASL compiler with support for generating a C > header file. > > + > > +A patch ***'Modify hex AML C header file > generation'***, to enable > > +this support has been submitted to the ACPICA source > repository. > > +<https://lists.acpica.org/pipermail/devel/2018- > March/001755.html> > > + > > +Documentation > > +------------- > > +A description document is in preparation, and should > be available in the > > +near future. > > + > > +Miscellaneous > > +------------- > > + > > -- > > 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)' > > > > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Thanks Mike, Sami - requested branches created and pushed to edk2-platforms and edk2-staging. Regards, Leif On Thu, Mar 15, 2018 at 10:36:24PM +0000, Kinney, Michael D wrote: > Leif, > > Please create the branch in edk2-staging. > > Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com> > > Mike > > > -----Original Message----- > > From: Leif Lindholm [mailto:leif.lindholm@linaro.org] > > Sent: Thursday, March 15, 2018 12:31 PM > > To: Sami Mujawar <sami.mujawar@arm.com> > > Cc: edk2-devel@lists.01.org; evan.lloyd@arm.com; > > Matteo.Carlini@arm.com; Stephanie.Hughes-Fitt@arm.com; > > nd@arm.com; Andrew Fish <afish@apple.com>; Kinney, > > Michael D <michael.d.kinney@intel.com> > > Subject: Re: [staging/dynamictables PATCH] Branch to > > implement Dynamic Tables Framework > > > > On Thu, Mar 15, 2018 at 07:09:16PM +0000, Sami Mujawar > > wrote: > > > This patch introduces a branch for implementing > > Dynamic Tables > > > Framework. The description is in the Readme.md file. > > > > > > Please create a branch called 'dynamictables' in > > edk2-staging. > > > > > > Contributed-under: TianoCore Contribution Agreement > > 1.1 > > > Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> > > > Signed-off-by: Evan Lloyd <evan.lloyd@arm.com> > > > > Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> > > > > But, adding Andrew and Mike to cc. > > If they have no comments, I can create this branch > > tomorrow. > > > > / > > Leif > > > > > --- > > > > > > Apologies for sending the patch again. I had missed > > the staging tag in the subject line. > > > > > > Readme.md | 150 ++++++++++++++++++++ > > > 1 file changed, 150 insertions(+) > > > > > > diff --git a/Readme.md b/Readme.md > > > new file mode 100644 > > > index > > 0000000000000000000000000000000000000000..652b0e3060f75 > > a2afe9506817d1745cd903b0cb2 > > > --- /dev/null > > > +++ b/Readme.md > > > @@ -0,0 +1,150 @@ > > > +This branch will be used to develop the Dynamic > > Tables Framework. > > > + > > > +Dynamic Tables Framework > > > +------------------------ > > > + > > > +To reduce the amount of effort required in porting > > firmware to new > > > +platforms, we propose this "Dynamic Tables" > > framework. The aim is > > > +to provide an example implementation capable of > > generating the > > > +firmware tables from an external source. This is > > potentially a > > > +management node, either local or remote, or, where > > suitable, a file > > > +that might be generated from the system > > construction. This initial > > > +"proof of concept" release does not fully implement > > that - the > > > +configuration is held in local UEFI modules. > > > + > > > +Branch Owners > > > +------------- > > > + Evan Lloyd <evan.lloyd@arm.com> \ > > > + Sami Mujawar <sami.mujawar@arm.com> > > > + > > > +Feature Summary > > > +--------------- > > > +The dynamic tables framework is designed to generate > > standardised > > > +firmware tables that describe the hardware > > information at > > > +run-time. A goal of standardised firmware is to have > > a common > > > +firmware for a platform capable of booting both > > Windows and Linux > > > +operating systems. > > > + > > > +Traditionally the firmware tables are handcrafted > > using ACPI > > > +Source Language (ASL), Table Definition Language > > (TDL) and > > > +C-code. This approach can be error prone and > > involves time > > > +consuming debugging. In addition, it may be > > desirable to configure > > > +platform hardware at runtime such as: configuring > > the number of > > > +cores available for use by the OS, or turning SoC > > features ON or > > > +OFF. > > > + > > > +The dynamic tables framework simplifies this by > > providing a set > > > +of standard table generators, that are implemented > > as libraries. > > > +These generators query a platform specific > > component, the > > > +'Configuration Manager', to collate the information > > required > > > +for generating the tables at run-time. > > > + > > > +The framework also provides the ability to implement > > custom/OEM > > > +generators; thereby facilitating support for custom > > tables. The > > > +custom generators can also utilize the existing > > standard generators > > > +and override any functionality if needed. > > > + > > > +The framework currently implements a set of standard > > ACPI table > > > +generators for ARM architecture, that can generate > > Server Base Boot > > > +Requirement (SBBR) compliant tables. Although, the > > set of standard > > > +generators implement the functionality required for > > ARM architecture; > > > +the framework is extensible, and support for other > > architectures can > > > +be added easily. > > > + > > > +The framework currently supports the following table > > generators for ARM: > > > +* DBG2 - Debug Port Table 2 > > > +* DSDT - Differentiated system description table. > > This is essentially > > > + a RAW table generator. > > > +* FADT - Fixed ACPI Description Table > > > +* GTDT - Generic Timer Description Table > > > +* IORT - IO Remapping Table > > > +* MADT - Multiple APIC Description Table > > > +* MCFG - PCI Express memory mapped configuration > > space base address > > > + Description Table > > > +* SPCR - Serial Port Console Redirection Table > > > +* SSDT - Secondary System Description Table. This is > > essentially > > > + a RAW table generator. > > > + > > > +Roadmap > > > +------- > > > +The current implementation of the Configuration > > Manager populates the > > > +platform information statically as a C structure. > > Further enhancements > > > +to introduce runtime loading of platform information > > from a platform > > > +information file is planned. > > > + > > > +Also support for generating SMBIOS tables is planned > > and will be added > > > +subsequently. > > > + > > > +Related Modules > > > +--------------- > > > + > > > +### edk2-platforms > > > +The *devel-dynamictables* branch in the **edk2- > > platform** repository contains > > > +the Configuration Manager implementation (the > > platform specific component) > > > +for Juno and Fixed Virtual Platform models. > > > + > > > +### ACPICA iASL compiler > > > +The RAW table generator, used to process the > > DSDT/SSDT files depends on > > > +the iASL compiler to convert the DSDT/SSDT ASL files > > to a C array containing > > > +the hex AML code. The current implementation of the > > iASL compiler does not > > > +support generation of a C header file suitable for > > including from a C source > > > +file. > > > + > > > +Related Links > > > +-------------- > > > + > > > +<https://github.com/tianocore/edk2-platforms.git> > > > + > > > +<https://github.com/acpica/acpica.git> > > > + > > > +Supported Platforms > > > +------------------- > > > +1. Juno > > > +2. FVP Models > > > + > > > +Build Instructions > > > +------------------ > > > +1. Set path for the iASL compiler with support for > > generating a C header > > > + file as output. > > > + > > > +2. Set PACKAGES_PATH to point to the locations of > > the following repositories: > > > + > > > +Example: > > > + > > > +> set PACKAGES_PATH=%CD%\edk2;%CD%\edk2- > > platforms;%CD%\edk2-non-osi > > > + > > > + or > > > + > > > +> export PACKAGES_PATH=$PWD/edk2:$PWD/edk2- > > platforms:$PWD/edk2-non-osi > > > + > > > +3. To enable Dynamic tables framework the > > *'DYNAMIC_TABLES_FRAMEWORK'* > > > +option must be defined. This can be passed as a > > command line > > > +parameter to the edk2 build system. > > > + > > > +Example: > > > + > > > +>build -a AARCH64 -p > > Platform\ARM\JunoPkg\ArmJuno.dsc > > > + -t GCC5 **-D DYNAMIC_TABLES_FRAMEWORK** > > > + > > > +or > > > + > > > +>build -a AARCH64 -p > > Platform\ARM\VExpressPkg\ArmVExpress-FVP-AArch64.dsc > > > + -t GCC5 **-D DYNAMIC_TABLES_FRAMEWORK** > > > + > > > + > > > +Prerequisites > > > +------------- > > > +ACPICA iASL compiler with support for generating a C > > header file. > > > + > > > +A patch ***'Modify hex AML C header file > > generation'***, to enable > > > +this support has been submitted to the ACPICA source > > repository. > > > +<https://lists.acpica.org/pipermail/devel/2018- > > March/001755.html> > > > + > > > +Documentation > > > +------------- > > > +A description document is in preparation, and should > > be available in the > > > +near future. > > > + > > > +Miscellaneous > > > +------------- > > > + > > > -- > > > 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)' > > > > > > > _______________________________________________ > 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.