fix(zebin): Do not use NT_INTELGT_PRODUCT_CONFIG for target device validation

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
This commit is contained in:
Kacper Nowak 2023-07-04 15:23:31 +00:00 committed by Compute-Runtime-Automation
parent 5b9d45f3bc
commit 1fba2a162e
2 changed files with 0 additions and 35 deletions

View File

@ -124,9 +124,6 @@ bool validateTargetDevice(const Elf::Elf<numBits> &elf, const TargetDevice &targ
break; break;
} }
case Elf::IntelGTSectionType::ProductConfig: { case Elf::IntelGTSectionType::ProductConfig: {
DEBUG_BREAK_IF(sizeof(uint32_t) != intelGTNote.data.size());
auto productConfigData = reinterpret_cast<const uint32_t *>(intelGTNote.data.begin());
productConfig = static_cast<AOT::PRODUCT_CONFIG>(*productConfigData);
break; break;
} }
case Elf::IntelGTSectionType::vISAAbiVersion: { case Elf::IntelGTSectionType::vISAAbiVersion: {

View File

@ -5580,38 +5580,6 @@ TEST_F(IntelGTNotesFixture, WhenValidatingTargetDeviceGivenValidTargetDeviceAndV
EXPECT_TRUE(validateTargetDevice(elf, targetDevice, outErrReason, outWarning, generator)); EXPECT_TRUE(validateTargetDevice(elf, targetDevice, outErrReason, outWarning, generator));
} }
TEST_F(IntelGTNotesFixture, givenAotConfigInIntelGTNotesSectionWhenValidatingTargetDeviceThenUseOnlyItForValidation) {
NEO::HardwareIpVersion aotConfig = {0};
aotConfig.value = 0x00001234;
TargetDevice targetDevice;
targetDevice.maxPointerSizeInBytes = 8u;
ASSERT_EQ(IGFX_UNKNOWN, targetDevice.productFamily);
ASSERT_EQ(IGFX_UNKNOWN_CORE, targetDevice.coreFamily);
targetDevice.aotConfig.value = aotConfig.value;
NEO::Elf::ElfNoteSection elfNoteSection;
elfNoteSection.descSize = 4u;
elfNoteSection.nameSize = 8u;
elfNoteSection.type = Zebin::Elf::IntelGTSectionType::ProductConfig;
uint8_t productConfigData[4];
memcpy_s(productConfigData, 4, &aotConfig.value, 4);
auto sectionDataSize = sizeof(NEO::Elf::ElfNoteSection) + elfNoteSection.nameSize + elfNoteSection.descSize;
auto noteIntelGTSectionData = std::make_unique<uint8_t[]>(sectionDataSize);
appendSingleIntelGTSectionData(elfNoteSection, noteIntelGTSectionData.get(), productConfigData, NEO::Zebin::Elf::IntelGTNoteOwnerName.data(), sectionDataSize);
zebin.appendSection(NEO::Elf::SHT_NOTE, Zebin::Elf::SectionNames::noteIntelGT, ArrayRef<uint8_t>::fromAny(noteIntelGTSectionData.get(), sectionDataSize));
std::string outErrReason, outWarning;
auto elf = NEO::Elf::decodeElf<NEO::Elf::EI_CLASS_64>(zebin.storage, outErrReason, outWarning);
EXPECT_TRUE(outWarning.empty());
EXPECT_TRUE(outErrReason.empty());
GeneratorType generator{};
EXPECT_TRUE(validateTargetDevice(elf, targetDevice, outErrReason, outWarning, generator));
}
TEST(ValidateTargetDevice32BitZebin, Given32BitZebinAndValidIntelGTNotesWhenValidatingTargetDeviceThenReturnTrue) { TEST(ValidateTargetDevice32BitZebin, Given32BitZebinAndValidIntelGTNotesWhenValidatingTargetDeviceThenReturnTrue) {
TargetDevice targetDevice; TargetDevice targetDevice;
targetDevice.productFamily = productFamily; targetDevice.productFamily = productFamily;