All of lore.kernel.org
 help / color / mirror / Atom feed
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wei.liu2@citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Ian Jackson <ian.jackson@eu.citrix.com>, Tim Deegan <tim@xen.org>,
	Julien Grall <julien.grall@arm.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH 02/12] xen: use a structure to define parsing parameters
Date: Tue, 18 Sep 2018 08:02:59 +0200	[thread overview]
Message-ID: <20180918060309.7186-3-jgross@suse.com> (raw)
In-Reply-To: <20180918060309.7186-1-jgross@suse.com>

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@suse.com>
---
 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@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

  parent reply	other threads:[~2018-09-18  6:06 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-18  6:02 [PATCH 00/12] add per-domain and per-cpupool generic parameters Juergen Gross
2018-09-18  6:02 ` [PATCH 01/12] xen: use macros for filling parameter definition blocks Juergen Gross
2018-09-26 15:32   ` Dario Faggioli
2018-10-04 15:37   ` Jan Beulich
2018-09-18  6:02 ` Juergen Gross [this message]
2018-09-26 15:17   ` [PATCH 02/12] xen: use a structure to define parsing parameters Dario Faggioli
2018-10-04 15:40   ` Jan Beulich
2018-09-18  6:03 ` [PATCH 03/12] xen: add support for parameter scopes Juergen Gross
2018-09-18  6:03 ` [PATCH 04/12] xen: add a generic flags field to parameter definitions Juergen Gross
2018-09-18  6:03 ` [PATCH 05/12] xen: add hypercall interfaces for domain and cpupool parameter setting Juergen Gross
2018-09-18 21:23   ` Daniel De Graaf
2018-09-19  5:14     ` Juergen Gross
2018-09-26 17:06   ` Dario Faggioli
2018-09-18  6:03 ` [PATCH 06/12] xen: add domain specific parameter support Juergen Gross
2018-09-18  6:03 ` [PATCH 07/12] " Juergen Gross
2018-09-26 16:58   ` Dario Faggioli
2018-09-18  6:03 ` [PATCH 08/12] tools/libxc: add per domain/cpupool " Juergen Gross
2018-09-18  6:03 ` [PATCH 09/12] tools/xl: add support for setting generic per-cpupool parameters Juergen Gross
2018-09-26 17:17   ` Dario Faggioli
2018-09-27  5:14     ` Juergen Gross
2018-09-18  6:03 ` [PATCH 10/12] tools/xl: add support for setting generic per-domain parameters Juergen Gross
2018-09-18  6:03 ` [PATCH 11/12] x86: add domain type flags for domain parameters Juergen Gross
2018-09-18  6:03 ` [PATCH 12/12] x86/xpti: add per-domain parameter for controlling xpti Juergen Gross
2018-09-18 10:32 ` [PATCH 00/12] add per-domain and per-cpupool generic parameters Jan Beulich
2018-09-18 11:10   ` Juergen Gross
     [not found]     ` <5?==?UTF-8?Q?BA0DF9602000078001=3d=3fUTF-8=3fQ=3fE9448@suse.com>
     [not found]       ` <6d56ad90-782?==?UTF-8?Q?5-adb7-f4e5-6c3ceb3210f6@suse.com>
     [not found]         ` <001ab73a-078d-4ec1-4acd-2fb43?==?UTF-8?Q?89e8867@citrix.com>
2018-09-18 11:18     ` George Dunlap
2018-09-18 11:30       ` Juergen Gross
2018-09-18 11:20     ` Jan Beulich
     [not found]     ` <5?= =?UTF-8?Q?BA0DF9602000078001=3d=3fUTF-8=3fQ=3fE9448@suse.com>
     [not found]       ` <6d56ad90-782?= =?UTF-8?Q?5-adb7-f4e5-6c3ceb3210f6@suse.com>
     [not found]         ` <001ab73a-078d-4ec1-4acd-2fb43?= =?UTF-8?Q?89e8867@citrix.com>
     [not found]           ` <20180919172818.3aksiju4s3ipw42p@zion.uk.xens?= =?UTF-8?Q?ource.com>
2018-09-19 17:58             ` Juergen Gross
     [not found]               ` <20180920160629.j?==?UTF-8?Q?ullgb435zi7bcbr@zi=3d=3fUTF-8=3fQ=3fon.uk.xensource.com>
     [not found]                 ` <eba521d?==?UTF-8?Q?2-f6c5-5096-82c2-af5983ed2372@suse.com>
2018-09-20 16:06               ` Wei Liu
     [not found]               ` <20180920160629.j?= =?UTF-8?Q?ullgb435zi7bcbr@zi=3d=3fUTF-8=3fQ=3fon.uk.xensource.com>
     [not found]                 ` <eba521d?= =?UTF-8?Q?2-f6c5-5096-82c2-af5983ed2372@suse.com>
     [not found]                   ` <20180921085240.dqzt5pomt?= =?UTF-8?Q?nfjs665@zion.uk.xensource.com>
2018-09-27  5:58                     ` Juergen Gross
2018-10-03 10:58                       ` Wei Liu
     [not found] ` <5BA0D44602000078001E93EA@suse.com>
2018-09-18 11:02   ` Juergen Gross
2018-09-18 11:19     ` Jan Beulich
2018-09-18 11:20       ` George Dunlap
2018-09-18 11:23         ` Jan Beulich
2018-09-18 11:29           ` George Dunlap
2018-09-18 11:34             ` Juergen Gross
2018-09-18 11:52             ` Jan Beulich
2018-09-18 11:24         ` Juergen Gross
     [not found]   ` <f8bc94ca-9eee-a5a2-5c32-0c?= =?UTF-8?Q?a1ed0cbf5d@suse.com>
     [not found]     ` <5BA0DF3702000078001E9444@suse.com>
2018-09-18 11:26       ` Juergen Gross
2018-09-18 11:47         ` Jan Beulich
     [not found]   ` <f8bc94ca=ef=bf=bd9eee?= =?UTF-8?B?77+9YTVhMu+/vTVjMzLvv70wY2ExZWQwY2JmNWRAc3VzZS5jb20+IDw1QkEwREYz?= =?UTF-8?Q?702000078001E9444@prv1=ef=bf=bdmh.provo.novell.com>
     [not found]     ` <78501912-e58?= =?UTF-8?Q?6-faa9-3569-3b2fd2fef9f5@citrix.com>
     [not found]       ` <5BA0E01902000078001E9468@su?= =?UTF-8?Q?se.com>
2018-09-18 11:28         ` Juergen Gross
     [not found] <20180918060309.7186=ef=bf=bd1=ef=bf=bdjgross@suse.com?= =?UTF-8?Q?>
     [not found] ` <5BA0D44602000078001E93EA@prv1=ef=bf=bdmh.provo.novell.com>
     [not found]   ` <7c?==?UTF-8?Q?b2a460-095c-27c8-a4cf-47ef8e7850d5@suse.com>
     [not found]   ` <7c?= =?UTF-8?Q?b2a460-095c-27c8-a4cf-47ef8e7850d5@suse.com>
     [not found]     ` <5BA0DF9602000078001?= =?UTF-8?Q?E9448@suse.com>
2018-09-18 11:32       ` Juergen Gross
     [not found]         ` <001ab73a-07?==?UTF-8?Q?8d-4ec1-4acd-2fb4389e8867@citrix.com>
     [not found]           ` <20180919172818.3aksiju4s3i?==?UTF-8?Q?pw42p@zion.uk.xens=3d=3fUTF-8=3fQ=3fource.com>
     [not found]             ` <fffd7e59-e437-8ed?==?UTF-8?Q?9-b228-b537fde050cd@suse.com>
2018-09-18 13:25         ` George Dunlap
2018-09-19 17:28           ` Wei Liu
     [not found]         ` <?= =?UTF-8?Q?001ab73a-078d-4ec1-4acd-2fb4389e8867@citrix.com>
2018-09-18 13:36           ` Juergen Gross
     [not found]           ` <0a89246d-00a6-d?= =?UTF-8?Q?04a-4bce-3f0b98839d39@suse.com>
2018-09-18 13:57             ` George Dunlap
2018-09-26 15:10               ` Dario Faggioli
     [not found]             ` <d698d8c9-2582-6314-10cb-ecb9535f?= =?UTF-8?Q?62e0@citrix.com>
2018-09-18 14:57               ` Juergen Gross
2018-09-18 15:21                 ` George Dunlap
     [not found]               ` <7785b4d9724db9224ca8bed58d0f061ce1d67b71.camel@?= =?UTF-8?Q?suse.com>
2018-09-27  6:10                 ` Juergen Gross
     [not found]         ` <001ab73a-07?= =?UTF-8?Q?8d-4ec1-4acd-2fb4389e8867@citrix.com>
     [not found]           ` <20180919172818.3aksiju4s3i?= =?UTF-8?Q?pw42p@zion.uk.xens=3d=3fUTF-8=3fQ=3fource.com>
     [not found]             ` <fffd7e59-e437-8ed?= =?UTF-8?Q?9-b228-b537fde050cd@suse.com>
     [not found]               ` <20180920160629.jullgb435zi7bcbr@zi?= =?UTF-8?Q?on.uk.xensource.com>
2018-09-21  5:23                 ` Juergen Gross
2018-09-21  8:52                   ` Wei Liu
2018-09-26 17:30                     ` Dario Faggioli
2018-10-03 11:00                       ` Wei Liu
2018-10-03 11:07                         ` Juergen Gross
2018-10-03 11:27                           ` Wei Liu
     [not found] <7cb2a460-095c-27c8-a4cf-47ef8e7?=850d5@suse.com>
     [not found] <20180918060309.7186=3def=3dbf=3dbd1=3def=3dbf=3dbdjgr?= =?UTF-8?Q?oss@suse.com=3f=3d>
     [not found] <20180918060309.7186=3d3def=3d3dbf=3d3dbd1=3d3def=3d3d?= =?UTF-8?Q?bf=3d3dbdjgr=3f=3doss@suse.com=3f=3d>
     [not found] ` <5BA0D44602000078001E93EA@p?= =?UTF-8?Q?rv1=ef=bf=bdmh.provo.novell.com>
     [not found]   ` <7cb2a460-095c-27c8-a4cf-47ef8e7?= =?UTF-8?Q?850d5@suse.com>
     [not found] <7cb2a460-095c-2?==?UTF-8?Q?7c8-a4cf-47ef8e7850d5@suse.com>
     [not found] ` <5BA0DF9602000078001=3d=3fUTF-8?==?UTF-8?Q?=3fQ=3fE9448@suse.com>
     [not found] <20180918060309.7186=3d3def=3d3dbf=3d3dbd1=3d3def=3d3d?==?UTF-8?Q?bf=3d3dbdjgr=3f=3doss@suse.com=3f=3d>
     [not found] ` <5BA0D44602000078001E93EA@p?==?UTF-8?Q?rv1=ef=bf=bdmh.provo.novell.com>
     [not found]   ` <7cb2a460-095c-27c8-a4cf-47ef8e7?==?UTF-8?Q?850d5@suse.com>
     [not found] <20180918060309.7186=3def=3dbf=3dbd1=3def=3dbf=3dbdjgr?==?UTF-8?Q?oss@suse.com=3f=3d>
     [not found] <20180918060309.7186=3d3d3def=3d3d3dbf=3d3d3dbd1=3d3d3?= =?UTF-8?Q?def=3d3d3d=3f=3dbf=3d3dbdjgr=3f=3doss@suse.com=3f=3d>
     [not found] ` <5BA0D44602?= =?UTF-8?Q?000078001E93EA@prv1=ef=bf=bdmh.provo.novell.com>
     [not found]   ` <7cb2a460-095c-2?= =?UTF-8?Q?7c8-a4cf-47ef8e7850d5@suse.com>
     [not found]     ` <5BA0DF9602000078001=3d=3fUTF-8?= =?UTF-8?Q?=3fQ=3fE9448@suse.com>

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180918060309.7186-3-jgross@suse.com \
    --to=jgross@suse.com \
    --cc=George.Dunlap@eu.citrix.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=jbeulich@suse.com \
    --cc=julien.grall@arm.com \
    --cc=konrad.wilk@oracle.com \
    --cc=sstabellini@kernel.org \
    --cc=tim@xen.org \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.