mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
consolidate custom parameter parsing routines looking for boolean values
Have a single function for this, rather than doing the same in half a dozen places. Signed-off-by: Jan Beulich <jbeulich@novell.com>
This commit is contained in:
1 parent
a1650a41d7
commit
4c776a32dc
7 files changed
+41
-19
No files matched your search
@@ -240,13 +240,18 @@ int cpu_has_amd_erratum(const struct cpuinfo_x86 *cpu, int osvw, ...)
|
||||
* amd_flush_filter={on,off}. Forcibly Enable or disable the TLB flush
|
||||
* filter on AMD 64-bit processors.
|
||||
*/
|
||||
static int flush_filter_force;
|
||||
static void flush_filter(char *s)
|
||||
static int __read_mostly flush_filter_force;
|
||||
static void __init flush_filter(char *s)
|
||||
{
|
||||
if (!strcmp(s, "off"))
|
||||
switch (parse_bool(s))
|
||||
{
|
||||
case 0:
|
||||
flush_filter_force = -1;
|
||||
if (!strcmp(s, "on"))
|
||||
break;
|
||||
case 1:
|
||||
flush_filter_force = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
custom_param("amd_flush_filter", flush_filter);
|
||||
|
||||
|
||||
@@ -113,7 +113,7 @@ static void __init parse_acpi_param(char *s)
|
||||
safe_strcpy(acpi_param, s);
|
||||
|
||||
/* Interpret the parameter for use within Xen. */
|
||||
if ( !strcmp(s, "off") )
|
||||
if ( !parse_bool(s) )
|
||||
{
|
||||
disable_acpi();
|
||||
}
|
||||
|
||||
@@ -37,8 +37,7 @@ static void __init parse_mmcfg(char *s)
|
||||
if ( ss )
|
||||
*ss = '\0';
|
||||
|
||||
if ( !strcmp(s, "off") || !strcmp(s, "no") || !strcmp(s, "false") ||
|
||||
!strcmp(s, "0") || !strcmp(s, "disable") )
|
||||
if ( !parse_bool(s) )
|
||||
pci_probe &= ~PCI_PROBE_MMCONF;
|
||||
else if ( !strcmp(s, "amd_fam10") || !strcmp(s, "amd-fam10") )
|
||||
pci_probe |= PCI_CHECK_ENABLE_AMD_MMCONF;
|
||||
|
||||
+21
-5
@@ -26,7 +26,7 @@ int tainted;
|
||||
|
||||
xen_commandline_t saved_cmdline;
|
||||
|
||||
void cmdline_parse(char *cmdline)
|
||||
void __init cmdline_parse(char *cmdline)
|
||||
{
|
||||
char opt[100], *optval, *optkey, *q;
|
||||
const char *p = cmdline;
|
||||
@@ -83,10 +83,7 @@ void cmdline_parse(char *cmdline)
|
||||
break;
|
||||
case OPT_BOOL:
|
||||
case OPT_INVBOOL:
|
||||
if ( !strcmp("no", optval) ||
|
||||
!strcmp("off", optval) ||
|
||||
!strcmp("false", optval) ||
|
||||
!strcmp("0", optval) )
|
||||
if ( !parse_bool(optval) )
|
||||
bool_assert = !bool_assert;
|
||||
if ( param->type == OPT_INVBOOL )
|
||||
bool_assert = !bool_assert;
|
||||
@@ -115,6 +112,25 @@ void cmdline_parse(char *cmdline)
|
||||
}
|
||||
}
|
||||
|
||||
int __init parse_bool(const char *s)
|
||||
{
|
||||
if ( !strcmp("no", s) ||
|
||||
!strcmp("off", s) ||
|
||||
!strcmp("false", s) ||
|
||||
!strcmp("disable", s) ||
|
||||
!strcmp("0", s) )
|
||||
return 0;
|
||||
|
||||
if ( !strcmp("yes", s) ||
|
||||
!strcmp("on", s) ||
|
||||
!strcmp("true", s) ||
|
||||
!strcmp("enable", s) ||
|
||||
!strcmp("1", s) )
|
||||
return 1;
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
/**
|
||||
* print_tainted - return a string to represent the kernel taint state.
|
||||
*
|
||||
|
||||
@@ -59,8 +59,7 @@ static void __init parse_iommu_param(char *s)
|
||||
if ( ss )
|
||||
*ss = '\0';
|
||||
|
||||
if ( !strcmp(s, "off") || !strcmp(s, "no") || !strcmp(s, "false") ||
|
||||
!strcmp(s, "0") || !strcmp(s, "disable") )
|
||||
if ( !parse_bool(s) )
|
||||
iommu_enabled = 0;
|
||||
else if ( !strcmp(s, "force") || !strcmp(s, "required") )
|
||||
force_iommu = 1;
|
||||
|
||||
@@ -58,13 +58,15 @@ static void __init parse_ats_param(char *s)
|
||||
if ( ss )
|
||||
*ss = '\0';
|
||||
|
||||
if ( !strcmp(s, "off") || !strcmp(s, "no") || !strcmp(s, "false") ||
|
||||
!strcmp(s, "0") || !strcmp(s, "disable") )
|
||||
switch ( parse_bool(s) )
|
||||
{
|
||||
case 0:
|
||||
ats_enabled = 0;
|
||||
|
||||
if ( !strcmp(s, "on") || !strcmp(s, "yes") || !strcmp(s, "true") ||
|
||||
!strcmp(s, "1") || !strcmp(s, "enable") )
|
||||
break;
|
||||
case 1:
|
||||
ats_enabled = 1;
|
||||
break;
|
||||
}
|
||||
|
||||
s = ss + 1;
|
||||
} while ( ss );
|
||||
|
||||
@@ -57,6 +57,7 @@ do { \
|
||||
struct domain;
|
||||
|
||||
void cmdline_parse(char *cmdline);
|
||||
int parse_bool(const char *s);
|
||||
|
||||
/*#define DEBUG_TRACE_DUMP*/
|
||||
#ifdef DEBUG_TRACE_DUMP
|
||||
|
||||