* 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.
*/
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/types.h>
#include "pbl/pbl_runenv_config.h"
#include "docker_query.h"
#include "vm_query.h"
#include "runenv_config_module.h"
int recfg_init(void);
void recfg_exit(void);
static u32 deployment_mode = DBL_DEVICE_DEPLOYMENT;
module_param(deployment_mode, uint, S_IRUSR);
u32 dbl_get_deployment_mode(void)
{
return deployment_mode;
}
EXPORT_SYMBOL(dbl_get_deployment_mode);
int dbl_get_run_env(void)
{
int mach_flag = DBL_IN_PHYSICAL_MACH;
if (run_in_normal_docker() == true) {
mach_flag = DBL_IN_NORMAL_DOCKER;
} else if (run_in_admin_docker() == true) {
mach_flag = DBL_IN_ADMIN_DOCKER;
} else if (run_in_virtual_mach() == true) {
mach_flag = DBL_IN_VIRTUAL_MACH;
}
return mach_flag;
}
EXPORT_SYMBOL(dbl_get_run_env);
int recfg_init(void)
{
#ifdef CFG_FEATURE_HOST_ENV
deployment_mode = DBL_HOST_DEPLOYMENT;
#endif
recfg_info("Module init success.\n");
return 0;
}
void recfg_exit(void)
{
recfg_info("Module exit success.\n");
}