xref: /linux/arch/x86/virt/svm/cmdline.c (revision 4ae47fa7e8f95be17d4ff9c317a1193bbb4a3998)
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