This patch formats the CFGDATA value string into a standard format
for the generated DLT file. It will format the array string using
its structure type including UINT8/16/32/64.
Signed-off-by: Maurice Ma <maurice.ma@intel.com>
This patch added support to load CfgData DLT file through
ConfigEditor command line interface. It makes it easy to
run ConfigEditor. It requires DLT file to be in the same
folder as the CfgDataDef.dsc file.
EX: python ConfigEditor.py Brd1.dlt
Signed-off-by: Maurice Ma <maurice.ma@intel.com>
Current ConfigEditor only supports UINT8 format cell in table.
This patch added support for variable cell width including UINT8,
UINT16, UINT32 in table widget. Test configuration items were
also added in QEMU to test these format.
Signed-off-by: Maurice Ma <maurice.ma@intel.com>
Slim Bootloader code has both CRLF and LF line-ending files.
Before cleaning-up, disable force_crlf for now.
Change-Id: I2e73ccfb8814ea8638c078f284ca7dbeca298e8b
Signed-off-by: Aiden Park <aiden.park@intel.com>
The PatchCheck.py does basic rule check on commit message and code.
This can be used as one of pre-commit checker before doing PR.
ex) N: the number of commits from HEAD
python BaseTools/Scripts/PatchChecker.py -N
Change-Id: Ib75aafa2c3eb3408de08f7fab7fff4934715547c
Signed-off-by: Aiden Park <aiden.park@intel.com>
- 'OpenFile may be used uninitialized' in ExtLib
- 'undefined reference to memcpy' in FatLib
- 'Lasa/Laml may be used uninitialized' in TpmLib
- 'Adjust may be used uninitialized' in Stage2Support
Signed-off-by: Aiden Park <aiden.park@intel.com>
Compile optimization sometimes needs to be disabled for debugging.
EDKII BaseTools provide NOOPT target, so leverage it.
The default GCC '-O0' and VS '/Od' option results in huge size image,
so the optimization level is adjusted with approximately level.
Add a new build option '-no' or '--noopt' for NOOPT target
- Release build option '-r' will ignore '--noopt' option
ex) python BuildLoader.py build qemu --noopt
Signed-off-by: Aiden Park <aiden.park@intel.com>
Current IfwiUtility does not support the old non-redundant image
layout format. This patch added support for non-redundant image by
defining a new FLASH_MAP_REGION key.
Signed-off-by: Maurice Ma <maurice.ma@intel.com>
When config data define with size bigger than 1 byte in array,
GenCfgData will parse as zero value.
This patch to fix the issue.
Signed-off-by: Teo, Boon Tiong <boon.tiong.teo@intel.com>
Add GetNextAvailableComponent() and authenticate the
components after registering them in CONTAINER_LIST.
Signed-off-by: Sai Talamudupula <sai.kiran.talamudupula@intel.com>
This patch sets the default PEIM rule to use TE image format.
In this way it does not need rule overriding anymore.
Signed-off-by: Maurice Ma <maurice.ma@intel.com>
To assist source level debug, it is better to always load PE/TE images
at page aligned memory address so that the script can locate the image
much easier. This patch changed the AllocatePool to AllocatePages for
component loading inside a container.
Signed-off-by: Maurice Ma <maurice.ma@intel.com>
QEMU compiling will fail when EXECUTE_IN_PLACE is set to 1 due to
size issue. Even after fixing size issue, the execution will still
fail. It is because the variable services will try to put SPI into
command mode while code fetching will fail if it is executed from flash.
This patch added necessary code to skip variable tests in Stage1B and
Stage2 when XIP is enabled. It fixed#324.
Signed-off-by: Maurice Ma <maurice.ma@intel.com>
This patch provides the basic infrastructure to add a
Debug Port Table 2 (DBG2) to specify one or more ports
for debugging purposes. More info reg DBG2 @ :
https://docs.microsoft.com/en-us/previous-versions/windows/hardware/design/dn639131(v=vs.85)?redirectedfrom=MSDN
If the platform wants to report a debug port to Windows,
it should patch the DBG2 template provided with the
corresponding debug port information. And this updated
DBG2 must be referenced in RSDT.
Signed-off-by: Sai Talamudupula <sai.kiran.talamudupula@intel.com>
This patch will change the code to always use absolute path
for stitching zip file, if relative path is provide, code will
convert it to absolute path.
Signed-off-by: Raghava Gudla <raghava.gudla@intel.com>
Current code will try to append a NULL char at the end of the
config file buffer to ensure the string is terminated properly.
However, it did that without considering the buffer size. The
current config buffer could have been fully used and no more
space is available to append an extra NULL char. If this happens,
during the pool de-allocation, the assertion will be seen due to
buffer overflow. This patch increased the config buffer size by 1
to ensure it will have space to append string terminator.
It fixed#319.
Signed-off-by: Maurice Ma <maurice.ma@intel.com>
In order to make ACRN to boot, it is required to set boot from eMMC
RAW partition 1. However, current boot option is set to 0, which
caused the boot failure. This patch updated the SwPart to 1 and filled
the LBA with expected format. It fixed#317.
Signed-off-by: Maurice Ma <maurice.ma@intel.com>
Current Gpio config provides a way to select PadMode. But
Native Functions for a PCH are just numbered #1,2, etc. and
do not provide enough information for the end user while
configuring the PadMode.
This patch adds the required Native Function information help
strings in the drop down menu while configuring the PadMode.
Signed-off-by: Sai Talamudupula <sai.kiran.talamudupula@intel.com>
Error: conversion from 'UINT32' to 'UINT8', possible loss of data
MADT ProcessorId and ApicId has the size of UINT8. Cast the size from UINT32 to UINT8.
Change-Id: I3f46b2015b0d21c2b3e2f9389ecb8d5364ed5a5e
Signed-off-by: Aiden Park <aiden.park@intel.com>
This will detect CPUs up-to 255 and update MADT ProcessorLocalApic entries
with the detected CPU information.
- Set PcdCpuMaxLogicalProcessorNumber to 255 in QEMU BoardConfig.py
Test>
qemu-system-x86_64 -machine q35 -nographic -serial mon:stdio
-pflash Outputs/qemu/SlimBootloader.bin
-smp 8
Signed-off-by: Aiden Park <aiden.park@intel.com>
Make PcdCpuMaxLogicalProcessorNumber configurable on a Board
- PcdCpuMaxLogicalProcessorNumber = 16 by default
- Configurable by CPU_MAX_LOGICAL_PROCESSOR_NUMBER in BoardConfig.py
Signed-off-by: Aiden Park <aiden.park@intel.com>
Currently, the common hook UpdateMadt() was updating fixed size of
ProcessorLocalApic entries.
This allows the hook to append ProcessorLocalApic entries with the number
of detected CPUs in runtime.
Signed-off-by: Aiden Park <aiden.park@intel.com>
To make PlatformUpdateAcpiTable() hook its contents and length easily,
allocate a memory from low to high and appends each tables to higher direction
Signed-off-by: Aiden Park <aiden.park@intel.com>
- Add BistVal in STAGE1A_ASM_HOB structure
- Use MM0 register to preserve the BIST value
- Push BistVal while setup HOB in stack
- Add check for CPU BIST failure and halt the system when failed
Signed-off-by: Himanshu Sahdev aka CunningLearner sahdev.himan@gmail.com
This patch added support for CFLS and CFLH stitching by patching
proper xml file for the platforms.
Signed-off-by: Raghava Gudla <raghava.gudla@intel.com>
Currently in Stage1B it defined gpio table for pre-memory, but no one
program that gpio table. This patch adds it.
Move full GPIO table program from Stage1B to Stage2
Remove unused global variable mRsvdSmbusAddressTable in Stage1B.
TEST= Build success.
Signed-off-by: Guo Dong <guo.dong@intel.com>
This patch will patch parameters for BpmGen2
based on the example file provided in the BpmGen2
package.
Signed-off-by: Raghava Gudla <raghava.gudla@intel.com>
This patch will use a list of xml changes required and
patch them in a loop rather than patching each change
seperately.
This patch also add parameter to indicate platform for which
ifwi is getting build.
Signed-off-by: Raghava Gudla <raghava.gudla@intel.com>
This patch will remove FitHelp.py dependency from StitchIfwi
and reuses code from IfwiUtility to patch ACM binary.
This patch also fixed some case dependency required for python
in xml file patching. without this fix, fit does not work as
expected.
Signed-off-by: Raghava Gudla <raghava.gudla@intel.com>
Klocwork scanning reported several issues in the
PayloadPkg and Platform code folders, this commit
aims to resolve all of the issues currently being
reported in these folders.
Signed-off-by: James Gutbub <james.gutbub@intel.com>
CfgDataTool was originally developed for APL. On APL, the CFGDATA
region name is 'CFGD'. However, on all other platform, the name
is 'CNFG'. This patch modified the script to handle both. And it
fixed#293.
Signed-off-by: Maurice Ma <maurice.ma@intel.com>
TpmSsdt.asl is common for supported platforms
SMIE for SMI control access is defined in Platform DSDT
for CFL and APL.
Signed-off-by: Subash Lakkimsetti <subashx.lakkimsetti@intel.com>
This patch will seperate SPD config data from memory configuration data,
as a small change in the SPD config data is resulting in duplication
of the memory config data. After sperating SPD config data, duplication
of whole memory cfg data is not required and would result in saving space.
Signed-off-by: Raghava Gudla <raghava.gudla@intel.com>
Current travis build only performs debug build with python 2.
This patch allows to test debug and release build, python2 and
python3 build.
Signed-off-by: Maurice Ma <maurice.ma@intel.com>