|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 02/12] xen: use a structure to define parsing parameters
Instead of passing the start and end pointers of the parameter
definition array to the parsing function use a struct containing that
information. This will allow to add other parameters to control the
parsing later.
Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
---
xen/common/kernel.c | 24 +++++++++++++++++++-----
1 file changed, 19 insertions(+), 5 deletions(-)
diff --git a/xen/common/kernel.c b/xen/common/kernel.c
index 5766a0f784..a7e82453c2 100644
--- a/xen/common/kernel.c
+++ b/xen/common/kernel.c
@@ -18,6 +18,11 @@
#ifndef COMPAT
+struct parse_data {
+ const struct kernel_param *start;
+ const struct kernel_param *end;
+};
+
enum system_state system_state = SYS_STATE_early_boot;
xen_commandline_t saved_cmdline;
@@ -52,8 +57,7 @@ static int assign_integer_param(const struct kernel_param
*param, uint64_t val)
return 0;
}
-static int parse_params(const char *cmdline, const struct kernel_param *start,
- const struct kernel_param *end)
+static int parse_params(const char *cmdline, const struct parse_data *data)
{
char opt[128], *optval, *optkey, *q;
const char *p = cmdline, *key;
@@ -100,7 +104,7 @@ static int parse_params(const char *cmdline, const struct
kernel_param *start,
rc = 0;
found = false;
- for ( param = start; param < end; param++ )
+ for ( param = data->start; param < data->end; param++ )
{
int rctmp;
const char *s;
@@ -187,14 +191,24 @@ static int parse_params(const char *cmdline, const struct
kernel_param *start,
return final_rc;
}
+static const struct parse_data boot_parse_data = {
+ .start = __setup_start,
+ .end = __setup_end,
+};
+
+static const struct parse_data runtime_parse_data = {
+ .start = __param_start,
+ .end = __param_end,
+};
+
static void __init _cmdline_parse(const char *cmdline)
{
- parse_params(cmdline, __setup_start, __setup_end);
+ parse_params(cmdline, &boot_parse_data);
}
int runtime_parse(const char *line)
{
- return parse_params(line, __param_start, __param_end);
+ return parse_params(line, &runtime_parse_data);
}
/**
--
2.16.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |