2017-12-21 07:45:38 +08:00
|
|
|
/*
|
2019-02-27 18:39:32 +08:00
|
|
|
* Copyright (C) 2017-2019 Intel Corporation
|
2018-09-18 15:11:08 +08:00
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: MIT
|
|
|
|
*
|
|
|
|
*/
|
2017-12-21 07:45:38 +08:00
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "runtime/gmm_helper/page_table_mngr.h"
|
2019-02-27 18:39:32 +08:00
|
|
|
|
2017-12-21 07:45:38 +08:00
|
|
|
#include "gmock/gmock.h"
|
|
|
|
|
2019-11-07 01:14:30 +08:00
|
|
|
#if defined(__clang__)
|
|
|
|
#pragma clang diagnostic push
|
|
|
|
#pragma clang diagnostic ignored "-Winconsistent-missing-override"
|
|
|
|
#endif
|
|
|
|
|
2019-12-23 19:09:16 +08:00
|
|
|
void dummySetCsrHandle(GMM_PAGETABLE_MGR *, HANDLE);
|
|
|
|
|
2019-03-26 18:59:46 +08:00
|
|
|
namespace NEO {
|
2017-12-21 07:45:38 +08:00
|
|
|
class MockGmmPageTableMngr : public GmmPageTableMngr {
|
|
|
|
public:
|
2019-12-23 19:09:16 +08:00
|
|
|
using GmmPageTableMngr::csrHandle;
|
|
|
|
MockGmmPageTableMngr() : MockGmmPageTableMngr(0u, nullptr){};
|
2017-12-21 07:45:38 +08:00
|
|
|
|
2019-06-19 20:04:58 +08:00
|
|
|
MockGmmPageTableMngr(unsigned int translationTableFlags, GMM_TRANSLATIONTABLE_CALLBACKS *translationTableCb)
|
2019-11-07 01:14:30 +08:00
|
|
|
: translationTableFlags(translationTableFlags) {
|
|
|
|
if (translationTableCb) {
|
|
|
|
this->translationTableCb = *translationTableCb;
|
|
|
|
}
|
2019-12-23 19:09:16 +08:00
|
|
|
gmmSetCsrHandleFunc = dummySetCsrHandle;
|
2019-11-07 01:14:30 +08:00
|
|
|
};
|
2017-12-21 07:45:38 +08:00
|
|
|
|
|
|
|
MOCK_METHOD2(initContextAuxTableRegister, GMM_STATUS(HANDLE initialBBHandle, GMM_ENGINE_TYPE engineType));
|
|
|
|
|
|
|
|
MOCK_METHOD1(updateAuxTable, GMM_STATUS(const GMM_DDI_UPDATEAUXTABLE *ddiUpdateAuxTable));
|
|
|
|
|
2019-06-19 20:04:58 +08:00
|
|
|
void setCsrHandle(void *csrHandle) override;
|
|
|
|
|
|
|
|
uint32_t setCsrHanleCalled = 0;
|
|
|
|
|
2017-12-21 07:45:38 +08:00
|
|
|
unsigned int translationTableFlags = 0;
|
2019-11-07 01:14:30 +08:00
|
|
|
GMM_TRANSLATIONTABLE_CALLBACKS translationTableCb = {};
|
2017-12-21 07:45:38 +08:00
|
|
|
};
|
|
|
|
|
2019-03-26 18:59:46 +08:00
|
|
|
} // namespace NEO
|
2019-11-07 01:14:30 +08:00
|
|
|
|
|
|
|
#if defined(__clang__)
|
|
|
|
#pragma clang diagnostic pop
|
|
|
|
#endif
|