summaryrefslogtreecommitdiff
path: root/CorebootModulePkg/CbSupportPei
AgeCommit message (Collapse)AuthorFilesLines
2016-11-17CorebootPayloadPkg/CbSupportPei: Fix the memory map issueMaurice Ma1-0/+5
When coreboot reports memory range across 1MB, the current code cannot handle it properly. In this case the range should be adjusted to start from 1MB instead since the memory resource below 1MB has been preprocessed by CbSupportPei module. This patch fixed the coreboot + UEFI payload hang issue when running on QEMU due to incorrect memory map. Cc: Prince Agyeman <prince.agyeman@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Maurice Ma <maurice.ma@intel.com> Reviewed-by: Prince Agyeman <prince.agyeman@intel.com>
2016-10-26CorebootModulePkg: Fix memmap issuegdong12-46/+86
Some reserved memory (e.g. CSE reserved memory) might be in the middle of usable physical memory. The current memory map caculation could not handle this case. This patch fixed this issue. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: gdong1 <guo.dong@intel.com> Reviewed-by: Maurice Ma <maurice.ma@intel.com>
2016-10-26CorebootModulePkg: Add a library to parse platform specific info.gdong13-1/+12
Update CbSupportPei to consume the new library, so platform could provide platform specific library instance to parse platform specif info. And add a NULL library instance to pass build. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: gdong1 <guo.dong@intel.com> Reviewed-by: Maurice Ma <maurice.ma@intel.com>
2016-10-26CorebootPayloadPkg DSC: Add build option to disable deprecated APIsMaurice Ma1-1/+2
Add the following definition in the [BuildOptions] section in package DSC files to disable APIs that are deprecated. As a result replaced PcdSet32 with PcdSet32S accordingly to make the build pass. [BuildOptions] *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES Cc: Prince Agyeman <prince.agyeman@intel.com> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=163 Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Maurice Ma <maurice.ma@intel.com> Reviewed-by: Prince Agyeman <prince.agyeman@intel.com>
2016-05-18CorebootModulePkg: Use PCD for memory type information initializationMaurice Ma2-10/+15
CorebootModulePkg currently uses a hardcoded table for memory type initialization. It might need to be adjusted by platform to reduce the memory fragmentation. So changing to use PCDs rather than constant values to facilitate the customization. Cc: Prince Agyeman <prince.agyeman@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Maurice Ma <maurice.ma@intel.com> Reviewed-by: Prince Agyeman <prince.agyeman@intel.com>
2015-08-18CorebootModulePkg:Removing EFI_RESOURCE_ATTRIBUTE_TESTEDScott Duplichan1-1/+5
Remove EFI_RESOURCE_ATTRIBUTE_TESTED when reporting lower 640KB memory so that the coreboot header is not erased before being processed by CbParseMemoryInfo. This change is needed for compatibility with SVN revision 18146. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Scott Duplichan <scott@notabs.org> Reviewed-by: Prince Agyeman <prince.agyeman@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18234 6f19259b-4bc3-4df7-8a09-765794883524
2015-06-25CorebootModulePkg: Get power management register addresses.Guo Dong1-1/+5
This patch will get power management event register address and power management GPE enable register address. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Guo Dong <guo.dong@intel.com> Reviewed-by: Maurice Ma <maurice.ma@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17714 6f19259b-4bc3-4df7-8a09-765794883524
2015-06-03CorebootModulePkg/CbSupportPei: Relace tabs with whitespacesMaurice Ma1-177/+177
Replace tabs with whitespaces and remove the trailing whitespaces at the end of lines to conform to the coding style. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Maurice Ma <maurice.ma@intel.com> Reviewed-by: Prince Agyeman <prince.agyeman@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17551 6f19259b-4bc3-4df7-8a09-765794883524
2015-06-03CorebootModulePkg/CbSupportPei: Mask off all legacy 8259 interrupt sourcesMaurice Ma3-4/+15
The current coreboot UEFI payload has an assumption that all interrupt sources should be masked off before transferring control to the payload. However, it is not the case on some platforms, such as QEMU. It will cause boot failure due to unexpected pending interrupt in the payload. To resolve it all legacy 8259 interrupt sources need to be masked piror to the DXE phase. The fix was tested on QEMU virtual platform. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Maurice Ma <maurice.ma@intel.com> Reviewed-by: Prince Agyeman <prince.agyeman@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17550 6f19259b-4bc3-4df7-8a09-765794883524
2015-04-10CorebootModulePkg: DEBUG print format correctionsScott Duplichan1-8/+8
Fix DEBUG print formats so that pointers and 64-bit integer values display correctly for both 32-bit and 64-bit builds. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Scott Duplichan <scott@notabs.org> Reviewed-by: Prince Agyeman <prince.agyeman@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17153 6f19259b-4bc3-4df7-8a09-765794883524
2015-04-10CorebootModulePkg: Add 'ULL' suffix to avoid gcc 4.4 compile failScott Duplichan1-1/+1
Add ULL siffix to 64-bit constants, otherwise gcc44 reports error: integer constant is too large for 'long' type Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Scott Duplichan <scott@notabs.org> Reviewed-by: Bruce Cran <bruce.cran@gmail.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17145 6f19259b-4bc3-4df7-8a09-765794883524
2015-03-31Pkg-Module: CorebootModulePkgMaurice Ma3-0/+492
Initial coreboot UEFI payload code check in. It provides UEFI services on top of coreboot that allows UEFI OS boot. CorebootModulePkg is the source code package of coreboot support modules that will be used to parse the coreboot tables and report memory/io resources. It supports the following features: - Support Unified Extensible Firmware Interface (UEFI) specification 2.4. - Support Platform Initialization(PI) specification 1.3. - Support execution as a coreboot payload. - Support USB 3.0 - Support SATA/ATA devices. - Support EFI aware OS boot. The following features are not supported currently and have not been validated: - GCC Tool Chains - SMM Execution Environment - Security Boot It was tested on a Intel Bay Trail CRB platform. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Maurice Ma <maurice.ma@intel.com> Reviewed-by: Prince Agyeman <prince.agyeman@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17084 6f19259b-4bc3-4df7-8a09-765794883524