Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[edk2-devel] [PATCH] OvmfPkg: supply missing lib class declarations in the DEC file -- push #511

Merged
merged 1 commit into from
Apr 8, 2020

Conversation

List the header files in the OvmfPkg DEC file for the following lib
classes:

- MemEncryptSevLib (one instance: BaseMemEncryptSevLib)

- PlatformFvbLib (two instances: EmuVariableFvbLib, PlatformFvbLibNull)

- VirtioLib (one instance: VirtioLib)

- VirtioMmioDeviceLib (one instance: VirtioMmioDeviceLib)

Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Cc: Sean Brogan <sean.brogan@microsoft.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2662
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Message-Id: <20200407100545.25406-1-lersek@redhat.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@arm.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
@lersek lersek added the push Auto push patch series in PR if all checks pass label Apr 8, 2020
@mergify mergify bot merged commit 7cfc48f into tianocore:master Apr 8, 2020
@lersek lersek deleted the lib_classes_bz_2662_apply branch April 8, 2020 09:36
kuqin12 pushed a commit to kuqin12/edk2 that referenced this pull request Oct 3, 2023
## Description

FlattenPdbs generally takes anywhere from .8 to 1.5 seconds for a given
platform. This change reduces this time to .3 to .4 seconds due to the
following changes:

1. Only copy pdbs in the the OUTPUT folder. The original code did not
check what folder the pdb was in, and would copy the same pdb multiple
times due to the same file siting in OUTPUT and DEBUG folders.

2. Performs a hardlink rather than copying the file. This improves
performance as a hardlink is treated as it's own file, but points the
same physical file on disk. This means we create just the file metadata,
and don't need to copy the data the file contains. A reference counter
ensures that deleting the file in one place does not not delete the file
on disk (unless it is the last reference), so the other hardlinks are
not affected.

3. The above change also allows the code to check the ino value (a
unique identifier for a file on disk) and skip the making of a hardlink
if it is already linked. This is a small optimization as running a build
only rebuilds modules that have changed.

- [ ] Impacts functionality?
- **Functionality** - Does the change ultimately impact how firmware
functions?
- Examples: Add a new library, publish a new PPI, update an algorithm,
...
- [ ] Impacts security?
- **Security** - Does the change have a direct security impact on an
application,
    flow, or firmware?
  - Examples: Crypto algorithm change, buffer overflow fix, parameter
    validation improvement, ...
- [ ] Breaking change?
- **Breaking change** - Will anyone consuming this change experience a
break
    in build or boot behavior?
- Examples: Add a new library class, move a module to a different repo,
call
    a function in a new library class in a pre-existing module, ...
- [ ] Includes tests?
  - **Tests** - Does the change include any explicit test code?
  - Examples: Unit tests, integration tests, robot tests, ...
- [ ] Includes documentation?
- **Documentation** - Does the change contain explicit documentation
additions
    outside direct code modifications (and comments)?
- Examples: Update readme file, add feature readme file, link to
documentation
    on an a separate Web page, ...

## How This Was Tested

1. Verified performance improvements
2. Verified non-changed files are not copied to the bdb folder
3. verified changed files are copied to the pdb folder
4. Verified files deleted in the pdb folder are replaced

## Integration Instructions

N/A
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
push Auto push patch series in PR if all checks pass
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant