Files
compute-runtime/runtime/memory_manager/address_mapper.h
Filip Hazubski 8b57d28116 clang-format: enable sorting includes
Include files are now grouped and sorted in following order:
1. Header file of the class the current file implements
2. Project files
3. Third party files
4. Standard library

Change-Id: If31af05652184169f7fee1d7ad08f1b2ed602cf0
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-02-27 11:50:07 +01:00

35 lines
569 B
C++

/*
* Copyright (C) 2017-2019 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#pragma once
#include <atomic>
#include <cstddef>
#include <vector>
namespace OCLRT {
class AddressMapper {
public:
AddressMapper();
~AddressMapper();
// maps to continuous region
uint32_t map(void *vm, size_t size);
// unmaps
void unmap(void *vm);
protected:
struct MapInfo {
void *vm;
size_t size;
uint32_t ggtt;
};
std::vector<MapInfo *> mapping;
std::atomic<uint32_t> nextPage;
};
} // namespace OCLRT