diff --git a/shared/source/gen12lp/reg_configs.h b/shared/source/gen12lp/reg_configs.h index 76821369e8..43fdd1233a 100644 --- a/shared/source/gen12lp/reg_configs.h +++ b/shared/source/gen12lp/reg_configs.h @@ -22,4 +22,13 @@ struct L3CNTLRegisterOffset { static const uint32_t registerOffset = 0xB134; static const uint32_t registerOffsetCCS = 0xB234; }; + +template <> +struct DebugModeRegisterOffset { + enum { + registerOffset = 0x20d8, + debugEnabledValue = (1 << 5) | (1 << 21) + }; +}; + } // namespace NEO diff --git a/shared/source/helpers/preamble_base.inl b/shared/source/helpers/preamble_base.inl index 031085c9c1..04c73f63cb 100644 --- a/shared/source/helpers/preamble_base.inl +++ b/shared/source/helpers/preamble_base.inl @@ -88,15 +88,10 @@ void PreambleHelper::programPreemption(LinearStream *pCommandStream, template void PreambleHelper::programKernelDebugging(LinearStream *pCommandStream) { - auto pCmd = reinterpret_cast(pCommandStream->getSpace(sizeof(MI_LOAD_REGISTER_IMM))); - *pCmd = GfxFamily::cmdInitLoadRegisterImm; - pCmd->setRegisterOffset(DebugModeRegisterOffset::registerOffset); - pCmd->setDataDword(DebugModeRegisterOffset::debugEnabledValue); - - auto pCmd2 = reinterpret_cast(pCommandStream->getSpace(sizeof(MI_LOAD_REGISTER_IMM))); - *pCmd2 = GfxFamily::cmdInitLoadRegisterImm; - pCmd2->setRegisterOffset(TdDebugControlRegisterOffset::registerOffset); - pCmd2->setDataDword(TdDebugControlRegisterOffset::debugEnabledValue); + LriHelper::program(pCommandStream, DebugModeRegisterOffset::registerOffset, + DebugModeRegisterOffset::debugEnabledValue); + LriHelper::program(pCommandStream, TdDebugControlRegisterOffset::registerOffset, + TdDebugControlRegisterOffset::debugEnabledValue); } template diff --git a/shared/test/unit_test/preamble/preamble_tests.cpp b/shared/test/unit_test/preamble/preamble_tests.cpp index 916bf98484..2a58a7f3b5 100644 --- a/shared/test/unit_test/preamble/preamble_tests.cpp +++ b/shared/test/unit_test/preamble/preamble_tests.cpp @@ -6,7 +6,7 @@ */ #include "shared/source/command_stream/preemption.h" -#include "shared/source/gen11/reg_configs.h" +#include "shared/source/gen_common/reg_configs/reg_configs_common.h" #include "shared/source/helpers/flat_batch_buffer_helper_hw.h" #include "shared/source/helpers/preamble.h" #include "shared/source/utilities/stackvec.h"