1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
/*
* Copyright (C) 2019-2025 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#include "shared/source/gmm_helper/client_context/gmm_client_context.h"
#include "shared/source/gmm_helper/page_table_mngr.h"
namespace NEO {
GmmPageTableMngr::GmmPageTableMngr(GmmClientContext *gmmClientContext, unsigned int translationTableFlags, GMM_TRANSLATIONTABLE_CALLBACKS *translationTableCb, void *aubCsrHandle) {
auto clientContext = gmmClientContext->getHandle();
auto deleter = [=](GMM_PAGETABLE_MGR *pageTableManager) {
clientContext->DestroyPageTblMgrObject(pageTableManager);
};
pageTableManager = {clientContext->CreatePageTblMgrObject(translationTableCb, translationTableFlags), deleter};
if (aubCsrHandle) {
pageTableManager->GmmSetCsrHandle(aubCsrHandle);
}
}
} // namespace NEO
|