From mboxrd@z Thu Jan 1 00:00:00 1970 From: Don Slutz Subject: [PATCH v2 1/2] cmdline_parse: Convert no- prefix into =no for OPT_CUSTOM Date: Tue, 29 Jul 2014 15:57:48 -0400 Message-ID: <1406663869-31522-2-git-send-email-dslutz@verizon.com> References: <1406663869-31522-1-git-send-email-dslutz@verizon.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1406663869-31522-1-git-send-email-dslutz@verizon.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org Cc: Keir Fraser , Ian Campbell , Andrew Cooper , Ian Jackson , Don Slutz , Tim Deegan , Jan Beulich List-Id: xen-devel@lists.xenproject.org This allows converting OPT_BOOL into OPT_CUSTOM and still do what is expected. Note: if both no- and = provided, pass provided = if not a zero length string. Also log a warning about this. Signed-off-by: Don Slutz --- xen/common/kernel.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/xen/common/kernel.c b/xen/common/kernel.c index 7e83353..9857159 100644 --- a/xen/common/kernel.c +++ b/xen/common/kernel.c @@ -135,7 +135,20 @@ void __init cmdline_parse(const char *cmdline) parse_size_and_unit(optval, NULL)); break; case OPT_CUSTOM: - ((void (*)(const char *))param->var)(optval); + if ( !bool_assert ) + { + if ( *optval ) + { + printk(XENLOG_WARNING + "Warning: ignored no- prefix for %s=%s\n", + param->name, optval); + ((void (*)(const char *))param->var)(optval); + } + else + ((void (*)(const char *))param->var)("no"); + } + else + ((void (*)(const char *))param->var)(optval); break; default: BUG(); -- 1.8.4