diff --git a/opencl/test/unit_test/memory_manager/gfx_partition_tests.inl b/opencl/test/unit_test/memory_manager/gfx_partition_tests.inl index 23670bb704..1ee5b989f5 100644 --- a/opencl/test/unit_test/memory_manager/gfx_partition_tests.inl +++ b/opencl/test/unit_test/memory_manager/gfx_partition_tests.inl @@ -9,29 +9,11 @@ #include "shared/source/helpers/basic_math.h" #include "shared/source/helpers/ptr_math.h" #include "shared/source/os_interface/os_memory.h" -#include "shared/source/utilities/cpu_info.h" #include "opencl/test/unit_test/mocks/mock_gfx_partition.h" #include "gtest/gtest.h" -// CpuInfo is a singleton object so we have to patch it in place -class CpuInfoOverrideCpuVirtualAddressSize { - public: - class MockCpuInfo : public CpuInfo { - public: - using CpuInfo::virtualAddressSize; - } *mockCpuInfo = reinterpret_cast(const_cast(&CpuInfo::getInstance())); - CpuInfoOverrideCpuVirtualAddressSize(uint32_t newCpuVirtualAddressSize) { - virtualAddressSizeSave = mockCpuInfo->getVirtualAddressSize(); - mockCpuInfo->virtualAddressSize = newCpuVirtualAddressSize; - } - ~CpuInfoOverrideCpuVirtualAddressSize() { - mockCpuInfo->virtualAddressSize = virtualAddressSizeSave; - } - uint32_t virtualAddressSizeSave = 0; -}; - using namespace NEO; constexpr size_t reservedCpuAddressRangeSize = is64bit ? (6 * 4 * GB) : 0; @@ -159,16 +141,6 @@ TEST(GfxPartitionTest, testGfxPartitionUnsupportedRange) { EXPECT_FALSE(gfxPartition.init(maxNBitValue(48 + 1), reservedCpuAddressRangeSize, 0, 1)); } -TEST(GfxPartitionTest, testGfxPartitionUnsupportedCpuVirualAddressSize) { - if (is32bit) { - GTEST_SKIP(); - } - - CpuInfoOverrideCpuVirtualAddressSize overrideCpuVirtualAddressSize(48 + 1); - MockGfxPartition gfxPartition; - EXPECT_FALSE(gfxPartition.init(maxNBitValue(48), reservedCpuAddressRangeSize, 0, 1)); -} - TEST(GfxPartitionTest, testGfxPartitionFullRange48BitSVMHeap64KBSplit) { uint32_t rootDeviceIndex = 3; size_t numRootDevices = 5; @@ -358,4 +330,4 @@ TEST(GfxPartitionTest, givenInternalHeapWhenAllocatingSmallOrBigChunkThenAddress EXPECT_EQ(gfxPartition.getHeapBase(heaps[i]) + GfxPartition::internalFrontWindowPoolSize, address); gfxPartition.heapFree(heaps[i], address, sizeToAlloc); } -} +} \ No newline at end of file diff --git a/shared/source/memory_manager/gfx_partition.cpp b/shared/source/memory_manager/gfx_partition.cpp index cdea17ce67..51feb6542f 100644 --- a/shared/source/memory_manager/gfx_partition.cpp +++ b/shared/source/memory_manager/gfx_partition.cpp @@ -10,7 +10,6 @@ #include "shared/source/helpers/aligned_memory.h" #include "shared/source/helpers/heap_assigner.h" #include "shared/source/memory_manager/memory_manager.h" -#include "shared/source/utilities/cpu_info.h" namespace NEO { @@ -139,8 +138,7 @@ bool GfxPartition::init(uint64_t gpuAddressSpace, size_t cpuAddressRangeSizeToRe gfxBase = maxNBitValue(32) + 1; heapInit(HeapIndex::HEAP_SVM, 0ull, gfxBase); } else { - auto cpuVirtualAddressSize = CpuInfo::getInstance().getVirtualAddressSize(); - if (cpuVirtualAddressSize == 48 && gpuAddressSpace == maxNBitValue(48)) { + if (gpuAddressSpace == maxNBitValue(48)) { gfxBase = maxNBitValue(48 - 1) + 1; heapInit(HeapIndex::HEAP_SVM, 0ull, gfxBase); } else if (gpuAddressSpace == maxNBitValue(47)) { @@ -163,7 +161,7 @@ bool GfxPartition::init(uint64_t gpuAddressSpace, size_t cpuAddressRangeSizeToRe gfxBase = 0ull; heapInit(HeapIndex::HEAP_SVM, 0ull, 0ull); } else { - if (!initAdditionalRange(cpuVirtualAddressSize, gpuAddressSpace, gfxBase, gfxTop, rootDeviceIndex, numRootDevices)) { + if (!initAdditionalRange(gpuAddressSpace, gfxBase, gfxTop, rootDeviceIndex, numRootDevices)) { return false; } } diff --git a/shared/source/memory_manager/gfx_partition.h b/shared/source/memory_manager/gfx_partition.h index 731ac55da2..a430dfc9b9 100644 --- a/shared/source/memory_manager/gfx_partition.h +++ b/shared/source/memory_manager/gfx_partition.h @@ -107,7 +107,7 @@ class GfxPartition { static const std::array heapNonSvmNames; protected: - bool initAdditionalRange(uint32_t cpuAddressWidth, uint64_t gpuAddressSpace, uint64_t &gfxBase, uint64_t &gfxTop, uint32_t rootDeviceIndex, size_t numRootDevices); + bool initAdditionalRange(uint64_t gpuAddressSpace, uint64_t &gfxBase, uint64_t &gfxTop, uint32_t rootDeviceIndex, size_t numRootDevices); class Heap { public: diff --git a/shared/source/memory_manager/gfx_partition_init_additional_range.cpp b/shared/source/memory_manager/gfx_partition_init_additional_range.cpp index 06c4618b82..cfef320773 100644 --- a/shared/source/memory_manager/gfx_partition_init_additional_range.cpp +++ b/shared/source/memory_manager/gfx_partition_init_additional_range.cpp @@ -9,7 +9,7 @@ namespace NEO { -bool GfxPartition::initAdditionalRange(uint32_t cpuVirtualAddressSize, uint64_t gpuAddressSpace, uint64_t &gfxBase, uint64_t &gfxTop, uint32_t rootDeviceIndex, size_t numRootDevices) { +bool GfxPartition::initAdditionalRange(uint64_t gpuAddressSpace, uint64_t &gfxBase, uint64_t &gfxTop, uint32_t rootDeviceIndex, size_t numRootDevices) { return false; }