mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-18 22:08:53 +08:00
feature: Enable Support for reading updated StateSaveHeaders
Related-To: NEO-16518 Signed-off-by: Neil R. Spruit <neil.r.spruit@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
a52f526929
commit
b580e4e023
@@ -5,14 +5,13 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "shared/source/debugger/DebuggerStateSaveHeader.h"
|
||||
#include "shared/source/debugger/debugger_l0.h"
|
||||
#include "shared/source/device/device.h"
|
||||
#include "shared/source/helpers/gfx_core_helper.h"
|
||||
#include "shared/source/memory_manager/memory_allocation.h"
|
||||
#include "shared/test/common/mocks/mock_sip.h"
|
||||
|
||||
#include "common/StateSaveAreaHeader.h"
|
||||
|
||||
#include <cassert>
|
||||
|
||||
namespace NEO {
|
||||
@@ -31,104 +30,99 @@ void clearUseFlags() {
|
||||
called = false;
|
||||
}
|
||||
|
||||
std::vector<char> createStateSaveAreaHeader(uint32_t version) {
|
||||
return createStateSaveAreaHeader(version, 128);
|
||||
}
|
||||
|
||||
std::vector<char> createStateSaveAreaHeader(uint32_t version, uint16_t grfNum) {
|
||||
return createStateSaveAreaHeader(version, grfNum, 1);
|
||||
}
|
||||
|
||||
std::vector<char> createStateSaveAreaHeader(uint32_t version, uint16_t grfNum, uint16_t mmeNum) {
|
||||
SIP::StateSaveAreaHeader stateSaveAreaHeader = {
|
||||
{
|
||||
// versionHeader
|
||||
"tssarea", // magic
|
||||
0, // reserved1
|
||||
{ // version
|
||||
1, // major
|
||||
0, // minor
|
||||
0}, // patch
|
||||
40, // size
|
||||
{0, 0, 0}, // reserved2
|
||||
},
|
||||
{
|
||||
// regHeader
|
||||
1, // num_slices
|
||||
2, // num_subslices_per_slice
|
||||
16, // num_eus_per_subslice
|
||||
7, // num_threads_per_eu
|
||||
0, // state_area_offset
|
||||
6144, // state_save_size
|
||||
0, // slm_area_offset
|
||||
0, // slm_bank_size
|
||||
0, // slm_bank_valid
|
||||
4740, // sr_magic_offset
|
||||
{0, grfNum, 256, 32}, // grf
|
||||
{4096, 1, 256, 32}, // addr
|
||||
{4128, 2, 32, 4}, // flag
|
||||
{4156, 1, 32, 4}, // emask
|
||||
{4160, 2, 128, 16}, // sr
|
||||
{4192, 1, 128, 16}, // cr
|
||||
{4256, 1, 96, 12}, // notification
|
||||
{4288, 1, 128, 16}, // tdr
|
||||
{4320, 10, 256, 32}, // acc
|
||||
{4320, 10, 256, 32}, // mme
|
||||
{4672, 1, 32, 4}, // ce
|
||||
{4704, 1, 128, 16}, // sp
|
||||
{0, 0, 0, 0}, // cmd
|
||||
{4640, 1, 128, 16}, // tm
|
||||
{0, 1, 32, 4}, // fc
|
||||
{4736, 1, 32, 4}, // dbg
|
||||
},
|
||||
SIP::StateSaveArea versionHeaderV1 = {
|
||||
// versionHeader
|
||||
"tssarea", // magic
|
||||
0, // reserved1
|
||||
{ // version
|
||||
1, // major
|
||||
0, // minor
|
||||
0}, // patch
|
||||
40, // size
|
||||
{0, 0, 0}, // reserved2
|
||||
};
|
||||
SIP::intelgt_state_save_area regHeaderV1 = {
|
||||
// regHeader
|
||||
1, // num_slices
|
||||
2, // num_subslices_per_slice
|
||||
16, // num_eus_per_subslice
|
||||
7, // num_threads_per_eu
|
||||
0, // state_area_offset
|
||||
6144, // state_save_size
|
||||
0, // slm_area_offset
|
||||
0, // slm_bank_size
|
||||
0, // slm_bank_valid
|
||||
4740, // sr_magic_offset
|
||||
{0, grfNum, 256, 32}, // grf
|
||||
{4096, 1, 256, 32}, // addr
|
||||
{4128, 2, 32, 4}, // flag
|
||||
{4156, 1, 32, 4}, // emask
|
||||
{4160, 2, 128, 16}, // sr
|
||||
{4192, 1, 128, 16}, // cr
|
||||
{4256, 1, 96, 12}, // notification
|
||||
{4288, 1, 128, 16}, // tdr
|
||||
{4320, 10, 256, 32}, // acc
|
||||
{4320, 10, 256, 32}, // mme
|
||||
{4672, 1, 32, 4}, // ce
|
||||
{4704, 1, 128, 16}, // sp
|
||||
{0, 0, 0, 0}, // cmd
|
||||
{4640, 1, 128, 16}, // tm
|
||||
{0, 1, 32, 4}, // fc
|
||||
{4736, 1, 32, 4}, // dbg
|
||||
};
|
||||
NEO::StateSaveAreaHeader stateSaveAreaHeader = {};
|
||||
stateSaveAreaHeader.versionHeader = versionHeaderV1;
|
||||
stateSaveAreaHeader.regHeader = regHeaderV1;
|
||||
|
||||
SIP::StateSaveArea versionHeaderV2 = {
|
||||
// versionHeader
|
||||
"tssarea", // magic
|
||||
0, // reserved1
|
||||
{ // version
|
||||
2, // major
|
||||
0, // minor
|
||||
0}, // patch
|
||||
44, // size
|
||||
{0, 0, 0}, // reserved2
|
||||
};
|
||||
|
||||
SIP::StateSaveAreaHeader stateSaveAreaHeader2 = {
|
||||
{
|
||||
// versionHeader
|
||||
"tssarea", // magic
|
||||
0, // reserved1
|
||||
{ // version
|
||||
2, // major
|
||||
0, // minor
|
||||
0}, // patch
|
||||
44, // size
|
||||
{0, 0, 0}, // reserved2
|
||||
},
|
||||
{
|
||||
// regHeader
|
||||
1, // num_slices
|
||||
1, // num_subslices_per_slice
|
||||
8, // num_eus_per_subslice
|
||||
7, // num_threads_per_eu
|
||||
0, // state_area_offset
|
||||
6144, // state_save_size
|
||||
0, // slm_area_offset
|
||||
0, // slm_bank_size
|
||||
0, // slm_bank_valid
|
||||
4740, // sr_magic_offset
|
||||
{0, grfNum, 256, 32}, // grf
|
||||
{4096, 1, 256, 32}, // addr
|
||||
{4128, 2, 32, 4}, // flag
|
||||
{4156, 1, 32, 4}, // emask
|
||||
{4160, 2, 128, 16}, // sr
|
||||
{4192, 1, 128, 16}, // cr
|
||||
{4256, 1, 96, 12}, // notification
|
||||
{4288, 1, 128, 16}, // tdr
|
||||
{4320, 10, 256, 32}, // acc
|
||||
{4320, mmeNum, 256, 32}, // mme
|
||||
{4672, 1, 32, 4}, // ce
|
||||
{4704, 1, 128, 16}, // sp
|
||||
{4768, 1, 128 * 8, 128}, // cmd
|
||||
{4640, 1, 128, 16}, // tm
|
||||
{0, 1, 32, 4}, // fc
|
||||
{4736, 1, 32, 4}, // dbg
|
||||
{4744, 1, 64, 8}, // ctx
|
||||
{4752, 1, 64, 8}, // dbg_reg
|
||||
},
|
||||
SIP::intelgt_state_save_area regHeaderV2 = {
|
||||
// regHeader
|
||||
1, // num_slices
|
||||
1, // num_subslices_per_slice
|
||||
8, // num_eus_per_subslice
|
||||
7, // num_threads_per_eu
|
||||
0, // state_area_offset
|
||||
6144, // state_save_size
|
||||
0, // slm_area_offset
|
||||
0, // slm_bank_size
|
||||
0, // slm_bank_valid
|
||||
4740, // sr_magic_offset
|
||||
{0, grfNum, 256, 32}, // grf
|
||||
{4096, 1, 256, 32}, // addr
|
||||
{4128, 2, 32, 4}, // flag
|
||||
{4156, 1, 32, 4}, // emask
|
||||
{4160, 2, 128, 16}, // sr
|
||||
{4192, 1, 128, 16}, // cr
|
||||
{4256, 1, 96, 12}, // notification
|
||||
{4288, 1, 128, 16}, // tdr
|
||||
{4320, 10, 256, 32}, // acc
|
||||
{4320, mmeNum, 256, 32}, // mme
|
||||
{4672, 1, 32, 4}, // ce
|
||||
{4704, 1, 128, 16}, // sp
|
||||
{4768, 1, 128 * 8, 128}, // cmd
|
||||
{4640, 1, 128, 16}, // tm
|
||||
{0, 1, 32, 4}, // fc
|
||||
{4736, 1, 32, 4}, // dbg
|
||||
{4744, 1, 64, 8}, // ctx
|
||||
{4752, 1, 64, 8}, // dbg_reg
|
||||
};
|
||||
NEO::StateSaveAreaHeader stateSaveAreaHeader2 = {};
|
||||
stateSaveAreaHeader2.versionHeader = versionHeaderV2;
|
||||
stateSaveAreaHeader2.regHeader = regHeaderV2;
|
||||
|
||||
SIP::StateSaveArea versionHeader = {
|
||||
SIP::StateSaveArea versionHeaderV3 = {
|
||||
// versionHeader
|
||||
"tssarea", // magic
|
||||
0, // reserved1
|
||||
@@ -180,7 +174,7 @@ std::vector<char> createStateSaveAreaHeader(uint32_t version, uint16_t grfNum, u
|
||||
{4768, 1, 64, 8}, // msg
|
||||
};
|
||||
NEO::StateSaveAreaHeader stateSaveAreaHeader3 = {};
|
||||
stateSaveAreaHeader3.versionHeader = versionHeader;
|
||||
stateSaveAreaHeader3.versionHeader = versionHeaderV3;
|
||||
stateSaveAreaHeader3.regHeaderV3 = regHeaderV3;
|
||||
|
||||
NEO::StateSaveAreaHeader stateSaveAreaHeader4 = {
|
||||
@@ -223,6 +217,14 @@ std::vector<char> createStateSaveAreaHeader(uint32_t version, uint16_t grfNum, u
|
||||
|
||||
return std::vector<char>(begin, begin + sizeOfHeader);
|
||||
}
|
||||
|
||||
std::vector<char> createStateSaveAreaHeader(uint32_t version) {
|
||||
return createStateSaveAreaHeader(version, 128);
|
||||
}
|
||||
|
||||
std::vector<char> createStateSaveAreaHeader(uint32_t version, uint16_t grfNum) {
|
||||
return createStateSaveAreaHeader(version, grfNum, 1);
|
||||
}
|
||||
} // namespace MockSipData
|
||||
|
||||
bool SipKernel::initSipKernel(SipKernelType type, Device &device) {
|
||||
|
||||
Reference in New Issue
Block a user