From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56263) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vg1FN-0003b8-8F for qemu-devel@nongnu.org; Mon, 11 Nov 2013 18:50:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vg1F9-0004I1-RX for qemu-devel@nongnu.org; Mon, 11 Nov 2013 18:50:21 -0500 Received: from mail-pd0-f180.google.com ([209.85.192.180]:50389) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vg1F9-0004FL-LG for qemu-devel@nongnu.org; Mon, 11 Nov 2013 18:50:07 -0500 Received: by mail-pd0-f180.google.com with SMTP id v10so1757746pde.25 for ; Mon, 11 Nov 2013 15:50:06 -0800 (PST) Message-ID: <52816D26.3070708@ozlabs.ru> Date: Tue, 12 Nov 2013 10:49:58 +1100 From: Alexey Kardashevskiy MIME-Version: 1.0 References: <1384155875-26999-1-git-send-email-aik@ozlabs.ru> <1384155875-26999-5-git-send-email-aik@ozlabs.ru> <5280D061.50802@suse.de> <20131111152546.4be13e10@thinkpad> In-Reply-To: <20131111152546.4be13e10@thinkpad> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PATCH v3 4/6] qemu-option: support +foo/-foo command line agruments List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Igor Mammedov , =?UTF-8?B?QW5kcmVhcyBGw6RyYmVy?= Cc: Alexander Graf , Jan Kiszka , qemu-devel@nongnu.org, Luiz Capitulino , qemu-ppc@nongnu.org, Anthony Liguori On 11/12/2013 01:25 AM, Igor Mammedov wrote: > On Mon, 11 Nov 2013 13:41:05 +0100 > Andreas Färber wrote: > >> Am 11.11.2013 08:44, schrieb Alexey Kardashevskiy: >>> This converts +foo/-foo to "foo=on"/"foo=off" respectively when >>> QEMU parser is used for the command line options. >>> >>> "-cpu" parsers in x86 and other architectures should be unaffected >>> by this change. >>> >>> Signed-off-by: Alexey Kardashevskiy >>> --- >>> util/qemu-option.c | 6 ++++++ >>> 1 file changed, 6 insertions(+) >>> >>> diff --git a/util/qemu-option.c b/util/qemu-option.c >>> index efcb5dc..6c8667c 100644 >>> --- a/util/qemu-option.c >>> +++ b/util/qemu-option.c >>> @@ -890,6 +890,12 @@ static int opts_do_parse(QemuOpts *opts, const char *params, >>> if (strncmp(option, "no", 2) == 0) { >>> memmove(option, option+2, strlen(option+2)+1); >>> pstrcpy(value, sizeof(value), "off"); >>> + } else if (strncmp(option, "-", 1) == 0) { >>> + memmove(option, option+1, strlen(option+1)+1); >>> + pstrcpy(value, sizeof(value), "off"); >>> + } else if (strncmp(option, "+", 1) == 0) { >>> + memmove(option, option+1, strlen(option+1)+1); >>> + pstrcpy(value, sizeof(value), "on"); >>> } else { >>> pstrcpy(value, sizeof(value), "on"); >>> } >> >> This looks like an interesting idea! However this is much too big a >> change to just CC ppc folks on... >> >> Jan, I wonder if this might break slirp's hostfwd option? >> >> Not sure what other options potentially starting with '-' might be >> affected. Test cases would be a helpful way of demonstrating that this >> change does not have undesired side effects. > on x86 there is several value fixups for compatibility reason and a manual > value parsing in cpu_x86_parse_featurestr(), so above won't just work there. What particular x86 CPU option cannot be handled the way as PPC's "VSX" is handled two patches below? As I see, even static properties will work there fine. -- Alexey