11 Commits
Author SHA1 Message Date
William Douglas 0d2d11d0fc Add APX flag support
Add support for new APX optimization level. Change increases the
maximim potential optimization level but does not yet allow the files
to be used (installed). get_opt_level_mask still needs to be updated
to account for system supporting the new optimization level (and
adding APX_SKIP_FILE support) before the APX files can be installed.

This change is being done at this time to allow mixer to create these
files without swupd error messages during updates.

Signed-off-by: William Douglas <william.douglas@intel.com>
2024-01-22 06:50:40 -08:00
William Douglas ce82b5da51 Enable use of optimized manifest files beyond SSE
Allow the usage of non-SSE files from manifests. This involves testing
what the currently running system supports for optimized content and
installing the best matching available binary the manifest provides.

There is an exception for operations where the prefix is set to
something other than the rootfs where SSE binaries will be used in all
cases.

Signed-off-by: William Douglas <william.douglas@intel.com>
2023-04-25 14:44:10 -07:00
William Douglas a9aac28ae7 Update opt_mask handling to match mixer-tools
mixer-tools populates the optimized mask based on a matrix of values
where the mask includes both the optimization of the file on the line
but also the combined masks of all matching files.

This means a file mask needs to be translaed from the mask to what its
actual optimization level is and what other optimizations levels are
available to be useful. This change adds 2 new elements to the file
struct. The opt_level stores a files optimization level and
available_levels stores a bitwise or of the different optimization
levels that can be found in the file list for the same file.

For instance an AVX2_3 mask indicates the file is AVX2 with both SSE
and AVX512 files also available (SSE | AVX2 | AVX512 == 3).

Signed-off-by: William Douglas <william.douglas@intel.com>
2023-04-11 12:20:25 -07:00
William Douglas 5ecf766ba8 Fix typo in OPTIMIZED_BITMASKS
Remove duplicate '9' in string for generating OPTIMIZED_BITMASKS array
and regenerate. This also requires an additional element is added to
the array to get to the 64 characters usable in the map.

Signed-off-by: William Douglas <william.douglas@intel.com>
2023-03-03 10:11:00 -08:00
William Douglas 77f16b0120 Add new handling for modifier field
The modifier field will be a character that translates roughly into a
base64 encoded bitmask. The first 3 bytes are the optimization level
and the last three are the max optimization level any files with that
same filename can have.

For now though skip all lines that don't match SSE_OPT (the previous
values the modifier field would have: 'b', 's' and 'C' all map to
the SSE_OPT bitmask).

Also rework the manifest unit tests a bit more. Noticed the exported
flag was wrong in the data and the X flag for the 3rd field was
completely unchecked for in swupd code. Added testing for the ignored
'b', 's' and 'C' values of the modifier field and checked the non-sse
is in fact skipped as a file for now.

Signed-off-by: William Douglas <william.douglas@intel.com>
2023-03-02 12:35:32 -08:00
William Douglas a011f9429a Remove logic for flag not in use
The logic is testing a flag that mixer does not set and would like
to change the purpose of in a new version. Remove the test (needs a
format bump before mixer can use the flag) for the flag.

Signed-off-by: William Douglas <william.douglas@intel.com>
2023-02-28 13:25:05 -08:00
Otavio Pontes 12d0152085 mixin: Remove mixin from manifest functions
Signed-off-by: Otavio Pontes <otavio.pontes@intel.com>
2020-04-08 09:03:56 -07:00
Otavio Pontes f337da5b9c bundleadd: Rename flag from optional to also-add
Signed-off-by: Otavio Pontes <otavio.pontes@intel.com>
2019-07-08 13:58:24 -07:00
Castulo Martinez afc27768bd Parse optional bundles in manifests
This commit adds the ability to the manifest parser to recognize the
"optional" manifest header and to add those optional bundles in the
manifest to the manifest struct.

Signed-off-by: Castulo Martinez <castulo.martinez@intel.com>
2019-07-03 14:59:47 -07:00
Otavio Pontes a4c00b4ed9 test: Move unit test datas to data/ directory
Signed-off-by: Otavio Pontes <otavio.pontes@intel.com>
2019-05-14 14:28:27 -07:00
Otavio Pontes a3a58b7319 test: Adding extra tests for signature
Test if certificates with Authority Information Access property set as critical
aren't used to validate swupd content.

Signed-off-by: Otavio Pontes <otavio.pontes@intel.com>
2019-05-14 14:28:27 -07:00