event: expose base virtaddr as an option
Signed-off-by: Jacek Kalwas <jacek.kalwas@intel.com> Change-Id: I062ac2b1de5a89d521bde926433139457f9168f7 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2777 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
This commit is contained in:
parent
249f95daeb
commit
0555074965
@ -140,6 +140,7 @@ struct spdk_app_opts {
|
|||||||
*/
|
*/
|
||||||
logfunc *log;
|
logfunc *log;
|
||||||
|
|
||||||
|
uint64_t base_virtaddr;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
SPDK_ROOT_DIR := $(abspath $(CURDIR)/../..)
|
SPDK_ROOT_DIR := $(abspath $(CURDIR)/../..)
|
||||||
include $(SPDK_ROOT_DIR)/mk/spdk.common.mk
|
include $(SPDK_ROOT_DIR)/mk/spdk.common.mk
|
||||||
|
|
||||||
SO_VER := 4
|
SO_VER := 5
|
||||||
SO_MINOR := 0
|
SO_MINOR := 0
|
||||||
|
|
||||||
LIBNAME = event
|
LIBNAME = event
|
||||||
|
@ -53,6 +53,7 @@
|
|||||||
#define SPDK_APP_DPDK_DEFAULT_MASTER_CORE -1
|
#define SPDK_APP_DPDK_DEFAULT_MASTER_CORE -1
|
||||||
#define SPDK_APP_DPDK_DEFAULT_MEM_CHANNEL -1
|
#define SPDK_APP_DPDK_DEFAULT_MEM_CHANNEL -1
|
||||||
#define SPDK_APP_DPDK_DEFAULT_CORE_MASK "0x1"
|
#define SPDK_APP_DPDK_DEFAULT_CORE_MASK "0x1"
|
||||||
|
#define SPDK_APP_DPDK_DEFAULT_BASE_VIRTADDR 0x200000000000
|
||||||
#define SPDK_APP_DEFAULT_CORE_LIMIT 0x140000000 /* 5 GiB */
|
#define SPDK_APP_DEFAULT_CORE_LIMIT 0x140000000 /* 5 GiB */
|
||||||
|
|
||||||
struct spdk_app {
|
struct spdk_app {
|
||||||
@ -132,6 +133,8 @@ static const struct option g_cmdline_options[] = {
|
|||||||
{"json-ignore-init-errors", no_argument, NULL, JSON_CONFIG_IGNORE_INIT_ERRORS_IDX},
|
{"json-ignore-init-errors", no_argument, NULL, JSON_CONFIG_IGNORE_INIT_ERRORS_IDX},
|
||||||
#define IOVA_MODE_OPT_IDX 264
|
#define IOVA_MODE_OPT_IDX 264
|
||||||
{"iova-mode", required_argument, NULL, IOVA_MODE_OPT_IDX},
|
{"iova-mode", required_argument, NULL, IOVA_MODE_OPT_IDX},
|
||||||
|
#define BASE_VIRTADDR_OPT_IDX 265
|
||||||
|
{"base-virtaddr", required_argument, NULL, BASE_VIRTADDR_OPT_IDX},
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Global section */
|
/* Global section */
|
||||||
@ -286,6 +289,7 @@ spdk_app_opts_init(struct spdk_app_opts *opts)
|
|||||||
opts->master_core = SPDK_APP_DPDK_DEFAULT_MASTER_CORE;
|
opts->master_core = SPDK_APP_DPDK_DEFAULT_MASTER_CORE;
|
||||||
opts->mem_channel = SPDK_APP_DPDK_DEFAULT_MEM_CHANNEL;
|
opts->mem_channel = SPDK_APP_DPDK_DEFAULT_MEM_CHANNEL;
|
||||||
opts->reactor_mask = NULL;
|
opts->reactor_mask = NULL;
|
||||||
|
opts->base_virtaddr = SPDK_APP_DPDK_DEFAULT_BASE_VIRTADDR;
|
||||||
opts->print_level = SPDK_APP_DEFAULT_LOG_PRINT_LEVEL;
|
opts->print_level = SPDK_APP_DEFAULT_LOG_PRINT_LEVEL;
|
||||||
opts->rpc_addr = SPDK_DEFAULT_RPC_ADDR;
|
opts->rpc_addr = SPDK_DEFAULT_RPC_ADDR;
|
||||||
opts->num_entries = SPDK_APP_DEFAULT_NUM_TRACE_ENTRIES;
|
opts->num_entries = SPDK_APP_DEFAULT_NUM_TRACE_ENTRIES;
|
||||||
@ -508,6 +512,7 @@ app_setup_env(struct spdk_app_opts *opts)
|
|||||||
env_opts.num_pci_addr = opts->num_pci_addr;
|
env_opts.num_pci_addr = opts->num_pci_addr;
|
||||||
env_opts.pci_blacklist = opts->pci_blacklist;
|
env_opts.pci_blacklist = opts->pci_blacklist;
|
||||||
env_opts.pci_whitelist = opts->pci_whitelist;
|
env_opts.pci_whitelist = opts->pci_whitelist;
|
||||||
|
env_opts.base_virtaddr = opts->base_virtaddr;
|
||||||
env_opts.env_context = opts->env_context;
|
env_opts.env_context = opts->env_context;
|
||||||
env_opts.iova_mode = opts->iova_mode;
|
env_opts.iova_mode = opts->iova_mode;
|
||||||
|
|
||||||
@ -765,6 +770,7 @@ usage(void (*app_usage)(void))
|
|||||||
printf(" pci addr to whitelist (-B and -W cannot be used at the same time)\n");
|
printf(" pci addr to whitelist (-B and -W cannot be used at the same time)\n");
|
||||||
printf(" --huge-dir <path> use a specific hugetlbfs mount to reserve memory from\n");
|
printf(" --huge-dir <path> use a specific hugetlbfs mount to reserve memory from\n");
|
||||||
printf(" --iova-mode <pa/va> set IOVA mode ('pa' for IOVA_PA and 'va' for IOVA_VA)\n");
|
printf(" --iova-mode <pa/va> set IOVA mode ('pa' for IOVA_PA and 'va' for IOVA_VA)\n");
|
||||||
|
printf(" --base-virtaddr <addr> the base virtual address for DPDK (default: 0x200000000000)\n");
|
||||||
printf(" --num-trace-entries <num> number of trace entries for each core, must be power of 2. (default %d)\n",
|
printf(" --num-trace-entries <num> number of trace entries for each core, must be power of 2. (default %d)\n",
|
||||||
SPDK_APP_DEFAULT_NUM_TRACE_ENTRIES);
|
SPDK_APP_DEFAULT_NUM_TRACE_ENTRIES);
|
||||||
spdk_log_usage(stdout, "-L");
|
spdk_log_usage(stdout, "-L");
|
||||||
@ -975,6 +981,15 @@ spdk_app_parse_args(int argc, char **argv, struct spdk_app_opts *opts,
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case BASE_VIRTADDR_OPT_IDX:
|
||||||
|
tmp = spdk_strtoll(optarg, 0);
|
||||||
|
if (tmp <= 0) {
|
||||||
|
SPDK_ERRLOG("Invalid base-virtaddr %s\n", optarg);
|
||||||
|
usage(app_usage);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
opts->base_virtaddr = (uint64_t)tmp;
|
||||||
|
break;
|
||||||
case HUGE_DIR_OPT_IDX:
|
case HUGE_DIR_OPT_IDX:
|
||||||
opts->hugedir = optarg;
|
opts->hugedir = optarg;
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user