* Copyright (c) Huawei Technologies Co., Ltd. 2025. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#ifndef SVM_VERSION_ADAPT_H
#define SVM_VERSION_ADAPT_H
#include "ascend_kernel_hal.h"
* 5a5a is magic
* For example, add a new version number
* #define SVM_VERSION_0002 0x5a5a0002u
* #define SVM_VERSION SVM_VERSION_0002
*/
#define SVM_VERSION_0000 0
#define SVM_VERSION_0001 0x5a5a0001u
#define SVM_VERSION_0002 0x5a5a0002u
#define SVM_VERSION_0003 0x5a5a0003u
#define SVM_VERSION SVM_VERSION_0003
struct svm_ver_adapt_msg_info {
void *msg;
u64 msg_len;
u64 out_len;
};
void devmm_page_bitmap_version_adapt(u32 *src_bitmap, u32 src_version, u32 *dst_bitmap, u32 dst_version);
void devmm_setup_dev_msg_version_adapt(void *src_msg, u32 src_version, void *dst_msg, u32 dst_version);
u64 devmm_get_setup_dev_msg_len(u32 version, u64 extend_num);
#endif