2019-06-17 21:27:33 +08:00
|
|
|
/*
|
2023-01-21 01:21:19 +08:00
|
|
|
* Copyright (C) 2019-2023 Intel Corporation
|
2019-06-17 21:27:33 +08:00
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: MIT
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
2022-06-07 17:30:54 +08:00
|
|
|
#include <stdint.h>
|
|
|
|
|
2019-06-17 21:27:33 +08:00
|
|
|
enum InternalMemoryType : uint32_t {
|
|
|
|
NOT_SPECIFIED = 0b0,
|
|
|
|
SVM = 0b1,
|
|
|
|
DEVICE_UNIFIED_MEMORY = 0b10,
|
|
|
|
HOST_UNIFIED_MEMORY = 0b100,
|
2019-06-18 13:22:38 +08:00
|
|
|
SHARED_UNIFIED_MEMORY = 0b1000
|
2019-06-17 21:27:33 +08:00
|
|
|
};
|
|
|
|
|
2023-01-21 01:21:19 +08:00
|
|
|
enum TransferType : uint32_t {
|
|
|
|
HOST_NON_USM_TO_HOST_USM = 0,
|
|
|
|
HOST_NON_USM_TO_DEVICE_USM = 1,
|
|
|
|
HOST_NON_USM_TO_HOST_NON_USM = 2,
|
|
|
|
|
|
|
|
HOST_USM_TO_HOST_USM = 3,
|
|
|
|
HOST_USM_TO_DEVICE_USM = 4,
|
|
|
|
HOST_USM_TO_HOST_NON_USM = 5,
|
|
|
|
|
|
|
|
DEVICE_USM_TO_HOST_USM = 6,
|
|
|
|
DEVICE_USM_TO_DEVICE_USM = 7,
|
|
|
|
DEVICE_USM_TO_HOST_NON_USM = 8
|
|
|
|
};
|
|
|
|
|
2019-06-17 21:27:33 +08:00
|
|
|
struct UnifiedMemoryControls {
|
|
|
|
uint32_t generateMask();
|
|
|
|
bool indirectDeviceAllocationsAllowed = false;
|
|
|
|
bool indirectHostAllocationsAllowed = false;
|
2019-06-18 13:22:38 +08:00
|
|
|
bool indirectSharedAllocationsAllowed = false;
|
2019-06-17 21:27:33 +08:00
|
|
|
};
|