1*4ae47fa7SPavan Kumar Paluri // SPDX-License-Identifier: GPL-2.0-only 2*4ae47fa7SPavan Kumar Paluri /* 3*4ae47fa7SPavan Kumar Paluri * AMD SVM-SEV command line parsing support 4*4ae47fa7SPavan Kumar Paluri * 5*4ae47fa7SPavan Kumar Paluri * Copyright (C) 2023 - 2024 Advanced Micro Devices, Inc. 6*4ae47fa7SPavan Kumar Paluri * 7*4ae47fa7SPavan Kumar Paluri * Author: Michael Roth <michael.roth@amd.com> 8*4ae47fa7SPavan Kumar Paluri */ 9*4ae47fa7SPavan Kumar Paluri 10*4ae47fa7SPavan Kumar Paluri #include <linux/string.h> 11*4ae47fa7SPavan Kumar Paluri #include <linux/printk.h> 12*4ae47fa7SPavan Kumar Paluri #include <linux/cache.h> 13*4ae47fa7SPavan Kumar Paluri 14*4ae47fa7SPavan Kumar Paluri #include <asm/sev-common.h> 15*4ae47fa7SPavan Kumar Paluri 16*4ae47fa7SPavan Kumar Paluri struct sev_config sev_cfg __read_mostly; 17*4ae47fa7SPavan Kumar Paluri 18*4ae47fa7SPavan Kumar Paluri static int __init init_sev_config(char *str) 19*4ae47fa7SPavan Kumar Paluri { 20*4ae47fa7SPavan Kumar Paluri char *s; 21*4ae47fa7SPavan Kumar Paluri 22*4ae47fa7SPavan Kumar Paluri while ((s = strsep(&str, ","))) { 23*4ae47fa7SPavan Kumar Paluri if (!strcmp(s, "debug")) { 24*4ae47fa7SPavan Kumar Paluri sev_cfg.debug = true; 25*4ae47fa7SPavan Kumar Paluri continue; 26*4ae47fa7SPavan Kumar Paluri } 27*4ae47fa7SPavan Kumar Paluri 28*4ae47fa7SPavan Kumar Paluri pr_info("SEV command-line option '%s' was not recognized\n", s); 29*4ae47fa7SPavan Kumar Paluri } 30*4ae47fa7SPavan Kumar Paluri 31*4ae47fa7SPavan Kumar Paluri return 1; 32*4ae47fa7SPavan Kumar Paluri } 33*4ae47fa7SPavan Kumar Paluri __setup("sev=", init_sev_config); 34