From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45065) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WMg4M-00032T-JS for qemu-devel@nongnu.org; Sun, 09 Mar 2014 11:55:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WMg4G-0000IO-Hz for qemu-devel@nongnu.org; Sun, 09 Mar 2014 11:55:18 -0400 Received: from cantor2.suse.de ([195.135.220.15]:35861 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WMg4G-0000IJ-BV for qemu-devel@nongnu.org; Sun, 09 Mar 2014 11:55:12 -0400 Message-ID: <531C8EDE.8060903@suse.de> Date: Sun, 09 Mar 2014 16:55:10 +0100 From: =?ISO-8859-1?Q?Andreas_F=E4rber?= MIME-Version: 1.0 References: <1393901749-5944-1-git-send-email-afaerber@suse.de> <1393901749-5944-2-git-send-email-afaerber@suse.de> <20140305160421.4ce44afe@nial.usersys.redhat.com> <53174B77.6020205@suse.de> <20140305175710.106c27f6@nial.usersys.redhat.com> <20140305223116.GA29225@otherpad.lan.raisama.net> In-Reply-To: <20140305223116.GA29225@otherpad.lan.raisama.net> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH qom-cpu 1/6] cpu: Introduce CPUClass::parse_features() hook List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eduardo Habkost , Igor Mammedov Cc: Alexey Kardashevskiy , qemu-devel@nongnu.org Am 05.03.2014 23:31, schrieb Eduardo Habkost: > On Wed, Mar 05, 2014 at 05:57:10PM +0100, Igor Mammedov wrote: >> On Wed, 05 Mar 2014 17:06:15 +0100 >> Andreas F=E4rber wrote: >> >>> Am 05.03.2014 16:04, schrieb Igor Mammedov: >>>> On Tue, 4 Mar 2014 03:55:44 +0100 >>>> Andreas F=E4rber wrote: >>>> >>>>> Adapt the X86CPU implementation to suit the generic hook. >>>>> This involves a cleanup of error handling to cope with NULL errp. >>>>> >>>>> Signed-off-by: Andreas F=E4rber >>>>> --- >>>>> include/qom/cpu.h | 3 +++ >>>>> target-i386/cpu.c | 36 +++++++++++++++++++++--------------- >>>>> 2 files changed, 24 insertions(+), 15 deletions(-) >>>>> >>>>> diff --git a/include/qom/cpu.h b/include/qom/cpu.h >>>>> index 64ebfa5..43d253a 100644 >>>>> --- a/include/qom/cpu.h >>>>> +++ b/include/qom/cpu.h >>>>> @@ -67,6 +67,8 @@ struct TranslationBlock; >>>>> * CPUClass: >>>>> * @class_by_name: Callback to map -cpu command line model name to= an >>>>> * instantiatable CPU type. >>>>> + * @parse_features: Callback to parse command line arguments. >>>>> + * The argument may be modified by the callback. >>>> Could you specify which argument is expected to be modified? >>> >>> Like so? "The arguments (%str) may be modified by the callback." >>> >>> Alternatively I could drop that line, given that it's not const char = *. >>> Or add a typedef for the callback and document it there using @str sy= ntax. >> I'd prefer to drop it. >> >> BTW: why is 'str' modified by callback? >=20 > Allowing it to be modified allows (for example) strtok() to be used > (like we do on the i386 code today). So I don't see a reason to forbid > it. The second user apart from strtok (which NUL-terminates tokens) is feat2prop() replacing '_' -> '-' in target-i386. Dropping: diff --git a/include/qom/cpu.h b/include/qom/cpu.h index 61134af..3703b68 100644 --- a/include/qom/cpu.h +++ b/include/qom/cpu.h @@ -69,7 +69,6 @@ struct TranslationBlock; * @class_by_name: Callback to map -cpu command line model name to an * instantiatable CPU type. * @parse_features: Callback to parse command line arguments. - * The argument may be modified by the callback. * @reset: Callback to reset the #CPUState to its initial state. * @reset_dump_flags: #CPUDumpFlags to use for reset logging. * @has_work: Callback for checking if there is work to do. Andreas --=20 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=FCrnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend=F6rffer; HRB 16746 AG N=FCrnbe= rg