Skip to content

Commit 1b4319f

Browse files
Update zebin note target metadata
This commit removes ZebinTargetMetadata struct, and uses ZebinTargetFlags for both target validations: via machine type, and via intel gt notes. Signed-off-by: Krystian Chmielewski <[email protected]>
1 parent b8028d7 commit 1b4319f

File tree

4 files changed

+6
-51
lines changed

4 files changed

+6
-51
lines changed

shared/source/device_binary_format/elf/zebin_elf.h

Lines changed: 0 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -109,51 +109,6 @@ struct ZebinTargetFlags {
109109
};
110110
static_assert(sizeof(ZebinTargetFlags) == sizeof(uint32_t), "");
111111

112-
struct ZebinTargetMetadata {
113-
// bit[7:0]: dedicated for specific generator (meaning based on generatorId)
114-
enum GeneratorSpecificFlags : uint8_t {
115-
NONE = 0
116-
};
117-
// bit[22:20]: generator of this device binary
118-
enum GeneratorId : uint8_t {
119-
UNREGISTERED = 0,
120-
IGC = 1
121-
};
122-
123-
union {
124-
struct {
125-
// bit[7:0]: dedicated for specific generator (meaning based on generatorId)
126-
uint8_t generatorSpecificFlags : 8;
127-
128-
// bit[12:8]: values [0-31], min compatbile device revision Id (stepping)
129-
uint8_t minHwRevisionId : 5;
130-
131-
// bit[13:13]:
132-
// 0 - full validation during decoding (safer decoding)
133-
// 1 - no validation (faster decoding - recommended for known generators)
134-
bool validateRevisionId : 1;
135-
136-
// bit[14:14]:
137-
// 0 - ignore minHwRevisionId and maxHwRevisionId
138-
// 1 - underlying device must match specified revisionId info
139-
bool disableExtendedValidation : 1;
140-
141-
// bit[19:15]: max compatbile device revision Id (stepping)
142-
uint8_t maxHwRevisionId : 5;
143-
144-
// bit[22:20]: generator of this device binary
145-
// 0 - Unregistered
146-
// 1 - IGC
147-
uint8_t generatorId : 3;
148-
149-
// bit[31:23]: MBZ, reserved for future use
150-
uint8_t reserved : 8;
151-
};
152-
uint32_t packed = 0U;
153-
};
154-
};
155-
static_assert(sizeof(ZebinTargetMetadata) == sizeof(uint32_t), "");
156-
157112
namespace ZebinKernelMetadata {
158113
namespace Tags {
159114
static constexpr ConstStringRef kernels("kernels");

shared/source/device_binary_format/zebin_decoder.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ namespace NEO {
2525
bool validateTargetDevice(const Elf::Elf<Elf::EI_CLASS_64> &elf, const TargetDevice &targetDevice) {
2626
GFXCORE_FAMILY gfxCore = IGFX_UNKNOWN_CORE;
2727
PRODUCT_FAMILY productFamily = IGFX_UNKNOWN;
28-
Elf::ZebinTargetMetadata targetMetadata = {};
28+
Elf::ZebinTargetFlags targetMetadata = {};
2929
auto intelGTNotes = getIntelGTNotes(elf);
3030
for (const auto &intelGTNote : intelGTNotes) {
3131
switch (intelGTNote->type) {

shared/test/unit_test/device_binary_format/device_binary_format_zebin_tests.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2020-2021 Intel Corporation
2+
* Copyright (C) 2020-2022 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -332,7 +332,7 @@ TEST(UnpackSingleDeviceBinaryZebin, WhenMachineIsIntelGTAndIntelGTNoteSectionIsV
332332
notes[1].type = NEO::Elf::IntelGTSectionType::GfxCore;
333333
notes[1].desc = targetDevice.coreFamily;
334334

335-
NEO::Elf::ZebinTargetMetadata targetMetadata;
335+
NEO::Elf::ZebinTargetFlags targetMetadata;
336336
targetMetadata.validateRevisionId = true;
337337
targetMetadata.minHwRevisionId = targetDevice.stepping - 1;
338338
targetMetadata.maxHwRevisionId = targetDevice.stepping + 1;

shared/test/unit_test/device_binary_format/zebin_decoder_tests.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5107,7 +5107,7 @@ TEST_F(IntelGTNotesFixture, WhenGettingIntelGTNotesGivenValidIntelGTNotesSection
51075107
notes[1].type = Elf::IntelGTSectionType::GfxCore;
51085108
notes[1].desc = IGFX_GEN9_CORE;
51095109

5110-
Elf::ZebinTargetMetadata targetMetadata;
5110+
Elf::ZebinTargetFlags targetMetadata;
51115111
targetMetadata.validateRevisionId = true;
51125112
targetMetadata.minHwRevisionId = 5;
51135113
targetMetadata.maxHwRevisionId = 7;
@@ -5170,7 +5170,7 @@ TEST_F(IntelGTNotesFixture, WhenValidatingTargetDeviceGivenValidTargetDeviceAndV
51705170
notes[1].type = Elf::IntelGTSectionType::GfxCore;
51715171
notes[1].desc = targetDevice.coreFamily;
51725172

5173-
Elf::ZebinTargetMetadata targetMetadata;
5173+
Elf::ZebinTargetFlags targetMetadata;
51745174
targetMetadata.validateRevisionId = true;
51755175
targetMetadata.minHwRevisionId = targetDevice.stepping - 1;
51765176
targetMetadata.maxHwRevisionId = targetDevice.stepping + 1;
@@ -5214,7 +5214,7 @@ TEST_F(IntelGTNotesFixture, WhenValidatingTargetDeviceGivenInvalidTargetDeviceAn
52145214
notes[1].type = Elf::IntelGTSectionType::GfxCore;
52155215
notes[1].desc = targetDevice.coreFamily + 2;
52165216

5217-
Elf::ZebinTargetMetadata targetMetadata;
5217+
Elf::ZebinTargetFlags targetMetadata;
52185218
targetMetadata.validateRevisionId = true;
52195219
targetMetadata.minHwRevisionId = targetDevice.stepping + 1;
52205220
targetMetadata.maxHwRevisionId = targetDevice.stepping + 3;

0 commit comments

Comments
 (0)