Branch: refs/heads/master
  Home:   https://github.com/tianocore/edk2
  Commit: adc5e8d00941485ddeb185869eb35dd2de08f711
      
https://github.com/tianocore/edk2/commit/adc5e8d00941485ddeb185869eb35dd2de08f711
  Author: Michael D Kinney <[email protected]>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M BaseTools/Source/Python/CommonDataClass/FdfClass.py
    M BaseTools/Source/Python/GenFds/FdfParser.py
    M BaseTools/Source/Python/GenFds/FfsInfStatement.py
    M BaseTools/Source/Python/GenFds/Fv.py

  Log Message:
  -----------
  BaseTools/GenFds: Propagate Xip flag to FV INF via ,XIP suffix

Add Xip attribute to FDF Rule class and parse the Xip keyword in
EFI section rules of FDF files. Add XipEnabled attribute to
FfsInfStatement that is determined from the applicable FDF Rule's
section Xip setting. When generating the FV INF file, append ",XIP"
to EFI_FILE_NAME entries for modules whose Rule specifies Xip=TRUE.

This enables per-file XIP rebase control in GenFv by communicating
which files require XIP rebase directly in the FV INF file format.

Signed-off-by: Michael D Kinney <[email protected]>


  Commit: 3ee3b60eb82d52e159641b89d66bcc91a40b84ce
      
https://github.com/tianocore/edk2/commit/3ee3b60eb82d52e159641b89d66bcc91a40b84ce
  Author: Michael D Kinney <[email protected]>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M BaseTools/Source/C/GenFv/GenFvInternalLib.c
    M BaseTools/Source/C/GenFv/GenFvInternalLib.h

  Log Message:
  -----------
  BaseTools/GenFv: Parse ,XIP suffix for per-file rebase control

Update ParseFvInf() to detect and strip ",XIP" suffix from
EFI_FILE_NAME values in the FV INF file. Store the per-file XIP
flag in the new XipFile[] array in the FV_INFO structure.

Add FileIndex parameter to FfsRebase() so it can look up the XIP
flag for the current file. When ForceRebase is TRUE, only rebase
files that have their XipFile[] entry set to TRUE.

Signed-off-by: Michael D Kinney <[email protected]>


  Commit: 80bf0137c1ef00047769f3ea7b05f93ec9696b1c
      
https://github.com/tianocore/edk2/commit/80bf0137c1ef00047769f3ea7b05f93ec9696b1c
  Author: Michael D Kinney <[email protected]>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    A BaseTools/Tests/TestGenFvXip.py
    A BaseTools/Tests/conftest.py

  Log Message:
  -----------
  BaseTools/Tests: Add unit and functional tests for XIP rebase

Add TestGenFvXip.py with 19 parameterized subtests covering the
complete XIP rebase decision matrix:

- 11 unit subtests validating DetermineXipEnabled() with
  RuleComplexFile and RuleSimpleFile objects covering Xip attribute
  parsing (TRUE/FALSE/None, case insensitive, boolean vs string).

- 8 functional subtests that run real edk2 builds with generated
  DSC/FDF files exercising all ForceRebase/BaseAddress/Xip
  combinations. Each test verifies:
  1. FV INF file contains correct ,XIP suffixes
  2. FV map file shows correct rebase status (Fixed Flash Address)
  3. PE/COFF ImageBase in the FV binary matches expected value

Signed-off-by: Michael D Kinney <[email protected]>


  Commit: d6eb4c4965328395582b5f7c54997dad8fcf669c
      
https://github.com/tianocore/edk2/commit/d6eb4c4965328395582b5f7c54997dad8fcf669c
  Author: Michael D Kinney <[email protected]>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M BaseTools/Source/Python/GenFds/FdfParser.py

  Log Message:
  -----------
  BaseTools/GenFds: Allow PE32 section keywords in any order

Replace sequential if-statements for Align, Xip, and
RELOCS_STRIPPED/RELOCS_RETAINED parsing in _GetEfiSection() with a
while-loop that accepts these keywords in any permutation. Previously,
specifying Xip before Align in a [Rule] PE32 section caused a Python
stack trace.

Signed-off-by: Michael D Kinney <[email protected]>


  Commit: 2a4022b6ae4652515aa215e00f856f899693a2a3
      
https://github.com/tianocore/edk2/commit/2a4022b6ae4652515aa215e00f856f899693a2a3
  Author: Michael D Kinney <[email protected]>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M BaseTools/Tests/TestGenFvXip.py

  Log Message:
  -----------
  BaseTools/Tests: Add PE32 section keyword order parser tests

Add TestFdfParserPe32KeywordOrder test class with 17 parameterized
subtests covering all permutations of Align, Xip, and
RELOCS_STRIPPED/RELOCS_RETAINED keywords in PE32 section statements.
Tests verify pairwise orderings, all 6 three-keyword permutations,
single-keyword cases, and Xip=FALSE/RELOCS_RETAINED variants.

Signed-off-by: Michael D Kinney <[email protected]>


  Commit: 57164cdc87cfc42083310062720d0a2eeef92bac
      
https://github.com/tianocore/edk2/commit/57164cdc87cfc42083310062720d0a2eeef92bac
  Author: Michael D Kinney <[email protected]>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M BaseTools/Source/Python/GenFds/FdfParser.py

  Log Message:
  -----------
  BaseTools/GenFds: Fix FV attribute parser to allow any keyword order

Fix _GetFvAttributes() to return True when it has successfully parsed
at least one attribute before encountering a non-attribute keyword.
Previously it always returned False on encountering an unrecognized
word, even after consuming prior attributes. This caused the outer
parsing loop to break prematurely when FvForceRebase, FvBaseAddress,
or FvAlignment appeared between FV attribute flags (e.g. between
ERASE_POLARITY and MEMORY_MAPPED), resulting in a Python stack trace.

Move IsWordToken assignment to after successful attribute parsing and
change the early return from 'return False' to 'return IsWordToken'.

Signed-off-by: Michael D Kinney <[email protected]>


  Commit: 3a1cfddd9a12bcdbbbcd0ff98c87a8747d08e433
      
https://github.com/tianocore/edk2/commit/3a1cfddd9a12bcdbbbcd0ff98c87a8747d08e433
  Author: Michael D Kinney <[email protected]>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M BaseTools/Tests/TestGenFvXip.py

  Log Message:
  -----------
  BaseTools/Tests: Add FV section keyword order parser tests

Add TestFdfParserFvKeywordOrder test class with 8 parameterized
subtests verifying that FV-level keywords (FvForceRebase,
FvBaseAddress, FvAlignment) can be freely interleaved with FV
attribute flags in any order within an [FV] section.

Signed-off-by: Michael D Kinney <[email protected]>


Compare: https://github.com/tianocore/edk2/compare/b9463ca6b604...3a1cfddd9a12

To unsubscribe from these emails, change your notification settings at 
https://github.com/tianocore/edk2/settings/notifications


_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to